summaryrefslogtreecommitdiff
path: root/util
diff options
context:
space:
mode:
Diffstat (limited to 'util')
-rw-r--r--util/autoconf/.rconf1
-rw-r--r--util/autoconf/COPYING339
-rw-r--r--util/autoconf/ChangeLog1196
-rw-r--r--util/autoconf/ChangeLog.11920
-rw-r--r--util/autoconf/INSTALL167
-rw-r--r--util/autoconf/Makefile207
-rw-r--r--util/autoconf/Makefile.in207
-rw-r--r--util/autoconf/NEWS272
-rw-r--r--util/autoconf/README38
-rw-r--r--util/autoconf/TODO102
-rw-r--r--util/autoconf/acconfig.h248
-rw-r--r--util/autoconf/acfunctions58
-rw-r--r--util/autoconf/acgeneral.m42021
-rw-r--r--util/autoconf/acheaders27
-rw-r--r--util/autoconf/acidentifiers22
-rw-r--r--util/autoconf/acmakevars11
-rw-r--r--util/autoconf/acoldnames.m479
-rw-r--r--util/autoconf/acprograms18
-rw-r--r--util/autoconf/acspecific.m41950
-rwxr-xr-xutil/autoconf/autoconf152
-rw-r--r--util/autoconf/autoconf.info152
-rw-r--r--util/autoconf/autoconf.info-11156
-rw-r--r--util/autoconf/autoconf.info-21214
-rw-r--r--util/autoconf/autoconf.info-31198
-rw-r--r--util/autoconf/autoconf.info-41123
-rw-r--r--util/autoconf/autoconf.info-5607
-rw-r--r--util/autoconf/autoconf.m427
-rwxr-xr-xutil/autoconf/autoconf.sh152
-rw-r--r--util/autoconf/autoconf.texi5125
-rwxr-xr-xutil/autoconf/autoheader250
-rw-r--r--util/autoconf/autoheader.m484
-rwxr-xr-xutil/autoconf/autoheader.sh250
-rwxr-xr-xutil/autoconf/autoreconf127
-rw-r--r--util/autoconf/autoreconf.sh149
-rwxr-xr-xutil/autoconf/autoscan393
-rw-r--r--util/autoconf/autoscan.pl394
-rwxr-xr-xutil/autoconf/autoupdate112
-rw-r--r--util/autoconf/autoupdate.sh112
-rw-r--r--util/autoconf/config.cache17
-rwxr-xr-xutil/autoconf/config.guess470
-rw-r--r--util/autoconf/config.log3
-rwxr-xr-xutil/autoconf/config.status113
-rwxr-xr-xutil/autoconf/config.sub793
-rwxr-xr-xutil/autoconf/configure736
-rw-r--r--util/autoconf/configure.in31
-rwxr-xr-xutil/autoconf/ifnames93
-rw-r--r--util/autoconf/ifnames.sh93
-rwxr-xr-xutil/autoconf/install-sh238
-rw-r--r--util/autoconf/install.texi193
-rw-r--r--util/autoconf/make-stds.texi625
-rwxr-xr-xutil/autoconf/mkinstalldirs32
-rw-r--r--util/autoconf/standards.info60
-rw-r--r--util/autoconf/standards.info-11188
-rw-r--r--util/autoconf/standards.info-21691
-rw-r--r--util/autoconf/standards.texi2409
-rw-r--r--util/autoconf/testsuite/Makefile0
-rw-r--r--util/autoconf/texinfo.tex4355
-rw-r--r--util/configure.in7
-rw-r--r--util/et/ChangeLog69
-rw-r--r--util/et/Makefile.in126
-rw-r--r--util/et/com_err.396
-rw-r--r--util/et/com_err.c133
-rw-r--r--util/et/com_err.h44
-rw-r--r--util/et/com_err.texinfo554
-rw-r--r--util/et/compile_et.179
-rw-r--r--util/et/compile_et.c350
-rwxr-xr-xutil/et/compile_et.sh11
-rw-r--r--util/et/compiler.h14
-rw-r--r--util/et/config.log3
-rwxr-xr-xutil/et/config_script25
-rwxr-xr-xutil/et/configure1200
-rw-r--r--util/et/configure.in26
-rw-r--r--util/et/error_message.c67
-rw-r--r--util/et/error_table.h30
-rw-r--r--util/et/error_table.y230
-rw-r--r--util/et/et_c.awk183
-rw-r--r--util/et/et_h.awk150
-rw-r--r--util/et/et_lex.lex.l23
-rw-r--r--util/et/et_name.c41
-rw-r--r--util/et/init_et.c44
-rw-r--r--util/et/internal.h15
-rw-r--r--util/et/mit-sipb-copyright.h19
-rw-r--r--util/et/test1.et69
-rw-r--r--util/et/test2.et9
-rw-r--r--util/et/test_et.c47
-rw-r--r--util/et/texinfo.tex2077
-rw-r--r--util/et/vfprintf.c45
-rwxr-xr-xutil/reconf18
88 files changed, 0 insertions, 40604 deletions
diff --git a/util/autoconf/.rconf b/util/autoconf/.rconf
deleted file mode 100644
index 1753f83..0000000
--- a/util/autoconf/.rconf
+++ /dev/null
@@ -1 +0,0 @@
-copy configure
diff --git a/util/autoconf/COPYING b/util/autoconf/COPYING
deleted file mode 100644
index a43ea21..0000000
--- a/util/autoconf/COPYING
+++ /dev/null
@@ -1,339 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
- 675 Mass Ave, Cambridge, MA 02139, USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users. This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it. (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.) You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
- To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have. You must make sure that they, too, receive or can get the
-source code. And you must show them these terms so they know their
-rights.
-
- We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
- Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software. If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
- Finally, any free program is threatened constantly by software
-patents. We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary. To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- GNU GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License. The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language. (Hereinafter, translation is included without limitation in
-the term "modification".) Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
- 1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
- 2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) You must cause the modified files to carry prominent notices
- stating that you changed the files and the date of any change.
-
- b) You must cause any work that you distribute or publish, that in
- whole or in part contains or is derived from the Program or any
- part thereof, to be licensed as a whole at no charge to all third
- parties under the terms of this License.
-
- c) If the modified program normally reads commands interactively
- when run, you must cause it, when started running for such
- interactive use in the most ordinary way, to print or display an
- announcement including an appropriate copyright notice and a
- notice that there is no warranty (or else, saying that you provide
- a warranty) and that users may redistribute the program under
- these conditions, and telling the user how to view a copy of this
- License. (Exception: if the Program itself is interactive but
- does not normally print such an announcement, your work based on
- the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
- a) Accompany it with the complete corresponding machine-readable
- source code, which must be distributed under the terms of Sections
- 1 and 2 above on a medium customarily used for software interchange; or,
-
- b) Accompany it with a written offer, valid for at least three
- years, to give any third party, for a charge no more than your
- cost of physically performing source distribution, a complete
- machine-readable copy of the corresponding source code, to be
- distributed under the terms of Sections 1 and 2 above on a medium
- customarily used for software interchange; or,
-
- c) Accompany it with the information you received as to the offer
- to distribute corresponding source code. (This alternative is
- allowed only for noncommercial distribution and only if you
- received the program in object code or executable form with such
- an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it. For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable. However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License. Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
- 5. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Program or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
- 6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
- 7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all. For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded. In such case, this License incorporates
-the limitation as if written in the body of this License.
-
- 9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation. If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
- 10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission. For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this. Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
- NO WARRANTY
-
- 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
- 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
- END OF TERMS AND CONDITIONS
-
- Appendix: How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
- <one line to give the program's name and a brief idea of what it does.>
- Copyright (C) 19yy <name of author>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
- Gnomovision version 69, Copyright (C) 19yy name of author
- Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the program
- `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
- <signature of Ty Coon>, 1 April 1989
- Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs. If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library. If this is what you want to do, use the GNU Library General
-Public License instead of this License.
diff --git a/util/autoconf/ChangeLog b/util/autoconf/ChangeLog
deleted file mode 100644
index 9885bdc..0000000
--- a/util/autoconf/ChangeLog
+++ /dev/null
@@ -1,1196 +0,0 @@
-Mon Dec 19 19:20:58 1994 Theodore Y. Ts'o (tytso at tsx-11)
-
- * acgeneral.m4 (AC_DEFINE_UNQUOTED): Workaround more Ultrix sh
- brain damage.
-
- * acgeneral.m4 (AC_CACHE_SAVE): Work around yet another really
- horrible Ultrix sh bug. The values of variables read in
- using the ${var='bar'} construction are displayed using
- the "set" command with the high bit set. (Someone should
- just haul off the Ultrix sh and have it shot). Fixed
- using tr.
-
-Fri Nov 4 09:08:33 1994 David J. MacKenzie <djm@duality.gnu.ai.mit.edu>
-
- * Version 2.1.
-
- * autoreconf.sh: Add -f --force option.
- From "Theodore Ts'o" <tytso@MIT.EDU>.
-
-Thu Nov 3 10:24:08 1994 David J. MacKenzie <djm@duality.gnu.ai.mit.edu>
-
- * acgeneral.m4 (AC_TRY_RUN): Reword warning.
-
- * acspecific.m4 (AC_PROG_CXX): Notify the user of the check for
- GNU C++.
- (AC_PROG_CXX, AC_PROG_CXXCPP): Use g++, not gcc, as default C++
- compiler.
- * acgeneral.m4 (AC_LANG_CPLUSPLUS): Ditto.
-
- * acgeneral.m4 (AC_INIT_PARSE_ARGS): Move ac_usage string directly
- into the here document to work around A/UX shell limitation.
-
- * acgeneral.m4 (AC_COMPILE_CHECK): Mention the MSG macros in the
- obsolete warning.
-
- * autoscan.pl (output_programs): Use AC_CHECK_LIB, not
- AC_HAVE_LIBRARY.
-
- * acgeneral.m4 (AC_CHECK_FUNC): Move prototype outside of function
- so it works with C++. From ejb@era.COM (E. Jay Berkenbilt).
-
-Fri Oct 28 11:23:30 1994 David J. MacKenzie <djm@duality.gnu.ai.mit.edu>
-
- * acspecific.m4 (AC_CHECK_HEADERS_DIRENT): Use define, not
- AC_DEFUN, so the testsuite doesn't call it with no arguments,
- leading to a syntax error in the real Bourne shell.
-
-Wed Oct 26 18:40:41 1994 David J. MacKenzie <djm@duality.gnu.ai.mit.edu>
-
- * Version 2.0.
-
-Tue Oct 25 11:04:16 1994 David J. MacKenzie <djm@duality.gnu.ai.mit.edu>
-
- * acgeneral.m4 (AC_CHECK_HEADER, AC_CHECK_HEADERS): Change -
- in file names to _.
- * acspecific.m4 (AC_CHECK_HEADER_DIRENT, AC_CHECK_HEADERS_DIRENT):
- Likewise.
-
-Mon Oct 24 11:28:20 1994 David J. MacKenzie <djm@duality.gnu.ai.mit.edu>
-
- * Makefile.in (uninstall): Remove the transformed names.
- (SCRIPTS): Rename from PROGS.
- * configure.in: Likewise.
-
-Fri Oct 21 07:14:23 1994 David J. MacKenzie <djm@duality.gnu.ai.mit.edu>
-
- * acgeneral.m4 (AC_TRY_COMPILE): New macro.
- (AC_LANG_C, AC_LANG_CPLUSPLUS): Set $ac_compile.
- (AC_TRY_LINK): Don't declare exit.
- * acspecific.m4 (AC_C_INLINE, AC_C_CONST, AC_CHECK_HEADER_DIRENT,
- AC_DECL_SYS_SIGLIST, AC_HEADER_SYS_WAIT, AC_TYPE_SIGNAL,
- AC_FUNC_GETLOADAVG, AC_HEADER_TIME, AC_STRUCT_TM,
- AC_STRUCT_TIMEZONE, AC_STRUCT_ST_BLOCKS, AC_STRUCT_ST_BLKSIZE,
- AC_STRUCT_ST_RDEV): Use AC_TRY_COMPILE instead of AC_TRY_LINK.
- (AC_AIX, AC_MINIX, AC_ISC_POSIX): Must come before AC_TRY_COMPILE.
-
- * acspecific.m4 (AC_PROG_LEX): Don't assume -ll if using lex;
- check for it. From Mark Eichin.
-
-Thu Oct 20 07:11:22 1994 David J. MacKenzie <djm@duality.gnu.ai.mit.edu>
-
- * acgeneral.m4 (AC_PARSE_ARGS): Ignore --site.
-
- * autoscan.pl: Add more blank lines to the output. Pacify perl -w.
-
-Wed Oct 19 09:14:50 1994 David J. MacKenzie (djm@churchy.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_PREREQ_COMPARE): Allow secondary and ternary
- numbers >99. From John Eaton <jwe@che.utexas.edu>.
-
-Wed Oct 19 00:06:40 1994 David J. MacKenzie <djm@duality.gnu.ai.mit.edu>
-
- * ifnames.sh: Take comments out of sed script.
-
-Tue Oct 18 00:20:04 1994 David J. MacKenzie <djm@duality.gnu.ai.mit.edu>
-
- * acgeneral.m4 (AC_INIT_NOTICE): Set ac_default_prefix.
- (AC_INIT_PARSE_ARGS, AC_SITE_LOAD, AC_OUTPUT): Use it.
- (AC_PREFIX_DEFAULT): New macro.
- From Ken Raeburn.
-
- * testsuite/autoconf.s/syntax.exp: Renamed from specific.exp.
-
- * acgeneral.m4 (AC_SITE_LOAD): Change where to look for config.site.
-
- * configure.in: Call AC_ARG_PROGRAM.
- * Makefile.in (install): Use program_transform_name.
-
- * acgeneral.m4 acspecific.m4 acoldnames.m4: Clarify copying terms.
-
- * acgeneral.m4 (AC_CANONICAL_BUILD): Default build to host, not empty.
-
- * acspecific.m4 (AC_PROG_CC): Recognize NeXT cpp as GNU C.
- From tom@basil.icce.rug.NL (Tom R.Hageman).
-
-Mon Oct 17 18:25:53 1994 David J. MacKenzie (djm@duality.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_PROG_CPP): Use assert.h (comes with gcc), not
- stdio.h (loses for new cross-compilers). From Roland McGrath.
-
-Tue Oct 11 13:22:22 1994 David J. MacKenzie (djm@duality.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_PATH_XTRA): Add X_PRE_LIBS variable and assume
- -lSM if -lICE is found. From Karl Berry.
-
-Mon Oct 3 20:12:36 1994 David J. MacKenzie (djm@duality.gnu.ai.mit.edu)
-
- * testsuite/Makefile.in (AUTOCONF, AUTOCONFFLAGS): Test
- ../autoconf, not installed autoconf.
-
-Sat Oct 1 04:43:43 1994 Paul Eggert <eggert@twinsun.com>
-
- * acspecific.m4: Catch `const' bug in NEC SVR4.0.2 mips cc.
-
- * Makefile.in (.sh, .pl, configure): Do chmod before mv.
-
- * acheaders, acspecific.m4 (AC_HEADER_SYS_WAIT): New entry.
-
- * acconfig.h (HAVE_SYS_WAIT_H): New entry.
-
-Wed Sep 28 08:59:01 1994 David MacKenzie <djm@geech.gnu.ai.mit.edu>
-
- * Makefile.in: Set datadir to $(prefix)/share.
-
-Tue Sep 27 08:00:38 1994 David MacKenzie <djm@geech.gnu.ai.mit.edu>
-
- * Makefile.in: Use implicit rules to make scripts.
- From Jim Meyering.
-
- * acconfig.h: Remove #undefs of unused symbols.
- From Paul Eggert.
- * testsuite/autoconf.s/defines.exp: New file.
- * testsuite/autoconf.s/specific.exp: Extract the list of macros to
- test from acspecific.m4 instead of hardcoding it.
- * acspecific.m4 (AC_PROG_CXXCPP): Default CXX to gcc, not c++.
-
-Mon Sep 26 12:32:46 1994 David MacKenzie <djm@churchy.gnu.ai.mit.edu>
-
- * acspecific.m4 (AC_HEADER_DIRENT): Only check for -lx if not
- using dirent.
- * autoreconf.sh: Shorten sed label for OSF/1.
- * acgeneral.m4 acspecific.m4: Change licensing terms for output.
-
-Thu Sep 22 15:36:56 1994 David MacKenzie <djm@churchy.gnu.ai.mit.edu>
-
- * autoconf.sh (tmpin): Always set.
-
-Wed Sep 21 13:12:10 1994 David MacKenzie <djm@geech.gnu.ai.mit.edu>
-
- * acgeneral.m4 (AC_INIT_PREPARE): Remove trailing slashes from
- srcdir.
-
-Mon Sep 19 17:11:39 1994 David MacKenzie <djm@geech.gnu.ai.mit.edu>
-
- * acgeneral.m4 (AC_INIT, AC_INIT_PARSE_ARGS, AC_CANONICAL_SYSTEM,
- AC_ARG_PROGRAM): Make the default for program_transform_name be
- a valid sed script, and substitute it always.
-
-Sat Sep 17 08:27:58 1994 David MacKenzie <djm@geech.gnu.ai.mit.edu>
-
- * autoheader.sh: Protect `for' loop from checking empty $syms.
-
- * ifnames.sh: Use % instead of , as sed s separator.
-
- * autoscan.pl: Update output comments.
-
-Fri Sep 16 11:20:02 1994 David MacKenzie (djm@geech.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_TYPE_GETGROUPS): Provide a cross compiling
- default. From Jim Meyering.
-
- * acgeneral.m4 (AC_INIT_PARSE_ARGS): Document
- --program-transform-name.
-
-Thu Sep 15 16:26:36 1994 David MacKenzie (djm@geech.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_INIT_NOTICE): Clarify copying notice.
- Fix up comments between sections.
-
- * acspecific.m4 (AC_PROG_LEX): Omit extra checking message.
-
- * autoreconf.sh: Give usage if non-option args are given.
- * autoconf.sh autoheader.sh: Define AC_LOCALDIR for configure.in.
-
-Thu Sep 15 11:31:13 1994 Ian Lance Taylor (ian@airs.com)
-
- * Makefile.in (check): Set AUTOCONFFLAGS from srcdir, not objdir.
-
-Thu Sep 15 09:06:40 1994 David MacKenzie (djm@churchy.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_MSG_ERROR): Say that it's an error in the message.
-
- * Makefile.in (check): Copy install-sh from srcdir if needed.
-
- * autoreconf.sh: Only regenerate autoheader-generated header file
- templates. Pass relative macrodir properly.
- * autoconf.sh autoheader.sh autoreconf.sh: Add -l --localdir option.
- Based on work by Mark Eichin.
-
- * ifnames.sh: Add -h option.
- * autoconf.sh autoheader.sh: Remove -v option.
-
- * acgeneral.m4 (AC_CHECK_TYPE): Require AC_HEADER_STDC and check
- stdlib.h if present.
-
- * acgeneral.m4 (AC_OUTPUT): Protect cache save from interruptions.
-
-Tue Sep 13 09:46:23 1994 David J. MacKenzie (djm@churchy.gnu.ai.mit.edu)
-
- * Makefile.in (install): Use srcdir. From Mark Eichin.
-
- * acgeneral.m4 (AC_OUTPUT_FILES): Automatically add
- configure_input comment to Makefiles again.
- * Makefile.in testsuite/Makefile.in: Remove configure_input ref.
-
- * acgeneral.m4 (AC_LINK_FILES, AC_OUTPUT_LINKS): Reverse the order
- of the arguments. Support relative symlinks.
-
- * acgeneral.m4 acspecific.m4: Remove some gratuitous {} in shell
- variable references.
-
- * acgeneral.m4 (AC_OUTPUT_FILES): New output variable
- configure_input replaces big kludge for adding output comment.
- * Makefile.in, testsuite/Makefile.in: Use it.
-
-Mon Sep 12 23:06:08 1994 David J. MacKenzie (djm@geech.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_INIT_PREPARE, AC_OUTPUT_SUBDIRS): Make command
- line quoting work for shell metachars besides blanks.
-
-Sun Sep 11 23:34:24 1994 David J. MacKenzie (djm@geech.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_PATH_XTRA): Link with X_EXTRA_LIBS when
- checking for -lSM.
-
- * acfunctions (memcmp): Use AC_FUNC_MEMCMP. From Paul Eggert.
-
- * acgeneral.m4 (AC_COMPILE_CHECK): Mark obsolete.
-
-Sat Sep 10 10:59:19 1994 David J. MacKenzie (djm@geech.gnu.ai.mit.edu)
-
- * Makefile.in (DISTFILES): Include install-sh, not install.sh.
-
- * autoscan.pl: Check AC_MACRODIR.
-
- * acgeneral.m4 (AC_INIT_PARSE_ARGS, AC_INIT_PREPARE,
- AC_CONFIG_SUBDIRS, AC_OUTPUT_SUBDIRS): Make quoting of command
- line options work.
- (AC_CONFIG_AUX_DIRS): Check for install-sh over install.sh.
-
- * acspecific.m4 (AC_FUNC_GETMNTENT): Only check for second lib if
- first lib isn't found. From Jim Meyering.
-
-Fri Sep 9 10:41:42 1994 David J. MacKenzie (djm@geech.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_FUNC_MEMCMP): New macro, from Jim Meyering.
- * testsuite/autoconf.s/specific.exp: Test it.
-
- * testsuite/Makefile.in (site.exp): Simplify.
-
- * acgeneral.m4 (AC_CACHE_SAVE): Use a shorter syntax for setting
- the variables. Idea from Karl Berry.
- (AC_CHECK_FUNCS, AC_CHECK_HEADERS): Take an action-if-not-found.
- From Jim Meyering.
-
- * acconfig.h: Add entries for getmntent and strftime.
- * acspecific.m4 (AC_C_CHAR_UNSIGNED): If GCC, don't run a test
- program.
-
-Thu Sep 8 10:53:53 1994 David J. MacKenzie (djm@geech.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_USG): Was passing too many args to AC_TRY_LINK.
- (AC_FUNC_STRFTIME, AC_FUNC_GETMNTENT): New macros.
- (AC_HEADER_DIRENT): Check for Xenix dir libs.
- (AC_XENIX_DIR, AC_SCO_INTL, AC_IRIX_SUN, AC_DYNIX_SEQ, AC_AIX,
- AC_ISC_POSIX, AC_MINIX): Go back to the v1 names.
- * acoldnames.m4: Delete their aliases.
- * testsuite/autoconf.s/specific.exp: Check them.
-
- * acgeneral.m4 (AC_ARG_PROGRAM): Use `;' instead of `-e' to
- separate sed arguments, to simplify Makefile usage and support
- sed arguments containing spaces.
- (AC_CANONICAL_HOST): Move check for config.sub here from
- AC_CANONICAL_SYSTEM.
-
- * autoheader.m4 (AC_CHECK_HEADERS_DIRENT): Redefine. From Paul Eggert.
- (AC_CHECK_SIZEOF): Redefine this, not the old name.
- (AC_HAVE_LIBRARY): Redefine.
-
-Wed Sep 7 09:32:31 1994 David J. MacKenzie (djm@vortex.eng.umd.edu)
-
- * testsuite/lib/common.exp: Ignore warnings about test programs.
- * testsuite/autoconf.s/specific.exp: Check AC_FUNC_CLOSEDIR_VOID.
-
- * Makefile.in (*clean): Remove the new index.
- (dist): Undo adding write perms. Screws up RCS.
- * acgeneral.m4 (AC_OUTPUT_MAKE_DEFS): Remove comments from sed
- program.
- * acoldnames.m4: Change a couple of AC_DEFUN to define.
-
-Wed Sep 7 01:27:19 1994 David J. MacKenzie (djm@geech.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_SITE_LOAD): Check whether $CONFIG_SITE is empty.
-
-Tue Sep 6 09:55:30 1994 David J. MacKenzie (djm@geech.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_ARG_PROGRAM): New macro.
- (AC_INIT_PARSE_ARGS, AC_CANONICAL_SYSTEM): Do a little setup for it.
-
- * acspecific.m4 (AC_PROG_INSTALL): Clarify comment. Remove check
- for bsdinst, since it's no better than our install.sh.
- (AC_CHECK_HEADER_DIRENT, AC_CHECK_HEADERS_DIRENT): New macros.
- (AC_HEADER_DIRENT, AC_DIR_HEADER): Use them.
- (AC_PROG_CC, AC_PROG_CXX): Check whether GCC accepts -g.
-
- * acgeneral.m4 (AC_INIT_PREPARE): Call AC_PROG_ECHO_N.
- Use define instead of AC_DEFUN for some frequently called or
- internal macros that aren't involved in ordering constraints.
-
-Mon Sep 5 17:37:36 1994 David J. MacKenzie (djm@geech.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_C_CROSS): Provide default argument to AC_TRY_RUN.
-
-Fri Sep 2 09:30:41 1994 David J. MacKenzie (djm@geech.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_TRY_CPP): Use a temp file so sh -x works.
- From Mark Nudelman.
-
- * acgeneral.m4: --norecursion -> --no-recursion.
- (AC_OUTPUT_LINKS): Reset srcdir to ac_given_srcdir.
-
- * acspecific.m4 (AC_PATH_X): Call AC_ARG_WITH(x, ...).
- (AC_PROG_INSTALL): Search for bsdinst too.
-
- * Makefile.in (dist): Make distribution files writable.
-
- * acgeneral.m4 (AC_OUTPUT): Move trap 0 commands to near the end
- of configure, to work around shell bug in failing to execute the
- trap when there are commands after AC_OUTPUT.
-
-Sat Sep 3 19:47:06 1994 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
-
- * acgeneral.m4 (AC_OUTPUT_FILES): Write CONFIG_FILES defn
- unquoted, so $1 can contain references to shell variables in configure.
-
-Thu Sep 1 15:34:15 1994 David J. MacKenzie (djm@geech.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_TRY_RUN): Always warn if no cross-compile
- default is given.
- * acspecific.m4 (AC_FUNC_MMAP, AC_FUNC_VFORK, AC_FUNC_WAIT3,
- AC_FUNC_UTIME_NULL, AC_FUNC_STRCOLL): Provide a default
- for AC_TRY_RUN.
- (AC_FUNC_CLOSEDIR_VOID): New macro, broken out of AC_HEADER_DIRENT.
-
-Thu Sep 1 00:06:38 1994 David J. MacKenzie (djm@vortex.eng.umd.edu)
-
- * acgeneral.m4 acspecific.m4: Discard all output until AC_INIT is
- called. Remove now-unnecessary dnl's between macro definitions.
- (AC_OUTPUT): Add exit 0 and optional unquoted here document to
- end of config.status.
-
-Wed Aug 31 00:11:28 1994 David J. MacKenzie (djm@vortex.eng.umd.edu)
-
- * acspecific.m4 (AC_PATH_X_DIRECT): Use AC_TRY_LINK instead of
- AC_CHECK_LIB, so we don't add the library to $LIBS or print anything.
- (AC_PATH_XTRA): Remove initial checking message.
- (AC_HEADER_STDC): In test program, default to no STDC headers if
- cross compiling.
-
-Tue Aug 30 16:16:29 1994 David J. MacKenzie (djm@vortex.eng.umd.edu)
-
- * autoreconf.sh: Add -h option.
- * autoupdate.sh: Remove -v option.
-
- * acgeneral.m4 (AC_EGREP_CPP, AC_TRY_CPP): Add parens around eval
- for old shells. From Kaveh Ghazi.
- (AC_TRY_RUN): Warn when generating configure, if called without
- a default parameter and AC_CANONICAL_SYSTEM has been called.
-
- * autoheader.sh: Don't run `for' loops on empty lists.
- From Ken Raeburn.
-
- * autoconf.sh autoheader.sh: Print the version number using grep
- like the other scripts, not using m4.
- * acgeneral.m4: Remove conditional for printing version number.
- It broke with frozen files.
-
- * autoheader.m4: New file.
- * autoheader.sh: Use it; the frozen version if possible.
- * Makefile.in (install): Install a frozen autoheader.m4f if possible.
- * autoconf.m4: Don't sinclude acsite.m4 here.
- * acgeneral.m4 (AC_INIT): Include it here.
-
-Tue Aug 30 14:02:07 1994 David J. MacKenzie (djm@mole.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_CHECK_LIB): Use AC_DEFINE_UNQUOTED.
- From Jim Meyering.
-
- * acgeneral.m4: Revise diversions, to topologically order
- macros called via AC_REQUIRE.
- (AC_DIVERT_PUSH, AC_DIVERT_POP): New macros.
- (AC_INIT, AC_ARG_ENABLE, AC_ARG_WITH, AC_SUBST, AC_SUBST_FILE,
- AC_REQUIRE): Use them.
- From Franc,ois Pinard (bless his soul!).
- (AC_PRO, AC_EPI): New macros.
- (AC_DEFUN): Use them.
- (AC_INIT): sinclude aclocal.m4 herea.
- * autoconf.m4: Not here.
-
- * autoconf.sh: Use a freeze file if available and m4 can do it.
- * Makefile.in (install): Install a freeze file if m4 supports it.
-
-Mon Aug 29 16:18:22 1994 David J. MacKenzie (djm@geech.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_TRY_CPP): Remove subshell and move quotes.
-
-Sun Aug 28 17:37:26 1994 David J. MacKenzie (djm@bennett.eng.umd.edu)
-
- * acspecific.m4 (AC_C_CHAR_UNSIGNED, AC_C_LONG_DOUBLE,
- AC_C_INLINE): Don't AC_REQUIRE AC_PROG_CC.
-
- * acspecific.m4 (AC_RSH, AC_ARG_ARRAY, AC_HAVE_POUNDBANG): Define
- to print error messages.
-
- * acgeneral.m4 (AC_OUTPUT_LINKS): Insert ac_links and ac_files
- into config.status using an *un*quoted here document.
- From Ken Raeburn.
-
-Sat Aug 27 13:31:58 1994 David J. MacKenzie (djm@geech.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_OUTPUT_HEADER): Remove comments from within sed
- script. From Kaveh Ghazi <ghazi@wilhelm.rutgers.edu>.
-
-Fri Aug 26 17:03:18 1994 David J. MacKenzie (djm@geech.gnu.ai.mit.edu)
-
- * autoconf.sh, acgeneral.m4: __LINE__ -> __oline__.
-
- * acgeneral.m4 (AC_TRY_CPP, AC_EGREP_CPP): Append any error output
- to config.log.
- (AC_EGREP_CPP): Don't use a temp file.
-
- * acspecific.m4 (AC_FUNC_ALLOCA): Require CPP.
-
- * acgeneral.m4 (AC_INIT_PREPARE): Replace AC_SUBST_DEFAULT calls
- with AC_SUBST.
- (AC_SUBST_DEFAULT): Macro removed.
- * acspecific.m4 (AC_PROG_CC, AC_PROG_CXX): If CFLAGS or CXXFLAGS
- was not set already, give it a default value according to whether
- we have gcc.
-
- * acspecific.m4 (AC_PATH_XTRA): Use AC_CHECK_LIB, not AC_HAVE_LIBRARY.
-
-Fri Aug 26 00:34:11 1994 David J. MacKenzie (djm@vortex.eng.umd.edu)
-
- * acconfig.h (HAVE_UNION_WAIT): Entry removed; it wasn't defined
- anywhere.
-
- * acgeneral.m4 (AC_OUTPUT_HEADER): rm files before mv onto them.
- (AC_OUTPUT): Remove explicit exit at end of configure, to allow
- code after AC_OUTPUT (needed for Emacs).
-
- * acgeneral.m4 (AC_CANONICAL_SYSTEM): Move setting of alias vars
- into submacros.
-
- * acspecific.m4 (AC_PROG_CPP): If $CPP is set and is a directory,
- ignore it.
-
-Thu Aug 25 09:26:36 1994 David J. MacKenzie (djm@vortex.eng.umd.edu)
-
- * acspecific.m4 (AC_SYS_INTERPRETER): Move hash mark out of macro
- call.
- (AC_FUNC_MMAP): If C++, put malloc decls in extern "C".
-
- * acgeneral.m4 (AC_INIT_PARSE_ARGS): Untabify help message
- and indent options.
-
- * Makefile.in (DISTFILES): Remove ChangeLog.0.
-
- * acgeneral.m4 (AC_CHECK_LIB): Do uppercasing of library name at
- runtime.
- (AC_HAVE_LIBRARY): Retain old behavior.
-
- * acspecific.m4 (AC_FUNC_VFORK): If C++, use a prototype for the
- function in the test program.
- (AC_C_ARG_ARRAY): Macro deleted.
- * acoldnames.m4, acconfig.h, testsuite/autoconf.s/specific.exp:
- Remove references to it.
-
- * autoupdate.sh: Make sure $infile can be read, and $tmpout has
- the same permissions. Make sure $infile can be written. From
- Paul Eggert.
-
- * acgeneral.m4 (AC_INIT*): Remove now-incorrect AC_BEFORE calls.
- (AC_CHECK_FUNC): If C++, use extern "C".
- (AC_TRY_LINK, AC_TRY_RUN): If C++, declare exit.
-
- * acspecific.m4 (AC_PATH_XTRA): Check for more libraries.
- From Karl Berry.
-
- * acgeneral.m4 (AC_INIT_PREPARE): Substitute CPPFLAGS.
- (AC_LANG_C, AC_LANG_CPLUSPLUS): Include CPPFLAGS in the commands.
-
- * acgeneral.m4 (AC_OUTPUT_FILES): Move protection for right side
- of sed substitution here from AC_MAKE_DEFS, so it applies to all
- AC_SUBST'd variables.
-
- * Makefile.in (install): Use for loops. From Jim Meyering.
-
- * acgeneral.m4: Revise diversions to rely on implicit flushing at
- the end of the m4 run. Idea from Franc,ois Pinard.
- (AC_INIT_PREPARE, AC_ARG_ENABLE, AC_ARG_WITH, AC_PREFIX_PROGRAM):
- Write to the appropriate diversions.
- (AC_ENABLE, AC_WITH): Supply default help string.
- (AC_ENABLE_INTERNAL, AC_WITH_INTERNAL, AC_PREFIX_INTERNAL):
- Macros removed.
- (AC_CONFIG_SUBDIRS): Set `subdirs' here instead of in
- AC_INIT_PREPARE.
- (AC_PREFIX): Macro removed.
- * acoldnames.m4 (AC_PREFIX): Make it an alias for AC_PREFIX_PROGRAM.
-
- * acoldnames.m4: We don't officially support calling
- the subroutines of AC_INIT directly, or replacing them, so don't
- document it.
-
-Wed Aug 24 00:19:05 1994 David J. MacKenzie (djm@vortex.eng.umd.edu)
-
- * acgeneral.m4 (AC_EGREP_CPP, AC_TRY_LINK, AC_TRY_RUN,
- AC_TRY_CPP): Add #line directives.
- * autoconf.sh: Make the #line directives accurate.
- From Franc,ois Pinard.
-
- * acgeneral.m4 (AC_OUTPUT): Set ac_given_INSTALL from INSTALL.
- (AC_SUBST_FILE): Replace with what was AC_INSERT_FILE.
- (AC_SUBST_DEFAULT): New macro.
- (AC_INIT_BINSH): Renamed from AC_BINSH.
- (AC_INIT_PREPARE): Call AC_SUBST_DEFAULT for CFLAGS, CXXFLAGS, and
- LDFLAGS.
-
- * acspecific.m4 (AC_HEADER_MAJOR): Don't nest caching tests.
-
- * Makefile.in (clean): Remove the new index files.
-
- * configure.in: Check for gm4 before gnum4.
-
- * acspecific.m4 (AC_PROG_RSH): Macro removed.
-
- * Makefile.in (install): Install autoconf.m4.
-
- * acspecific.m4 (AC_SYS_INTERPRETER): New name and calling
- convention for AC_HAVE_POUNDBANG.
- (AC_OS_XENIX): Check ac_header_dir instead of DEFS.
-
- * testsuite/autoconf.s/specific.exp: Add AC_HEADER_DIRENT.
- Remove AC_SYS_REMOTE_TAPE. Replace AC_HAVE_POUNDBANG with
- AC_SYS_INTERPRETER.
-
- * acspecific.m4 (AC_INT_16_BITS, AC_LONG_64_BITS): Reword messages.
-
- * acgeneral.m4 (AC_CHECK_LIB): Use our standard alternate m4 quote
- characters << and >> instead of /.
-
- * acspecific.m4 (AC_C_CONST, AC_TYPE_GETGROUPS,
- AC_PROG_GCC_TRADITIONAL): Don't put the test program in a
- temporary variable.
-
- * acgeneral.m4 (AC_CHECK_HEADERS, AC_CHECK_FUNCS): Use
- AC_DEFINE_UNQUOTED.
- * autoheader.sh (AC_DEFINE_UNQUOTED): Define.
-
-Tue Aug 23 00:03:06 1994 David J. MacKenzie (djm@vortex.eng.umd.edu)
-
- * acgeneral.m4: Improve comments on some macros.
- Fix improperly quoted undefine calls.
- (AC_QUOTE_DQUOTE, AC_QUOTE_SQUOTE, AC_QUOTE_HERE, AC_QUOTE_SED,
- AC_QUOTE_TOKEN, AC_DEFINE_QUOTE, AC_DEFINE_SEDQUOTE,
- AC_QUOTE_IDENTITY): Macros removed.
- (AC_DEFINE, AC_DEFINE_UNQUOTED): Only write the (correct) value to
- confdefs.h.
- (AC_OUTPUT_MAKE_DEFS): New macro.
- (AC_OUTPUT): Call it. Move AC_SUBST calls to AC_INIT_PREPARE.
- (AC_OUTPUT_FILES): Put most variable substitutions in a here document
- instead of a string, to avoid unwanted changes to the values.
- (AC_OUTPUT_HEADER): Generate the sed script to transform
- config.h.in from conftest.h. Only split up the sed script in
- configure, not also in config.status.
-
- * acspecific.m4 (AC_PROG_ECHO_N): Work around some greps lacking -e.
-
- * acspecific.m4 (AC_PATH_X, AC_PATH_X_XMKMF, AC_PATH_X_DIRECT,
- AC_PATH_XTRA): Fix cache use and message printing.
-
- * acgeneral.m4 (AC_SITE_LOAD): Check env var CONFIG_SITE first.
- (AC_OUTPUT_HEADER): New macro broken out of AC_OUTPUT.
-
- * acgeneral.m4, acspecific.m4 (AC_FD_MSG, AC_FD_CC): New
- symbolic constants.
-
- * acgeneral.m4, acoldnames.m4 (AC_INIT_PARSE_ARGS): Renamed from
- AC_INIT_PARSEARGS.
-
- * autoupdate.sh: Use $SIMPLE_BACKUP_SUFFIX, if set.
-
- * autoheader.sh (AC_CHECK_LIB): Reflect the added arg.
-
- * autoconf.m4: New file.
- * Makefile.in (DISTFILES): Add it.
- * autoconf.sh, autoheader.sh, Makefile.in: Use it.
-
- * acspecific.m4 (AC_SYS_REMOTE_TAPE): Macro removed.
-
- * acfunctions, acheaders, acidentifiers, acmakevars, acprograms,
- autoscan.pl: Use new macro names.
-
- * acgeneral.m4 (AC_MSG_ERROR): Enclose within {} so it acts like a
- single statement. From mjshield@nyx.cs.du.edu (Michael Shields).
- (AC_CHECK_FUNCS, AC_CHECK_HEADERS): Only compute the uppercase
- name if we're going to define that symbol.
- (global): Remove AC_DIVERSION_VAR.
- (AC_OUTPUT): Adjust quoting and substitutions to replace most
- variable values directly in the sed script. Handle srcdir,
- top_srcdir, and INSTALL specially.
- Add .cpp and .hpp to c-ish suffixes list.
-
- * configure.in: Use the new macro names.
-
- * ChangeLog.0: New file, broken out of ChangeLog.1.
- * Makefile.in (DISTFILES): Add it.
-
- * autoupdate.sh: Update the regexps to account for changes to
- acoldnames.m4.
-
-Mon Aug 22 23:57:18 1994 David J. MacKenzie (djm@vortex.eng.umd.edu)
-
- * testsuite/autoconf.s/specific.exp: Use new macro names.
-
-Fri Aug 12 10:15:51 1994 David J. MacKenzie (djm@vortex.eng.umd.edu)
-
- * acspecific.m4 (AC_HEADER_DIRENT, AC_DIR_HEADER): Use one cache
- variable for each header file, not one for all of them.
-
- * acgeneral.m4 (AC_CACHE_SAVE): Print a message noting when cache
- is unwritable.
- (AC_CHECK_FUNCS, AC_CHECK_HEADERS): Take an optional arg to
- execute on a match.
-
- * acspecific (AC_OS_AIX, AC_OS_MINIX, AC_OS_ISC): Don't need to be
- called before AC_TRY_CPP, since that doesn't use CFLAGS.
-
- * acgeneral.m4 (AC_CHECK_PROG, AC_PATH_PROG): Print a result
- whether or not we found the program.
- (AC_CHECKING): Not obsolete.
- (AC_WITH, AC_ENABLE, AC_INIT_PREPARE): Merge the --enable and
- --with diversions.
-
- * acgeneral.m4 (AC_DEFUN): New macro.
- Use it globally to define macros that are used as functions,
- as opposed to macros that are used as variables. Remove calls to
- AC_PROVIDE.
-
-Thu Aug 11 08:25:08 1994 David J. MacKenzie (djm@vortex.eng.umd.edu)
-
- * acspecific.m4 (AC_OS_XENIX): Fix assignments. From Franc,ois
- Pinard.
- (AC_SYS_REMOTE_TAPE): Fix typo.
-
-Wed Aug 10 09:30:11 1994 David J. MacKenzie (djm@vortex.eng.umd.edu)
-
- * acspecific.m4 (AC_C_CHAR_UNSIGNED): Don't lie about the result
- if gcc, just ignore it.
-
- * acgeneral.m4 (AC_CHECK_LIB): Add a function argument.
- * acgeneral.m4 (AC_HAVE_LIBRARY): Make it a wrapper around
- AC_CHECK_LIB.
- * acoldnames.m4: Remove its alias.
- * acspecific.m4: Add argument to callers.
-
- * acspecific.m4 (AC_PROG_ECHO_N): Move from acgeneral.m4 AC_MSG_ECHO_N.
- * acgeneral.m4: Callers changed.
-
- * acgeneral.m4 (AC_CACHE_LOAD, AC_CACHE_SAVE, AC_SITE_LOAD,
- AC_MSG_CHECKING): Aesthetic changes to messages, suggested by
- Franc,ois Pinard.
-
- * acspecific.m4 acgeneral.m4 acoldnames.m4: Rename
- AC_TRY_CROSS to AC_C_CROSS.
-
- * acgeneral.m4 (AC_INIT_PARSEARGS): Don't mention --verbose in
- help message.
- (AC_INIT_PREPARE): Use file descriptor 5 for config.log, and 6 for
- nothing. --verbose no longer does anything.
- (AC_MSG_ECHO_N): New macro.
- (AC_MSG_CHECKING, AC_MSG_RESULT, AC_CACHE_VAL): Require it and use
- the shell variables it sets.
- (AC_MSG_RESULT, AC_VERBOSE): Print unless --silent/--quiet is given,
- not only when --verbose is given.
- (AC_DEFINE): Don't echo anything.
- (AC_CACHE_VAL): Use a custom echo instead of AC_MSG_RESULT.
- * acgeneral.m4 (AC_CHECKING, AC_VERBOSE): Put back real versions,
- marked obsolete.
- * acoldnames.m4: Delete their aliases.
- * acgeneral.m4, acspecific.m4 (many macros): Make sure each call
- to AC_MSG_CHECKING has exactly one matching AC_MSG_RESULT, and
- make the result messages make sense with the checking messages.
-
- * acgeneral.m4 (AC_OUTPUT_SUBDIRS): Use echo, not AC_MSG_RESULT,
- to print recursion notice.
-
-Tue Aug 9 00:17:28 1994 David J. MacKenzie (djm@vortex.eng.umd.edu)
-
- * acgeneral.m4 (AC_OUTPUT): Add comment mentioning config.log.
-
- * ChangeLog.1: File split out of ChangeLog.
- * Makefile.in (DISTFILES): Add it.
-
- * acgeneral.m4 (AC_OUTPUT, AC_OUTPUT_HEADER), autoheader.sh:
- Support optional input-file specification in output-file names.
- * autoheader.sh: Support top and bottom comments for config.h.in
- in acconfig.h.
-
- * acgeneral.m4, README: Say more about requiring GNU m4.
-
- * autoheader.sh: In the list of symbols to get template entries
- for, start each symbol with a blank.
-
- * autoupdate.sh: Add sed substitutions for replacing macro
- calls without parameters.
-
- * acgeneral.m4 (AC_CACHE_VAL): Omit the cache var name from the
- result message.
-
- * acspecific.m4 (AC_DIR_HEADER): Define to be similar to
- AC_HEADER_DIRENT, but only define the old cpp macros.
- (AC_HEADER_DIRENT): Only define the new ones.
- * acoldnames.m4: Don't say that those two macros are synonyms.
- * acconfig.h: Add the new cpp macros. Add <> to some comments.
-
- * acgeneral.m4 (AC_OUTPUT): Don't mess with $INSTALL if it starts
- with a $, due to user intervention.
-
- * Makefile.in, testsuite/Makefile.in: Fix *clean targets.
-
- * acgeneral.m4 (AC_CACHE_SAVE, AC_CACHE_LOAD, AC_SITE_LOAD):
- Use echo instead of AC_MSG_RESULT.
- (AC_INIT_PARSEARGS): Group options by topic in help message. Idea
- from Franc,ois Pinard.
-
- * TODO: New file.
-
-Mon Aug 8 23:04:01 1994 David J. MacKenzie (djm@vortex.eng.umd.edu)
-
- * acgeneral.m4 (AC_OUTPUT): Tighten up srcdir handling code slightly.
- Add one or more ../ to $INSTALL when it's a relative path and
- creating a file in a subdirectory.
-
-Tue Aug 2 19:54:26 1994 David J. MacKenzie (djm@vortex.eng.umd.edu)
-
- * autoheader.sh: Read acoldnames.m4. Redefine the new macro names.
- Only define HAVE_LIBFOO where AC_CHECK_LIB is called with only one
- argument.
-
-Sat Jul 30 09:53:38 1994 David J. MacKenzie (djm@vortex.eng.umd.edu)
-
- * acgeneral.m4 acspecific.m4: The Great Renaming.
- (Well, I think it's great. You may have your own opinion.)
-
- * acspecific.m4 (AC_DIR_HEADER): Define HAVE_<path>_H as well as
- the old DIRENT, SYSDIR, etc.
-
- * acgeneral.m4 acspecific.m4: Add missing spaces between arguments
- to m4 calls. From Franc,ois Pinard.
-
- * autoconf.sh: Read acoldnames.m4.
- * Makefile.in (DISTFILES, PROGS, install, clean): Add
- acoldnames.m4 and autoupdate.sh.
-
-Tue Jul 26 08:52:17 1994 David J. MacKenzie (djm@aria.eng.umd.edu)
-
- * testsuite/Makefile.in (check): Print a message noting that
- runtest is part of DejaGNU.
-
- * autoscan.pl: Remove unneeded backslash.
-
-Sun Jul 24 23:30:27 1994 David J. MacKenzie (djm@aria.eng.umd.edu)
-
- * Makefile.in (clean mostlyclean distclean realclean): Recurse
- into testsuite directory.
-
-Wed Jul 20 09:38:29 1994 David J. MacKenzie (djm@aria.eng.umd.edu)
-
- * Makefile.in (install): Add missing else and fi.
- * acspecific.m4 (GETGROUPS_T, RETSIGTYPE, STACK_DIRECTION): Use
- AC_DEFINE_UNQUOTED rather than AC_DEFINE.
- From Jim Meyering.
-
-Tue Jul 19 14:49:02 1994 David J. MacKenzie (djm@aria.eng.umd.edu)
-
- * acspecific.m4 (AC_MEMORY_H): Add more quotes.
-
- * acgeneral.m4 (AC_TEST_RUN): Check for cross_compiling = yes, not
- whether it's non-empty.
-
- * acspecific.m4 (AC_MINUS_C_MINUS_O, AC_SET_MAKE): Eval the cache var
- assignments.
- (AC_YYTEXT_POINTER): Fix typo.
-
- * testsuite/autoconf.s/specific.exp,
- testsuite/autoconf.g/sizeof_type.exp,
- testsuite/autoconf.g/init.exp: New files.
- * testsuite/lib/common.exp, testsuite/config/unix.exp: Many
- changes to make them work.
-
- * acgeneral.m4 (AC_DEFINE): Use redirection for echo, not $verbose.
-
-Sat Jul 2 22:07:18 1994 David J. MacKenzie (djm@vortex.eng.umd.edu)
-
- * acspecific.m4 (AC_REMOTE_TAPE): Substitute PROGS.
-
-Thu Jun 30 16:29:15 1994 David J. MacKenzie (djm@vortex.eng.umd.edu)
-
- * acgeneral.m4 (AC_SUBST_FILE): New version from Ken Raeburn.
-
- * ifnames: Add --help, --version, --macrodir options.
-
-Fri Jun 24 06:03:35 1994 Paul Eggert (eggert@twinsun.com)
-
- * acspecific.m4 (AC_VFORK): Improve test for the gcc-sparc vfork bug.
-
-Thu Jun 30 09:47:17 1994 David J. MacKenzie (djm@vortex.eng.umd.edu)
-
- * acgeneral.m4 (AC_OUTPUT_SUBDIRS): Pass correct --srcdir option
- to sub configures. Quote args containing spaces.
- (AC_PREPARE): Set and substitute `subdirs'. Quote args containing
- spaces.
- (AC_CANONICAL_HOST, AC_CANONICAL_TARGET, AC_CANONICAL_BUILD):
- Substitute the cpu, vendor, os variables.
-
- * acspecific.m4 (AC_PROG_INSTALL): Look for ginstall before other
- names.
-
- * acgeneral.m4 (AC_TEST_LINK): Add newlines around argument code.
- From mjshield@nyx.cs.du.edu (Michael Shields).
-
-Wed Jun 29 16:56:28 1994 David J. MacKenzie (djm@vortex.eng.umd.edu)
-
- * autoscan.pl: Add --macrodir option.
-
- * acgeneral.m4 (AC_CACHE_SAVE): Capture stderr for Ultrix sh.
-
-Tue Jun 28 18:05:00 1994 David J. MacKenzie (djm@vortex.eng.umd.edu)
-
- * Makefile.in: Make INSTALL from install.texi.
-
-Thu Jun 23 02:03:19 1994 David J. MacKenzie (djm@vortex.eng.umd.edu)
-
- * ifnames.sh: New file.
- * Makefile.in: Add it in various places.
-
-Tue Jun 14 12:58:38 1994 David J. MacKenzie (djm@bleen.eng.umd.edu)
-
- * Makefile.in (DISTFILES): Add testsuite files.
-
- * autoconf.sh: Print version number on stdout, not stderr.
- * acgeneral.m4: Ditto.
-
- * acgeneral.m4 (AC_HAVE_LIBRARY): Add OTHER-LIBRARIES arg.
- Treat empty commands args as if they weren't given.
-
-Thu Jun 9 11:39:14 1994 David J. MacKenzie (djm@bleen.eng.umd.edu)
-
- * acgeneral.m4 (AC_CHECK_TYPE): New macro.
-
- * acspecific.m4 (AC_PROG_CPP, AC_PROG_CXXCPP, AC_YYTEXT_POINTER,
- AC_LN_S, AC_RSH, AC_STDC_HEADERS, AC_MAJOR_HEADER, AC_DIR_HEADER,
- AC_STAT_MACROS_BROKEN, AC_SYS_SIGLIST_DECLARED, AC_GETGROUPS_T,
- AC_UID_T, AC_RETSIGTYPE, AC_MMAP, AC_VFORK, AC_WAIT3, AC_ALLOCA,
- AC_GETLOADAVG, AC_UTIME_NULL, AC_STRCOLL, AC_SETVBUF_REVERSED,
- AC_STRUCT_TM, AC_TIME_WITH_SYS_TIME, AC_TIMEZONE, AC_ST_BLOCKS,
- AC_ST_BLKSIZE, AC_ST_RDEV, AC_CROSS_CHECK, AC_CHAR_UNSIGNED,
- AC_LONG_DOUBLE, AC_WORDS_BIGENDIAN, AC_ARG_ARRAY, AC_INLINE,
- AC_CONST, AC_HAVE_POUNDBANG, AC_REMOTE_TAPE, AC_LONG_FILE_NAMES,
- AC_RESTARTABLE_SYSCALLS, AC_FIND_X, AC_FIND_X_XMKMF,
- AC_FIND_X_DIRECT): Cache results.
- (AC_SIZE_T, AC_PID_T, AC_OFF_T, AC_MODE_T): Use AC_CHECK_TYPE.
- (AC_DIR_HEADER_CHECK): Macro removed.
-
-Wed Jun 8 18:03:45 1994 David J. MacKenzie (djm@bleen.eng.umd.edu)
-
- * acspecific.m4 (AC_MINUS_C_MINUS_O): Cache results.
-
-Thu May 26 09:43:37 1994 David J. Mackenzie (djm@poseidon.cygnus.com)
-
- * acspecific.m4 (AC_PROG_CC, AC_PROG_CXX): Cache results.
- Eliminate temp file in gcc test.
- (AC_GCC_TRADITIONAL): Cache results.
-
-Wed May 25 14:45:44 1994 David J. Mackenzie (djm@poseidon.cygnus.com)
-
- * acspecific.m4 (AC_VPRINTF): Use AC_FUNC_CHECK.
-
- * acgeneral.m4 (AC_CONFIG_AUX_DIR): Renamed from AC_CONFIG_AUXDIR.
- (AC_SUBST_FILE): Macro deleted; didn't work, not clear it's needed.
-
- * acgeneral.m4 (AC_SITE_LOAD): New macro.
- (AC_PREPARE): Call it.
-
-Wed May 25 08:18:07 1994 David J. Mackenzie (djm@rtl.cygnus.com)
-
- * acgeneral.m4: m4exit if --version, to reduce needless delay.
-
- * acgeneral.m4 (AC_PREPARE): Redirect file descriptor 6 to
- config.log.
- (AC_LANG_C, AC_LANG_CPLUSPLUS): Send compiler messages to desc 6.
- * acspecific.m4 (AC_MINUS_C_MINUS_O): Likewise.
- * Makefile.in (distclean): Remove config.log.
-
- * acgeneral.m4 (AC_PREPARE): Add AC_BEFORE calls for AC_CONFIG_HEADER,
- AC_REVISION, AC_PREREQ, and AC_CONFIG_SUBDIRS.
- Add AC_PROVIDE calls to those macros and AC_ARG_ENABLE and AC_ARG_WITH.
-
- * acgeneral.m4 (AC_CANONICAL_SYSTEM, AC_CANONICAL_HOST,
- AC_CANONICAL_TARGET, AC_CANONICAL_BUILD): Add "ICAL" to names.
- (AC_LINK_FILES): Renamed from AC_MAKE_LINKS.
- (AC_TEST_RUN): Renamed from AC_TEST_PROGRAM, which is now an alias.
- * acspecific.m4: Change callers to use new name.
-
- * acgeneral.m4 (AC_PREFIX_INTERNAL): Renamed from AC_PREFIX.
- (AC_PREFIX): Obsolete wrapper for it.
- (AC_PREFIX_PROGRAM): Define a variable.
- (AC_PREPARE): Call AC_PREFIX_INTERNAL if that variable is set.
-
-Tue May 24 18:49:35 1994 David J. Mackenzie (djm@rtl.cygnus.com)
-
- * acspecific.m4 (AC_ALLOCA): Don't declare alloca if it's already
- defined. From Bill Sommerfeld <sommerfeld@apollo.hp.com>.
-
- * acgeneral.m4 (AC_TEST_PROGRAM): Verbosely note when using the
- cross-compiling default.
- (AC_CACHE_WRITE): Set the cache values only if not already set.
- (AC_PARSEARGS, AC_OUTPUT): Allow giving an empty prefix or exec_prefix.
-
- AC_CONFIG_AUXDIR*.
-
- * acgeneral.m4, acspecific.m4: Rename AC_CONFIG_AUX* to
- AC_CONFIG_AUXDIR*.
-
- * acgeneral.m4 (AC_OUTPUT, AC_OUTPUT_HEADER): Add an env var
- CONFIG_STATUS to allow overriding the name of config.status.
-
- * acspecific.m4 (AC_MINUS_C_MINUS_O): If $CC=cc, don't duplicate
- the check. From Jim Meyering.
-
- * acgeneral.m4 (AC_TEST_PROGRAM): Add missing newline.
- Always include 'fi' for cross-compiling if.
- From Jim Meyering.
-
- * Makefile.in (prefix, exec_prefix): Use @ substitutions.
-
- * acgeneral.m4: Make default cache file ./config.cache,
- so PATH is not used by "." command. From Jim Meyering.
-
-Thu May 19 06:05:07 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_STRUCT_TM): Fixed checking message to be less
- confusing.
-
-Wed May 18 22:11:45 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_BINSH): New macro.
- (AC_INIT, AC_REVISION): Require AC_BINSH first thing.
-
-Wed May 18 09:08:39 1994 David J. MacKenzie (djm@burnout.eng.umd.edu)
-
- * acgeneral.m4: Rename some internal macros.
- Give the diversions symbolic names.
- (AC_ARG_ENABLE, AC_ARG_WITH, AC_ENABLE_INTERNAL, AC_WITH_INTERNAL):
- New macros.
- (AC_PARSEARGS): Print --with and --enable help strings.
- (AC_ENABLE, AC_WITH): Make wrappers around _INTERNAL functions.
- Mark obsolete.
- (AC_PREPARE): Execute any saved up --with or --enable code.
-
-Tue May 17 15:18:00 1994 David J. MacKenzie (djm@bleen.eng.umd.edu)
-
- * acgeneral.m4 (AC_REVISION): Move quotes around to make it work
- again.
-
-Sat May 14 07:30:57 1994 David J. MacKenzie (djm@aria.eng.umd.edu)
-
- * acgeneral.m4, acspecific.m4: Clean up some comments.
-
-Tue May 10 09:50:12 1994 David J. MacKenzie (djm@aria.eng.umd.edu)
-
- * acspecific.m4 (AC_PROG_INSTALL): set the _path_ cache variable,
- not the _program_ one.
- * acgeneral.m4 (AC_PREFIX): Call AC_PROGRAM_PATH instead of
- duplicating it.
- (AC_PROGRAM_CHECK, AC_PROGRAM_PATH): If the user set the variable
- in the environment, cache that value.
- (AC_PREPARE, AC_CHECKING, AC_VERBOSE): Use file descriptors 4 and
- 5 for checking and results messages. Idea from metaconfig 3.0.
-
-Mon May 9 08:20:14 1994 David J. MacKenzie (djm@aria.eng.umd.edu)
-
- * acgeneral.m4 (AC_TEST_PROGRAM): If no default for
- cross-compiling is given, but we are cross-compiling, give an error.
- (AC_PROGRAM_EGREP, AC_TEST_LINK, AC_TEST_PROGRAM, AC_TEST_CPP):
- Don't add an extra blank line after the if-clause.
- (AC_REVISION): Merge AC_DOREV into this macro.
- Rename some macros:
- AC_SYSTEM_TYPE -> AC_CANON_SYSTEM
- AC_HOST_TYPE -> AC_CANON_HOST
- AC_TARGET_TYPE -> AC_CANON_TARGET
- AC_BUILD_TYPE -> AC_CANON_BUILD
- (AC_OUTPUT): Don't do Cygnus-style magic
- substitutions on prefix and exec_prefix, just initialize and
- substitute them normally.
-
-Sun May 8 01:09:42 1994 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_AIX, AC_MINIX, AC_ISC_POSIX): Don't call
- AC_BEFORE for AC_HEADER_EGREP, to avoid require loops.
- * acgeneral.m4 (AC_HEADER_EGREP): Call AC_PROGRAM_EGREP instead of
- duplicating most of it.
-
-Fri May 6 15:26:48 1994 David J. MacKenzie (djm@aria.eng.umd.edu)
-
- * acspecific.m4 (AC_YYTEXT_POINTER): Use AC_TEST_LINK, not
- AC_TEST_PROGRAM.
-
-Fri May 6 00:45:29 1994 David J. MacKenzie (djm@aria.eng.umd.edu)
-
- * acspecific.m4, acgeneral.m4: Add dnl after AC_PROVIDE,
- AC_REQUIRE, and AC_BEFORE calls.
- Use AC_CHECKING and AC_TEST_LINK instead of AC_COMPILE_CHECK.
-
- * acgeneral.m4 (AC_TEST_LINK): New macro.
- (AC_COMPILE_CHECK): Mark obsolete. Call AC_CHECKING and
- AC_TEST_LINK.
- (AC_PROGRAM_CHECK, AC_PROGRAM_PATH, AC_HAVE_LIBRARY, AC_HEADER_CHECK,
- AC_FUNC_CHECK, AC_SIZEOF_TYPE): Print "checking" messages even if
- using cached values. Use AC_TEST_LINK instead of AC_COMPILE_CHECK.
- * acspecific.m4 (AC_PROG_INSTALL): Ditto.
-
- * acgeneral.m4 (AC_PROGRAM_CHECK, AC_PROGRAM_PATH): Fix nesting in
- cache use.
-
- * acspecific.m4 (AC_PROG_INSTALL): Ditto.
-
- * acgeneral.m4 (AC_OUTPUT_CONFIG_SUBDIRS): Adjust relative cache
- file paths before passing them to sub-configures. Omit existing
- --cache-file arguments.
-
-Thu May 5 21:38:51 1994 David J. MacKenzie (djm@aria.eng.umd.edu)
-
- * acgeneral.m4 (AC_FUNC_CHECK, AC_HEADER_CHECK): Combine redundant
- code. Use AC_CACHE_VAL.
- (AC_SIZEOF_TYPE): Use AC_CACHE_VAL.
-
-Thu May 5 12:51:32 1994 David J. MacKenzie (djm@gamera.eng.umd.edu)
-
- * Makefile.in (all): Don't depend on info files.
- (install): Don't install INSTALL.
- (installcheck, install-info): New targets.
-
-Thu May 5 08:49:39 1994 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
-
- * Makefile.in (dist): chmod the dist directory, not the current
- directory. Don't depend on DISTFILES.
-
- * autoconf.sh: Go back to old way of doing NLS nuisance test.
- * autoheader.sh: Ditto.
- * acgeneral.m4: Ditto.
-
-Thu May 5 08:36:19 1994 David J. MacKenzie (djm@aria.eng.umd.edu)
-
- * acgeneral.m4: Use "yes" and "no" or "" uniformly for boolean
- variables' values. Don't assume default values.
- (AC_PROGRAM_CHECK, AC_PROGRAM_PATH): Always set the cache variable
- and use different ones.
-
- * acspecific.m4: Use "yes" and "no" or "" uniformly for boolean
- variables' values. Don't assume default values.
- (AC_STDC_HEADERS, AC_ALLOCA): Untangle nested tests.
-
-Thu May 5 07:51:38 1994 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
-
- * Makefile.in (distclean): Remove config.cache.
-
-Wed May 4 19:41:35 1994 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_HAVE_LIBRARY): Use AC_CACHE_VAL.
-
- * Makefile.in (install): Depend on all again.
- (install-info): Depend on info again.
-
-Wed May 4 15:05:11 1994 David J. MacKenzie (djm@aria.eng.umd.edu)
-
- * acspecific.m4 (AC_PROG_INSTALL): Use AC_CACHE_VAL.
- * acgeneral.m4 (AC_PROGRAM_CHECK, AC_PROGRAM_PATH): Use AC_CACHE_VAL.
- (AC_REPLACE_FUNCS): Use AC_FUNC_CHECK.
- Rearrange general tests into 4 categories:
- Checking for files - fundamental (caching)
- Checking for files - derived (caching)
- Checking for C features - fundamental (no caching)
- Checking for C features - derived (caching)
-
- * acgeneral.m4 (AC_CACHE_LOAD, AC_CACHE_SAVE, AC_CACHE_VAL):
- New macros.
- (AC_PREPARE): Call AC_CACHE_LOAD.
- (AC_OUTPUT): Call AC_CACHE_SAVE.
- (AC_PARSEARGS): Add --cache-file=FILE option.
- (AC_CONFIG_SUBDIRS): Pass --cache-file to subdirectory configures.
-
- * acgeneral.m4 (AC_OUTPUT_CONFIG_SUBDIRS): Renamed from
- AC_CONFIG_SUBDIRS.
- (AC_CONFIG_SUBDIRS): Just define AC_SUBDIR_LIST.
- (AC_OUTPUT): Call AC_OUTPUT_CONFIG_SUBDIRS if AC_SUBDIR_LIST is
- defined.
- Make config.status --recheck pass --norecursion to configure.
-
- * acspecific.m4 (AC_SETVBUF_REVERSED): Print "checking" message.
-
-Wed May 4 10:40:56 1994 David J. MacKenzie (djm@burnout.eng.umd.edu)
-
- * autoreconf.sh: Add options [--help] [--macrodir=dir] [--verbose]
- [--version].
-
- * acspecific.m4 (AC_GCC_TRADITIONAL, AC_SET_MAKE, AC_RSH,
- AC_GETLOADAVG, AC_CROSS_CHECK): Print results verbosely.
- (AC_GETLOADAVG): Namespace cleanup.
-
-Wed May 4 09:32:04 1994 David J. MacKenzie (djm@aria.eng.umd.edu)
-
- * autoheader.sh, autoconf.sh, acgeneral.m4: Make the NLS
- nuisance test actually do something.
-
-Mon May 2 16:31:33 1994 David J. MacKenzie (djm@aria.eng.umd.edu)
-
- * configure.in: Check for standards.texi.
- * Makefile.in: Put everything back into one directory.
- Don't assume standards.* exist.
-
-Sat Apr 30 09:37:06 1994 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_OUTPUT): Change >> to > in sed command.
-
-Fri Apr 29 21:56:33 1994 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
-
- * Makefile.in (all): Make autoreconf too.
-
-Fri Apr 29 21:03:48 1994 David J. MacKenzie (djm@aria.eng.umd.edu)
-
- * acgeneral.m4 (AC_OUTPUT): When doing substitutions on files, if
- the file starts with "#!", put the "automatically generated"
- comment on the second line instead of the first.
-
-Fri Apr 29 12:53:53 1994 David J. MacKenzie (djm@burnout.eng.umd.edu)
-
- * acgeneral.m4 (AC_CONFIG_AUX, AC_CONFIG_AUX_DEFAULT,
- AC_CONFIG_AUX_DIRS, AC_SYSTEM_TYPE, AC_HOST_TYPE, AC_TARGET_TYPE,
- AC_BUILD_TYPE, AC_SUBST_FILE, AC_MAKE_LINKS, AC_OUTPUT_MAKE_LINKS,
- AC_CONFIG_SUBDIRS): New macros.
-
- * acspecific.m4 (AC_PROG_INSTALL): Use install.sh from ac_aux_dir.
-
- * Makefile.in: Remove references to standards.*.
- Add autoreconf.
-
-Thu Apr 28 12:01:01 1994 David J. MacKenzie (djm@burnout.eng.umd.edu)
-
- * Makefile.in (dist): Add .., ../etc, and ../texinfo files.
-
- * acspecific.m4 (AC_LN_S): Add verbose messages.
-
- * Makefile.in, configure.in: Add autoscan and its data files.
- Check for perl.
diff --git a/util/autoconf/ChangeLog.1 b/util/autoconf/ChangeLog.1
deleted file mode 100644
index 5e2f017..0000000
--- a/util/autoconf/ChangeLog.1
+++ /dev/null
@@ -1,1920 +0,0 @@
-Thu May 12 15:55:40 1994 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
-
- * Version 1.11.
-
- * autoconf.texi: Document filename restriction on CPP.
-
-Thu May 12 10:11:20 1994 David J. MacKenzie (djm@hill.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_OUTPUT): Treat "./Makefile" like "Makefile".
- From Karl Berry.
-
-Tue May 10 00:08:19 1994 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_OUTPUT): Set prefix and exec_prefix if they
- weren't set already.
-
-Sat May 7 20:06:59 1994 Noah Friedman (friedman@kropotkin.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_PROG_INSTALL): If using install.sh, add `-c'
- to INSTALL.
-
-Sat May 7 15:36:22 1994 David J. MacKenzie (djm@aria.eng.umd.edu)
-
- * acgeneral.m4 (AC_OUTPUT): If configuring in the source tree,
- don't end top_srcdir with "/.".
- * acspecific.m4 (AC_SET_MAKE): Remove temp file.
- From John Interrante <interran@uluru.stanford.edu>.
-
-Fri May 6 15:26:48 1994 David J. MacKenzie (djm@aria.eng.umd.edu)
-
- * acgeneral.m4 (AC_SIZEOF_TYPE): Fatal error if test program fails.
-
-Fri May 6 12:52:19 1994 David J. MacKenzie (djm@gamera.eng.umd.edu)
-
- * acgeneral.m4 (AC_OUTPUT): Run "./config.status", not "config.status".
- From Kevin Gallagher <kgallagh@spd.dsccc.com>.
-
-Fri May 6 00:45:29 1994 David J. MacKenzie (djm@aria.eng.umd.edu)
-
- * acspecific.m4 (AC_WAIT3): Sleep in the parent to avoid rm
- problems on fast machines. From david d zuhn.
-
-Thu May 5 12:51:32 1994 David J. MacKenzie (djm@gamera.eng.umd.edu)
-
- * Version 1.10.
-
- * Makefile.in (install): Don't install INSTALL.
- (installcheck, install-info): New targets.
-
-Mon May 2 16:31:33 1994 David J. MacKenzie (djm@aria.eng.umd.edu)
-
- * autoconf.sh, autoheader.sh: If M4 is an absolute file name that
- no longer exists, use M4=m4.
-
-Mon May 2 13:06:06 1994 David J. MacKenzie (djm@burnout.eng.umd.edu)
-
- * acspecific.m4 (AC_HAVE_POUNDBANG): Quote # in message.
- From schwab@issan.informatik.uni-dortmund.de (Andreas Schwab).
-
- * autoconf.texi: Document config.h.bot. Fix typo in AC_HAVE_POUNDBANG.
-
- * acspecific.m4 (AC_PROG_CXX): Look for "cxx" (DEC C++ compiler) too.
-
- * autoheader.sh: Fix tr string for Solaris tr.
- Add config.h.bot if present.
- From richard@sol.kbsi.com (Richard Henderson).
-
-Fri Apr 29 12:53:53 1994 David J. MacKenzie (djm@burnout.eng.umd.edu)
-
- * acspecific.m4 (AC_PROG_INSTALL): Use install.sh from srcdir
- or srcdir/.. or srcdir/../.. and never default to cp.
-
-Thu Apr 28 12:01:01 1994 David J. MacKenzie (djm@burnout.eng.umd.edu)
-
- * acconfig.h: Add HAVE_MMAP entry.
- * acspecific.m4 (AC_MMAP): If NBPC is not defined, use PAGESIZE.
- From "Kaveh R. Ghazi" <ghazi@eden.rutgers.edu>.
-
- * acgeneral.m4 (AC_OUTPUT_HEADER): For each file being created,
- munge a copy of conftest.sed rather than the original.
- From brook@trillium.botany.utexas.edu (Brook Milligan).
-
-Tue Apr 26 00:27:21 1994 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_LANG_C, AC_LANG_CPLUSPLUS): Remove CFLAGS and
- CXXFLAGS from ac_cpp.
-
-Thu Apr 21 19:43:20 1994 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
-
- * Version 1.9.
-
- * autoconf.texi: Document special AC_FIND_XTRA ordering
- dependencies.
-
- * acspecific.m4 (AC_FIND_XTRA): Reorder AC_REQUIREs.
-
- * acspecific.m4 (AC_FIND_X): AC_REQUIRE_CPP.
-
- * acspecific.m4 (AC_PROG_LEX): Say what we set LEXLIB to.
-
-Wed Apr 20 13:17:05 1994 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_PARSEARGS): Allow . in hostnames. Use string
- comparison on them.
- (AC_HAVE_LIBRARY): namespace cleanup.
-
- * autoconf.texi: Describe changes to AC_FIND_X, AC_FIND_XTRA, and
- AC_YYTEXT_POINTER.
-
- * acconfig.h: Replace DECLARE_YYTEXT with YYTEXT_POINTER.
-
- * acgeneral.m4 (AC_PARSEARGS): --gas and --x set with_gas and
- with_x to yes, not 1.
-
- * acspecific.m4 (AC_YYTEXT_POINTER): New macro, replacing
- AC_DECLARE_YYTEXT.
- (AC_FIND_X): Assume no X if --without-x was given.
- (AC_FIND_XTRA): Quotes AC_REQUIRE args. Run uname in a subshell in
- case it's missing. Put -l options in X_EXTRA_LIBS. Print values
- of the variables we set if verbose.
-
-Tue Apr 19 14:14:25 1994 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
-
- * autoconf.texi: Note GNU m4 1.0 bugs.
-
- * acspecific.m4 (AC_FIND_X_XMKMF): Set variables correctly.
-
- * autoconf.texi: Don't @setchapternewpage odd by default. Mention
- autoheader AC_SIZEOF_TYPE symbol generation.
-
- * acgeneral.m4 (AC_SIZEOF_TYPE): Fix typo.
-
- * Makefile.in (install): Don't install aclocal.m4.
-
- * autoheader.sh: Generate entries for AC_SIZEOF_TYPE
- automatically.
-
-Mon Apr 18 22:14:59 1994 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_SIZEOF_TYPE): Remove second arg, and generate a
- symbol name automatically.
-
- * autoconf.texi: Document new AC_SIZEOF_TYPE usage.
-
- * acspecific.m4 (AC_PROG_INSTALL): Only filter out "install"
- containing "dspmsg".
- (AC_FIND_X_XMKMF): Fix variable names to not conflict with grep -v.
-
- * autoconf.texi: Various small fixes.
-
- * INSTALL: Say configure takes "awhile".
-
-Sat Apr 16 15:05:31 1994 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
-
- * acgeneral.m4: Call AC_LANG_C in AC_PREPARE, not AC_INIT.
-
-Fri Apr 15 07:00:37 1994 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
-
- * Version 1.8.
-
- * acgeneral.m4: Rename ac_configure_args back to configure_args,
- since some people have been using it.
-
-Thu Apr 14 14:45:29 1994 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
-
- * autoconf.texi: Note that AC_ENABLE and AC_WITH arguments
- shouldn't contain blanks, for now.
-
-Wed Apr 13 17:26:36 1994 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_SET_MAKE): Use $MAKE if defined, else "make".
-
- * autoconf.texi: Add missing files to diagram.
-
- * acgeneral.m4 (AC_TEST_CPP): Propogate comment about Coherent
- lossage into configures.
-
-Sat Apr 9 17:34:29 1994 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_PARSEARGS): Unknown option is a fatal error.
-
- * acgeneral.m4: Remove ac_ prefix from some variables set by
- options, for consistency and backward compatibility.
-
-Fri Apr 8 13:24:29 1994 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_FIND_XTRA): Don't test for -lsocket on IRIX.
- From Karl Berry.
-
- * acspecific.m4 (AC_FIND_X_XMKMF, AC_FIND_X_DIRECT): Don't
- override --x-includes and --x-libraries. Check openwin last due
- to its bugs.
-
- * acgeneral.m4: Add --x-includes, --x-libraries options. Document
- them and --build, --host, --target.
-
- * autoconf.texi: Mention --x-includes and --x-libraries.
-
- * INSTALL: Mention --x-includes and --x-libraries.
-
-Tue Apr 5 12:46:47 1994 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
-
- * autoconf.texi: Document top_srcdir substitution.
-
- * acspecific.m4 (AC_PROG_INSTALL): Look for install.sh in
- @top_srcdir@, not $srcdir.
-
- * acgeneral.m4 (AC_OUTPUT): AC_SUBST top_srcdir. Set it.
-
-Mon Apr 4 20:13:08 1994 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
-
- * autoconf.texi: Fix dependencies examples.
-
- * Makefile.in: Update configuration dependencies.
-
- * acgeneral.m4: Add back --no-create option. Make config.status
- --recheck use it.
-
- * autoheader.sh: Go back to doing move-if-change. (Work around in
- dependencies by using stamp files.)
-
-Thu Mar 31 11:34:50 1994 David J. MacKenzie (djm@hill.gnu.ai.mit.edu)
-
- * Makefile.in (autoconf, autoheader, configure): Write to $@.tmp
- instead of to $@ directly so that after a disk full error, the
- targets to not exist. Otherwise, a subsequent make could install
- a corrupt (but not executable) script. From Jim Meyering.
-
-Thu Mar 31 08:22:29 1994 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
-
- * autoconf.texi: Re-document --with argument.
-
- * acgeneral.m4 (AC_PARSEARGS): --with can take an argument again.
-
-Wed Mar 30 20:01:57 1994 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
-
- * autoconf.texi: Document --disable- options.
-
- * acgeneral.m4 (AC_PARSEARGS): Add --disable-FEATURE.
-
- * INSTALL: Mention --enable- options.
-
-Mon Mar 28 17:43:22 1994 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_PARSEARGS): Make multiple non-option args a
- fatal error.
-
- * acspecific.m4: Change all occurrences of $(MAKE_VAR) to
- ${MAKE_VAR}.
-
- * autoconf.texi (Command Line): New node. Move some descriptions
- here from General Feature Tests. Describe --without- options.
-
- * acgeneral.m4 (AC_PARSEARGS): Rewrite again, using ideas from the
- GNU libc configure.in. All options that take an argument set
- shell variables.
- (AC_COMPILE_CHECK): Add `return' in `int' function.
-
- * INSTALL: Fix typo.
-
-Sun Mar 27 00:44:07 1994 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_NOTICE): Don't save original args or initialize
- options here.
- (AC_PARSEARGS): Do them here.
- (AC_PREPARE): Save a copy of original args here, if it hasn't been
- done yet.
-
-Sat Mar 26 01:32:40 1994 David J. MacKenzie (djm@geech.gnu.ai.mit.edu)
-
- * acgeneral.m4: Omit obsolete options from usage message.
- Quote args to AC_CHECKING that contain m4 variables.
-
- * INSTALL: Note that env can be used to set env vars.
-
- * autoconf.texi: Document AC_SET_MAKE.
- Note that vsprintf and vfprintf come with vprintf.
- Note that env can be used to set env vars.
-
- * acspecific.m4 (AC_SET_MAKE): New macro.
- (AC_PROG_INSTALL): Find scoinst as a good install program.
-
- * acgeneral.m4: Initialize variables set by options.
- (AC_HAVE_HEADERS): Require cpp.
-
- * autoconf.texi: Document AC_ENABLE and @prefix@ and @exec_prefix@
- substitutions.
-
- * acgeneral.m4: Recognize all the Cygnus configure options; warn
- about other arguments. Make default value for --with "yes", not
- "1". AC_SUBST for prefix and exec_prefix.
- (AC_ENABLE): New macro.
-
-Thu Mar 24 18:11:00 1994 David J. MacKenzie (djm@geech.gnu.ai.mit.edu)
-
- * INSTALL: Describe recently added configure options.
-
- * autoconf.texi: Style cleanups. Mention config.h.top.
-
- * autoheader.sh: Add ${config_h}.top to the output, if it's
- present.
-
-Thu Mar 24 13:36:19 1994 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
-
- * autoconf.sh: Remove all temp files when exiting. If m4 fails,
- produce no output and exit with the m4 exit status.
-
- * autoconf.texi: Document AC_PREREQ.
-
- * acgeneral.m4 (AC_PREREQ): New macro, with some helper macros.
-
-Thu Mar 24 01:20:49 1994 David J. MacKenzie (djm@geech.gnu.ai.mit.edu)
-
- * Makefile.in (acdatadir): New variable based on datadir, giving
- Autoconf lib files their own subdirectory. Use it instead of
- datadir.
-
-Wed Mar 23 22:41:54 1994 David J. MacKenzie (djm@geech.gnu.ai.mit.edu)
-
- * autoconf.texi: Change names of nodes that describe invoking
- configure and config.status to conform to coding standards.
- Document --version, --help, --silent/--quiet, --verbose options to
- configure and config.status.
-
- * acgeneral.m4 (AC_PARSEARGS): Add --help and --version to
- configure. Simplify getting option arguments. Complain about
- impossible host arguments.
- (AC_OUTPUT): Add --help and --version to config.status.
-
-Wed Mar 23 00:16:28 1994 Roland McGrath (roland@mole.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_CHECKING): Do nothing if $ac_silent is set.
- (AC_PARSEARGS): Grok -q/--quiet/--silent and set $ac_silent.
-
-Tue Mar 22 18:28:30 1994 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
-
- * autoconf.texi: Document AC_SIZEOF_TYPE.
-
- * acspecific.m4 (AC_INT_16_BITS, AC_LONG_64_BITS): Mark obsolete
- with advice to use AC_SIZEOF_TYPE instead.
-
- * acgeneral.m4 (AC_SIZEOF_TYPE): New macro.
-
-Tue Mar 22 08:44:40 1994 David J. MacKenzie (djm@geech.gnu.ai.mit.edu)
-
- * autoconf.texi: Describe AC_CHECKING et al.
-
- * acspecific.m4: Use AC_CHECKING et al. where appropriate.
-
- * acgeneral.m4 (AC_CHECKING, AC_VERBOSE, AC_ERROR, AC_WARN): New
- macros. Use them where appropriate.
- (AC_LANG_C, AC_LANG_CPLUSPLUS): Fix quoting of ac_cpp.
-
- * acspecific.m4 (AC_PROG_CPP): Don't add $CFLAGS to CPP.
- (AC_PROG_CXXCPP): Don't add $CXXFLAGS to CXXCPP.
-
- * acgeneral.m4 (AC_OUTPUT): Don't remove VPATH lines containing
- colons. From Jim Meyering (meyering@comco.com).
- (AC_LANG_C): Add CFLAGS to ac_cpp.
- (AC_LANG_CPLUSPLUS): Add CXXFLAGS to ac_cpp.
-
-Sat Mar 19 16:38:03 1994 David J. MacKenzie (djm@geech.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_LANG_RESTORE): Only emit shell code to change
- the current language if it actually changed.
-
- * autoconf.texi: Add info dir entry. Describe new C++ macros and
- AC_MMAP.
- (Language Choice): New section.
- Add another example of dependencies.
-
- * acspecific.m4 (AC_PROG_CXX, AC_PROG_CXXCPP, AC_REQUIRE_CPP): New
- macros based on work by zoo@aggregate.com (david d zuhn).
- (AC_DECLARE_YYTEXT): Use AC_REQUIRE_CPP. Warn that it's broken.
- (AC_STDC_HEADERS): Use AC_REQUIRE_CPP.
- (AC_MMAP): New macro from Mike Haertel and Jim Avera.
-
- * acgeneral.m4 (AC_PARSEARGS): Check for missing arguments to
- options. Recognize --target. Save the original args before
- modifying them.
- (AC_INIT): Call AC_LANG_C.
- (AC_PREPARE): Don't save the original args here (too late).
- (AC_LANG_C, AC_LANG_CPLUSPLUS, AC_LANG_SAVE, AC_LANG_RESTORE):
- New macros based on work by zoo@aggregate.com (david d zuhn).
- (AC_HEADER_EGREP, AC_PROGRAM_EGREP, AC_COMPILE_CHECK,
- AC_TEST_PROGRAM, AC_TEST_CPP): Use AC_REQUIRE_CPP and ac_ext and
- ac_cpp.
-
- * autoheader.sh: Update the file even if it is unchanged, to avoid
- foiling a Makefile rule that makes it from configure.in. If you
- let the rule for making config.status from configure create
- config.h from config.h.in, then an unnecessary update here will
- not cause unneeded recompilation. Recompilation should only
- happen if config.h is updated, which won't occur if config.h.in
- had the same contents, even if its timestamp changed. (Ick.)
-
- * Makefile.in (Makefile): Don't depend on config.status, to avoid
- running config.status too many times.
-
-Fri Mar 18 00:43:21 1994 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu)
-
- * autoconf.texi: Document AC_FIND_XTRA.
-
- * acgeneral.m4 (AC_OUTPUT): Remove VPATH lines if srcdir=., to
- work around Sun make bug. From Karl Berry.
-
- Rename internal use shell variables to start with "ac_".
-
- Trap signal 2 (SIGINT), not signal 3 (SIGQUIT), which means stop
- without cleaning up. From eggert@twinsun.com (Paul Eggert).
-
- * acspecific.m4 (AC_FIND_XTRA): New macro from Karl Berry
- (karl@cs.umb.edu).
- (AC_FIND_X, AC_ISC_POSIX): Provide self.
-
- (AC_DECLARE_YYTEXT): Move AC_SUBST. Don't quote value of
- DECLARE_YYTEXT. From Karl Berry.
-
- (AC_PROG_CPP): Include $CFLAGS in CPP.
-
- Rename internal use shell variables to start with "ac_".
-
- * autoconf.sh, autoheader.sh: Trap signal 2 (SIGINT), not signal 3
- (SIGQUIT), which means stop without cleaning up. From
- eggert@twinsun.com (Paul Eggert).
-
- * autoconf.texi: Mention shell variable prefixes.
-
- * autoconf.texi: Work around RCS substitution in AC_REVISION
- example.
-
-Wed Mar 16 19:55:17 1994 Noah Friedman (friedman@prep.ai.mit.edu)
-
- * acgeneral.m4 (compile): Include $LDFLAGS.
-
-Thu Mar 10 01:27:20 1994 David J. MacKenzie (djm@churchy.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_PREPARE): Don't absolutize relative paths.
- (AC_OUTPUT): For relative paths, prepend to $srcdir as many
- "../" as the number of subdirectories deep the file being created is.
-
-Tue Feb 15 16:02:19 1994 Noah Friedman (friedman@prep.ai.mit.edu)
-
- * acspecific.m4 (AC_PROG_INSTALL): Reject /sbin/install.
-
-Sun Feb 13 21:15:45 1994 Noah Friedman (friedman@prep.ai.mit.edu)
-
- * autoconf.texi (Setting Variables, Sample configure.in): Replace
- references to AC_UNISTD_H with AC_HAVE_HEADERS(unistd.h).
-
-Thu Feb 10 21:39:43 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_SYS_SIGLIST_DECLARED): New macro.
-
-Sat Feb 5 13:35:52 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_GETLOADAVG): Check for -lkvm separately after
- -lutil check.
-
-Fri Feb 4 17:17:11 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_OUTPUT_HEADER): Move creation of conftest.sed
- outside of `for' loop. We need only do this once for all the
- output files.
-
-Fri Jan 21 16:35:00 1994 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_PROG_INSTALL_INSTALL_SH): New macro for
- INSTALL value to use install.sh.
- (AC_PROG_INSTALL): Use it.
-
-Thu Jan 6 16:22:25 1994 Noah Friedman (friedman@nutrimat.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_DEFINE): Use AC_QUOTE_SQUOTE instead of
- AC_DEFINE_QUOTE on AC_VAL. From Bruno Haible
- <haible@ma2s2.mathematik.uni-karlsruhe.de>.
- * acgeneral.m4 (AC_DEFINE_UNQUOTED): pushdef/popdef
- AC_QUOTE_SQUOTE instead of AC_DEFINE_QUOTE.
-
-Wed Dec 22 03:51:53 1993 Noah Friedman (friedman@nutrimat.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_DEFINE): in verbose strings, put
- AC_DEFINE_QUOTE exprs in double quotes to avoid shell wildcard
- expansion.
-
- * acgeneral.m4 (AC_PROGRAM_PATH, AC_PROGRAMS_PATH): New macros.
- * autoconf.texi (General Tests): Document them.
-
- * configure.in: Use AC_PROGRAMS_PATH to find m4, not AC_PROGRAMS_CHECK.
- Put `m4' in the list of progs-to-check, since we want the absolute
- pathname for that too if we can get it.
-
-Fri Dec 17 13:44:24 1993 Noah Friedman (friedman@nutrimat.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_ALLOCA): define HAVE_ALLOCA if alloca is
- present in system libraries.
-
-Tue Dec 14 14:53:55 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_PREPARE): Remove $ac_clean_files in traps.
-
- * acspecific.m4 (AC_STDC_HEADERS): Check that free appears in stdlib.h.
-
-Fri Dec 10 06:35:25 1993 Noah Friedman (friedman@gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_PROG_INSTALL): Don't look for install in `.'.
-
-Wed Dec 8 12:10:59 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_FIND_X_XMKMF): Redirect stderr to /dev/null in
- eval'd make pipeline.
-
- * acgeneral.m4 (AC_QUOTE_SED): Quote ! as well.
-
-Mon Dec 6 23:41:05 1993 Noah Friedman (friedman@gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_PROG_CPP): Try 'cc -E -traditional-cpp' for NeXT.
-
-Thu Dec 2 02:25:39 1993 Noah Friedman (friedman@gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_PREPARE): use rm -r to remove conftest* both in
- exit traps and at start of script.
-
-Wed Dec 1 03:22:21 1993 Noah Friedman (friedman@gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_FIND_X_DIRECT): Search for includes and libs
- in more places.
-
-Sun Nov 28 21:57:31 1993 Noah Friedman (friedman@gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_NOTICE): Replace "this program" with "this
- configure script" to disambiguate between configure and the
- program it is distributed with (which can have different terms).
-
-Tue Nov 23 19:41:53 1993 Noah Friedman (friedman@gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_FIND_X_DIRECT): Use the shell variable
- `x_direct_test_include' to choose the include file to search for.
-
-Sat Nov 20 17:58:09 1993 Noah Friedman (friedman@gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_FIND_X_DIRECT): Search for R6 includes & libs
- in various places. Look for /usr/athena/include & /usr/athena/lib.
- Make AC_HAVE_LIBRARY check for the library specified by the shell
- variable `x_direct_test_library', rather than hardcoding Xt (to
- which the shell variable now defaults).
-
-Thu Nov 18 18:17:21 1993 David J. MacKenzie (djm@kropotkin.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_OUTPUT_HEADER): Use ! instead of @ as the
- sed substitution separator.
-
- * install.sh: New file.
- * Makefile.in (DISTFILES): Add it.
- * acspecific.m4 (AC_PROG_INSTALL): Use it as the default
- instead of cp, if it's there.
-
-Sat Nov 13 12:24:57 1993 David J. MacKenzie (djm@kropotkin.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_OUTPUT): Extend that last change to also
- happen for .C, .cc, and .m (objc) files.
-
-Wed Nov 10 09:26:35 1993 Noah Friedman (friedman@gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_OUTPUT): When substituting .c or .h files, put
- autoconf-added comments in '/* ... */'.
-
-Mon Nov 8 16:22:48 1993 Noah Friedman (friedman@nutrimat.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_NOTICE): Put autoconf version number in configure.
-
-Fri Nov 5 23:31:28 1993 Noah Friedman (friedman@nutrimat.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_FIND_X_XMKMF): properly quote `acfindx' rule.
-
-Fri Oct 29 21:46:57 1993 Jim Meyering (meyering@comco.com)
-
- * acspecific.m4 (HAVE_LONG_DOUBLE): Add code to detect Stardent
- Vistra lossage. From Kaveh R. Ghazi (ghazi@noc.rutgers.edu).
-
-Tue Oct 26 15:24:33 1993 David J. MacKenzie (djm@churchy.gnu.ai.mit.edu)
-
- * Version 1.7.
-
-Tue Oct 19 23:49:50 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_TEST_PROGRAM): Don't remove conftest* before
- running $2 or $3 or $4; just once at the end.
-
-Mon Oct 18 01:38:00 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_PREPARE): Echo a newline into confdefs.h so it
- is never empty.
-
-Fri Oct 15 18:49:20 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_CONST): Added test of trivial use for broken
- Ultrix-32 V3.1 Rev 9 vcc.
-
-Fri Oct 15 15:44:39 1993 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_OBSOLETE): New macro.
- * acspecific.m4 (AC_UNISTD_H, AC_USG, AC_MEMORY_H): Call it.
-
- * acspecific.m4 (AC_LONG_FILE_NAMES): Try to create files in
- ${prefix}/lib and ${exec_prefix}/lib instead of ${prefix} and
- ${exec_prefix}; they are more likely to be writable.
-
- * Makefile.in (clean): Remove *.ma and *.mas, the macro index files.
-
-Tue Oct 12 16:02:52 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_RETSIGTYPE): AC_PROVIDE self.
-
-Mon Oct 11 19:09:20 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * Makefile.in (editsh): Obfuscate @M4@ and @datadir@ references so
- configure doesn't edit them.
-
-Sun Oct 10 14:01:35 1993 Jim Meyering (meyering@comco.com)
-
- * autoconf.sh (--help): Exit successfully.
-
-Sat Oct 9 08:29:15 1993 David J. MacKenzie (djm@kropotkin.gnu.ai.mit.edu)
-
- * Version 1.6.
-
- * acconfig.h (inline): New entry.
-
- * acspecific.m4 (AC_DIR_HEADER_CHECK): Don't call opendir, in
- case the needed libraries (e.g., -ldir on Xenix) aren't in
- LIBS yet. From Jim Meyering (meyering@comco.com).
-
- * acspecific.m4 (AC_PROG_LEX): Fix typo.
-
- * acgeneral.m4 (AC_HEADER_EGREP, AC_PROGRAM_EGREP,
- AC_COMPILE_CHECK, AC_TEST_PROGRAM, AC_TEST_CPP): Remove any
- temporary files before doing the actions, in case they're
- nested tests. From gray@antaire.com (Gray Watson).
-
- * configure.in: Check for GNU m4 under several names.
- * Makefile.in: Use that value.
- From Franc,ois Pinard.
-
- * acspecific.m4 (AC_STRUCT_TM): Use a member of struct tm, to
- make sure the compiler complains if it's not defined.
- From Bruno Haible (haible@ma2s2.mathematik.uni-karlsruhe.de).
-
- * acspecific.m4 (AC_FIND_X_XMKMF): If libX11.a isn't in
- USRLIBDIR, check in LIBDIR. Filter out any make verbose messages.
-
-Tue Oct 05 19:21:29 1993 Jim Meyering (meyering@comco.com)
-
- * acspecific.m4 (AC_LONG_DOUBLE): Announce that this feature is being
- checked even if the test is simply whether $CC is gcc.
-
-Tue Oct 5 14:23:28 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * autoheader.sh: Produce HAVE_LIBfoo for AC_HAVE_LIBRARY.
-
-Sun Oct 3 15:41:36 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_OUTPUT): Write assignment for `extrasub'; in sed
- cmds, write "$extrasub" so configure.in can set it to do sed frobs.
- Take second arg and write it to config.status before `exit 0'.
-
- * acspecific.m4 (AC_CONST): Say `checking for lack of working
- const'. That is precisely accurate.
-
-Wed Sep 22 15:47:50 1993 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu)
-
- * acgeneral.m4: If not using GNU m4, abort.
-
- * acgeneral.m4 (AC_PREPARE): Lose if we're not in the srcdir,
- not if we're in it. But disable the check for now.
-
-Mon Sep 20 15:32:30 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_PREPARE): Check for $srcdir being configured,
- diagnose and lose.
-
- * acgeneral.m4 (AC_QUOTE_SED): Quote @ and %.
-
- * acgeneral.m4 (AC_OUTPUT): Say "$file is unchanged" when it is.
-
-Sat Sep 18 14:32:04 1993 Ian Lance Taylor (ian@airs.com)
-
- * acgeneral.m4: Substitute for CONFIG_FILES and CONFIG_HEADERS
- before using them, in case they have multiple values.
-
-Fri Sep 17 14:40:20 1993 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_WAIT3): wait3 works if ru_stime is
- nonzero, too.
-
-Thu Sep 16 15:39:53 1993 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_FIND_X_XMKMF): Code moved from AC_FIND_X.
- (AC_FIND_X_DIRECT): New function, derived from code by Karl
- Berry and Rob Savoye.
- (AC_FIND_X): Call them.
-
-Wed Sep 15 19:06:46 1993 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_PREPARE): Remove confdefs* on exit with trap 0.
- (AC_OUTPUT): Don't bother removing it.
-
- * acgeneral.m4: Remove --no-create option; not useful.
-
-Mon Sep 13 21:54:46 1993 Paul Eggert (eggert@twinsun.com)
-
- * autoheader.sh: Rename the temporary output to the real
- output if their contents differ, not if their contents are identical.
- This fixes bug introduced in Aug 30 change.
-
-Mon Sep 13 16:50:30 1993 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_OUTPUT): Run config.status with
- CONFIG_SHELL if defined. Same for configure run from config.status.
- Rename gen_files to CONFIG_FILES and gen_config to CONFIG_HEADERS.
-
- * acgeneral.m4 (AC_PREPARE): Remove confdefs* in trap.
-
-Fri Sep 10 00:29:20 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_LONG_FILE_NAMES): Test /var/tmp as well.
- In loop, skip past nonexistent dirs.
-
- * acspecific.m4 (AC_CONST): Say "working", not "broken". We are
- checking for a working const as opposed to a broken or absent
- const, not for a broken const as opposed to a working one.
-
-Thu Sep 9 09:25:49 1993 Jim Meyering (meyering@comco.com)
-
- * acspecific.m4, acconfig.h (AC_LONG_64_BITS): New macro.
-
-Wed Sep 1 18:54:12 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_PROGRAM_CHECK): Use && instead of test -a.
-
-Tue Aug 31 19:21:35 1993 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_OUTPUT_HEADER): Support generating multiple
- .h files. From gray@antaire.com (Gray Watson).
-
- * acspecific.m4 (AC_ALLOCA): If using alloca.o, define C_ALLOCA.
-
- * acgeneral.m4 (compile, AC_HEADER_EGREP, AC_PROGRAM_EGREP,
- AC_COMPILE_CHECK, AC_TEST_PROGRAM, AC_TEST_CPP): Remove $DEFS
- from cc and cpp command lines; include "confdefs.h" in test
- files.
- (AC_DEFINE): Append a #define to confdefs.h.
- Reduce duplicated code by introducing a temp variable, AC_VAL.
-
-Mon Aug 30 17:36:54 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * autoheader.sh: Don't write output if it is the same as output file.
-
-Wed Aug 25 14:14:33 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_VFORK): Check for SunOS 5.2 bug with ignoring
- signal in parent before vfork. From eggert.
-
-Fri Aug 20 10:14:42 1993 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_PARSEARGS): Support giving values to --with
- options. Go back to using sed for invalid test, but without
- using '*' in the regex.
-
-Thu Aug 19 14:53:29 1993 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_LONG_FILE_NAMES): eval the args.
-
- * acgeneral.m4 (AC_PARSEARGS): Use case instead of sed and
- test to detect invalid package names. Remove =value from
- --with options until we support it.
-
-Wed Aug 11 18:52:41 1993 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_FIND_X): Don't set x_includes if it's
- /usr/include or x_libraries if it's /lib or /usr/lib.
-
-Wed Aug 11 13:00:18 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_LONG_FILE_NAMES): If we cannot write $dir, echo
- a warning msg and continue the loop to skip that directory.
-
- * acgeneral.m4 (AC_REVISION): Also eat double quotes.
-
-Thu Aug 5 14:55:59 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * acconfig.h: Add TIME_WITH_SYS_TIME.
-
-Mon Aug 2 14:55:16 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_DECLARE_YYTEXT): \-escape "s in rhs of
- AC_DEFINE_UNQUOTED.
- Remove gratuitous second arg to AC_SUBST.
-
-Sun Aug 1 19:13:08 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_GETLOADAVG): Define HAVE_GETLOADAVG if we find
- one and don't use our own getloadavg.c.
- * acconfig.h: Add HAVE_GETLOADAVG.
-
-Sat Jul 31 17:28:48 1993 Karl Berry (karl@cs.umb.edu)
-
- * acspecific.m4 (AC_PROG_INSTALL): Report results under -v.
-
-Fri Jul 30 18:08:30 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * autoheader.sh (syms, headers, funcs, libs): Run values through
- sort|uniq to remove duplicates.
-
-Wed Jul 28 00:02:34 1993 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu)
-
- * Makefile.in (config.status): Run config.status --recheck,
- not configure.
- (install): Remove refs to install-info until it's released,
- because people are getting confused.
-
- * acgeneral.m4 (AC_OUTPUT): For config.status --recheck, echo
- the configure command line that we run.
-
- * acspecific.m4 (AC_PROG_FLEX): Use AC_HAVE_LIBRARY.
-
-Mon Jul 26 19:11:01 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_GETLOADAVG): Check that both -lutil and -lkvm
- exist before choosing them in hopes they will define getloadavg.
-
- * autoheader.sh (frob): Put $2 and $3 in the expansion of
- AC_HAVE_LIBRARY, so AC_DEFINE there is noticed.
-
-Mon Jul 26 14:21:33 1993 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu)
-
- * acspecific.m4 (INT_16_BITS): Check the obvious way, so it
- doesn't pick up machines with 64 bit longs.
-
-Mon Jul 26 14:01:38 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_GETLOADAVG): Check for -lelf with
- AC_HAVE_LIBRARY instead of checking for <elf.h> with AC_HEADER_CHECK.
-
-Mon Jul 26 13:58:39 1993 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_SCO_INTL, AC_IRIX_SUN, AC_DYNIX_SEQ): Use
- AC_HAVE_LIBRARY.
-
-Mon Jul 26 13:55:17 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * autoheader.sh (eval frob): Restore hairy sed use; we need it to
- handle multi-line macro invocations.
-
-Mon Jul 26 00:50:43 1993 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_FIND_X): Quote the Imakefile.
-
-Sun Jul 25 08:17:11 1993 Jim Meyering (meyering@comco.com)
-
- * acconfig.h (CRAY_STACKSEG_END): New #undef.
-
-Thu Jul 22 20:26:12 1993 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu)
-
- * Version 1.5.
-
- * acspecific.m4 (AC_FIND_X): Let make substitute any variables
- in INCROOT and USRLIBDIR, instead of using sed.
- From wojo@veritas.com (Jack Woychowski).
-
- * acgeneral.m4 (AC_DEFINE): When printing value verbosely, use
- double quotes and AC_DEFINE_QUOTE, like we do when assigning
- the value, so shell variables get expanded the same way.
-
- * acgeneral.m4 (AC_REVISION): New macro.
- From wollman@uvm-gen.EMBA.UVM.EDU (Garrett Wollman).
-
- * acgeneral.m4 (AC_DEFINE): Add newline before open brace.
-
-Thu Jul 22 17:07:15 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_STAT_MACROS_BROKEN): New macro.
- * acconfig.h (STAT_MACROS_BROKEN): New #undef.
-
-Wed Jul 21 15:44:32 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_DECLARE_YYTEXT): Use AC_DEFINE_UNQUOTED so
- shell var is replaced in rhs.
-
-Wed Jul 21 13:31:38 1993 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu)
-
- * acconfig.h (size_t, mode_t, off_t): Added.
- * acspecific.m4 (AC_OFF_T): New macro.
-
-Tue Jul 20 15:39:44 1993 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu)
-
- * autoheader.sh: Put header-file.in in comment at top.
-
- * acconfig.h (NDIR): Added.
-
-Mon Jul 19 22:10:49 1993 David J. MacKenzie (djm@churchy.gnu.ai.mit.edu)
-
- * Makefile.in (info, dvi): New targets.
-
-Sun Jul 18 22:36:33 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * autoheader.sh (frob): Use `#' as the first line of each definition.
- (eval frob): Totally simplify sed use to just handle "^@@@.*@@@$".
-
-Wed Jul 14 22:44:25 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * acconfig.h: Restore blank lines between paragraphs.
-
- * autoheader.sh (libs): New variable and frob to set it from
- AC_HAVE_LIBRARY uses. Produce #undef HAVE_* for each $libs.
-
-Tue Jul 13 19:03:46 1993 David J. MacKenzie (djm@kropotkin.gnu.ai.mit.edu)
-
- * acconfig.h: Sort the entries, like the comment says.
-
- * acspecific.m4 (AC_GETLOADAVG): Only check for the AIX library
- once, looking in both local and system dirs.
- Consolidate SVR4 and Solaris cases.
-
-Mon Jul 12 20:33:36 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_GETLOADAVG): If we find sys/dg_sys_info.h, do
- AC_HAVE_LIBRARY on -ldgc.
-
-Sun Jul 11 00:43:51 1993 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_GETLOADAVG): BSD library is -lutil, not
- -lutils, and requires -lkvm too.
- Check for local AIX library using AC_HAVE_LIBRARY, not
- AC_COMPILE_CHECK.
- Un-nest some conditionals. Stop checking once we've
- found a way to get getloadavg.
-
-Thu Jul 8 20:21:28 1993 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu)
-
- * Makefile.in: Remove rules for making *.conf; make
- Autoconf's configure script semi-normally.
-
-Wed Jul 7 14:37:35 1993 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu)
-
- * autoheader.sh (--help): Print help message to stdout and exit 0.
- (--version): Exit after printing version number.
- * autoconf.sh (--version): Exit after printing version number.
-
- * acspecific.m4 (AC_LONG_DOUBLE): Make sure that long double
- isn't smaller than double, as in Ultrix 4.[23] cc.
-
- * acgeneral.m4 (AC_REPLACE_FUNCS): Include ctype.h in the test
- program to get stubs.
-
- * acspecific.m4 (AC_FIND_X): New macro.
-
-Tue Jul 6 19:15:17 1993 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_GETLOADAVG): Try ls -L first, in case
- /dev/kmem is a symlink (as on Solaris).
-
-Wed Jun 30 22:08:22 1993 Noah Friedman (friedman@nutrimat.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_MINUS_C_MINUS_O): Remove spurious `then'.
-
-Fri Jun 25 23:16:42 1993 Paul Eggert (eggert@twinsun.com)
-
- * acspecific.m4 (AC_CONST): Replace `p = <const char** expr>'
- with `ccp = <const char** expr>'; the former wasn't ANSI C, and
- was causing working compilers to be rejected.
-
-Fri Jun 25 13:26:34 1993 Noah Friedman (friedman@nutrimat.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_LONG_FILE_NAMES): Redirect rm's stderr to
- /dev/null.
-
-Thu Jun 24 15:58:04 1993 Noah Friedman (friedman@nutrimat.gnu.ai.mit.edu)
-
- * autoconf.sh, autoheader.sh, acgeneral.m4 (AC_PREPARE): Undo
- change of Jun 16 1993. Only set `LANG' and `LC_ALL' to "C" if
- already set.
-
-Sat Jun 19 00:01:51 1993 Jim Meyering (meyering@comco.com)
-
- * acgeneral.m4: Undefine m4's `format' builtin.
- * acspecific.m4 (AC_HAVE_POUNDBANG): Make conftest executable,
- but not necessarily writable by group or other.
-
-Thu Jun 17 21:10:33 1993 Noah Friedman (friedman@nutrimat.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_PROG_CPP): Put double quotes around ${CC-cc},
- not single quotes.
- If --verbose option given, say what CPP is being set to.
-
-Wed Jun 16 17:50:00 1993 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_PROG_CPP): Make sure that `cc -E` doesn't
- run the program through the C compiler too. Bob Olson
- <olson@mcs.anl.gov> says it does on the NeXT.
-
-Wed Jun 16 16:17:05 1993 Noah Friedman (friedman@nutrimat.gnu.ai.mit.edu)
-
- * autoconf.sh, autoheader.sh, acgeneral.m4 (AC_PREPARE): Always set
- `LANG' and `LC_ALL' environment variables to `C'.
-
-Fri Jun 11 14:29:31 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_MINUS_C_MINUS_O): Test that cc works at all,
- and only test it for -c -o if it does.
-
-Tue Jun 8 01:47:22 1993 Paul Eggert (eggert@twinsun.com)
-
- * acgeneral.m4 (AC_OUTPUT): The line
- DEFS="`echo \"$DEFS\" | sed 's%[&\\\]%\\\&%g'`"
- doesn't work in some shells, which don't allow nesting
- \"\" inside `` inside "", and which don't unescape \\\& in the
- expected (?) way. Also, some versions of echo interpret
- backslashes inside $DEFS. Put $DEFS into a temporary file
- to avoid these portability minefields.
-
-Mon Jun 7 20:11:50 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_GETLOADAVG): In setting KMEM_GROUP, use new sed
- magic from friedman which should win with both meanings of ls -lg.
-
-Mon Jun 7 06:48:49 1993 Noah Friedman (friedman@nutrimat.gnu.ai.mit.edu)
-
- * Makefile.in (dist): Change gzipped tar file extension to `.gz'.
- Use explicit --gzip option to tar to make sure tar uses the right
- compression program (or else exits from failure to understand the
- option).
-
- * acgeneral.m4 (AC_OUTPUT): Don't split sed expr for exec_prefix
- across two lines, since not all versions of sed understand that.
-
- * acspecific.m4 (AC_HAVE_POUNDBANG): Complete rewrite which doesn't
- depend on csh.
-
-Tue Jun 1 03:06:28 1993 Noah Friedman (friedman@nutrimat.gnu.ai.mit.edu)
-
- * Version 1.4.1 (not announced to the general public, but
- a snapshot was put on the June '93 GNU CDROM).
-
- * Makefile.in (dist): If ln fails (e.g. because of cross-device
- links), mention on stdout that file is being copied.
-
- * acgeneral.m4 (AC_PREPARE): Use `[$]*' in assignment to
- configure_args to get shell positional args, rather than m4 args to
- AC_PREPARE.
- (AC_OUTPUT): Use `configure_args' in config.status
- when invoked with --recheck, rather than $*.
-
-Mon May 31 13:12:56 1993 Paul Eggert (eggert@twinsun.com)
-
- * acspecific.m4 (AC_LONG_FILE_NAMES): rm $dir/conftest*,
- not conftest*.
-
-Mon May 31 04:18:18 1993 Roland McGrath (friedman@nutrimat.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_HAVE_LIBRARY): Quote libname in define.
-
-Sun May 30 19:52:24 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_SETVBUF_REVERSED): Pass (char *) main to
- setvbuf instead of zero.
-
-Thu May 27 20:30:53 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_PREPARE): Save $* in shell var `configure_args'.
- (AC_OUTPUT): Use $configure_args in place of $*.
-
-Wed May 26 16:19:51 1993 Noah Friedman (friedman@nutrimat.gnu.ai.mit.edu)
-
- * autoconf.texi (AC_PROG_INSTALL): Doc fix.
- (Automatic Remaking): Put code fragment in @example ... @end example.
-
-Mon May 24 15:46:47 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * autoheader.sh (frob): Redefine AC_CONFIG_HEADER to set shell
- variable `config_h'.
- (config_h): New variable, initialize to "config.h" before frobbing.
- (final output): Write ${config_h}.in.
-
-Sat May 22 17:45:19 1993 Noah Friedman (friedman@nutrimat.gnu.ai.mit.edu)
-
- * Version 1.4 released.
-
-Thu May 20 20:25:45 1993 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_IDENTITY): New function.
- (AC_DEFINE_UNQUOTED): Use it to fix this; due to a
- misunderstanding of m4, this was using its first argument as
- the definition.
-
-Thu May 20 09:21:55 1993 Jim Meyering (meyering@comco.com)
-
- * acspecific.m4 (AC_ALLOCA) [find_stack_direction]: Return the
- value from the recursive call. If it worked before, it was by luck.
- From Bruno Haible <haible@ma2s2.mathematik.uni-karlsruhe.de>.
-
-Tue May 18 23:40:21 1993 Noah Friedman (friedman@nutrimat.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_STDC_HEADERS): Require AC_PROG_CPP.
-
-Mon May 17 18:01:09 1993 Karl Berry (karl@hal.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_OUTPUT): Use variables gen_files and
- gen_config in the loop that generates the output (Make)files,
- instead of hardwiring the filenames.
-
-Sat May 15 17:23:19 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * autoconf.sh: Accept `-' to mean read stdin as input.
- * autoheader.sh: Likewise.
-
-Fri May 14 12:41:02 1993 Noah Friedman (friedman@nutrimat.gnu.ai.mit.edu)
-
- * autoheader.sh, acspecific.m4 (AC_PREPARE): If `LANG' environment
- variable is set, reset its value to `C'. This is so `tr [...]'
- works more portably.
-
-Thu May 13 22:56:20 1993 Paul Eggert (eggert@twinsun.com)
-
- * acspecific.m4 (VOID_CLOSEDIR): Test closedir instead of assuming
- that it works. E.g. dynix closedir yields garbage, but has no
- prototype. Presumably Xenix closedir had the same problem, so
- stop special-casing it.
-
-Wed May 12 20:25:36 1993 Jim Meyering (meyering@comco.com)
-
- * acconfig.h: Add HAVE_LONG_DOUBLE.
-
-Wed May 12 15:07:36 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_DEFINE_UNQUOTED): New macro.
-
- * acgeneral.m4 (AC_FUNC_CHECK): Include ctype.h instead of stdio.h.
- We want it only to define __stub_* in glibc. Using stdio.h lost
- when it contained a conflicting prototype for $1; ctype.h has fewer
- prototypes.
-
- * acconfig.h: Add GETGROUPS_T.
-
- * acspecific.m4 (AC_PROG_RANLIB): Use : instead of @: for no-op.
- Some braindead make does bizarre magical things with @ in variables.
-
-Mon May 10 14:24:27 1993 Noah Friedman (friedman@nutrimat.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_HAVE_POUNDBANG): New feature.
-
- * acgeneral.m4 (AC_OUTPUT): Add more backslashes to character class
- in DEFS filter (sigh).
-
-Sun May 9 14:04:31 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_DEFINE_QUOTE): No AC_QUOTE_SED (was innermost).
- (AC_HEADER_EGREP, AC_PROGRAM_EGREP, AC_TEST_CPP): Put a \ before
- $DEFS in string to be evalled.
- (AC_OUTPUT): Run DEFS through a sed filter that quotes things in it
- from sed (woo woo!) before writing it into config.status.
-
- * acspecific.m4 (AC_ALLOCA): Use AC_PROGRAM_EGREP to test for [CRAY
- && !CRAY2], instead of AC_TEST_PROGRAM. No need to run a program
- for this.
-
- * acgeneral.m4 (AC_PROGRAM_CHECK): Extract the first word of $2
- when looking for it in PATH, so it can be a program name with args.
- Omit default assignment if $4 is empty.
- Only write verbose msg if $1 was set nonempty.
- * acspecific.m4 (AC_PROG_YACC): Pass 'bison -y' (quoted like that)
- in list to AC_PROGRAMS_CHECK. Don't test for bison later to add -y
- flag.
-
-Sat May 8 00:23:58 1993 Jim Meyering (meyering@comco.com)
-
- * acgeneral.m4 (AC_REPLACE_FUNCS): Add a trailing newline in
- code for AC_COMPILE_CHECK. Otherwise it got spurious failures.
-
- * acspecific.m4 (TIME_WITH_SYS_TIME): New macro.
-
- * Makefile.in (dist): Depend on Makefile. Use gzip instead
- of compress. Link files individually instead of en masse;
- if a link fails, use `cp -f' on the losing file.
-
- * acspecific.m4 (AC_ALLOCA): Define CRAY_STACKSEG_END (the
- name of a function used in alloca.c) for CRAY-1, CRAY X-MP,
- and CRAY Y-MP.
-
-Fri May 7 15:56:26 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_GETLOADAVG): Check for mach/mach.h, but don't
- disable nlist checks if found.
-
-Fri May 7 04:59:25 1993 Noah Friedman (friedman@nutrimat.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_PROG_INSTALL): Don't look for `install' in
- /usr/ucb.
-
-Thu May 6 20:41:35 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_FUNC_CHECK): The test program should choke on
- #ifdef __stub___$1 as well.
- (AC_REPLACE_FUNCS): Make the test program choke on stubs.
-
-Wed May 5 20:43:13 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * autoconf.sh ($infile existence check): Fixed test for
- nonemptiness of $print_version to not always be true.
-
-Wed May 5 17:22:42 1993 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_PREFIX, AC_PROGRAM_CHECK), acspecific.m4
- (AC_PROG_INSTALL): If IFS wasn't set initially, give it a
- normal default value. Happens on LynxOS (x86), says
- Pete Klammer <PKLAMMER@cudnvr.denver.colorado.edu>.
-
-Wed May 5 13:22:52 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * acgeneral.m4: Undefine the `shift' builtin.
-
- * acspecific.m4 (AC_PROG_YACC): Use AC_PROGRAMS_CHECK to check for
- both bison and yacc, instead of two AC_PROGRAM_CHECK uses.
-
- * autoheader.sh ($# -eq 0): Set var $tmpout to name of temp file,
- send stdout there instead of config.h.in.
- (just before exit): If $# -eq 0, then move $tmpout to config.h.in
- if $status -eq 0, or remove $tmpout otherwise.
-
- * acspecific.m4 (AC_STRCOLL): Rewritten to use a test program that
- verifies that `strcoll' does vaguely reasonable ordering.
-
-Tue May 4 19:59:00 1993 Jim Meyering (meyering@comco.com)
-
- * acspecific.m4 (AC_LONG_DOUBLE): Don't explicitely echo
- `checking for long double'.
-
-Mon May 3 22:04:35 1993 Jim Meyering (meyering@comco.com)
-
- * acspecific.m4 (AC_GETGROUPS_T): New macro.
-
-Sat May 1 22:37:55 1993 Jim Meyering (meyering@comco.com)
-
- * acspecific.m4 (AC_LONG_DOUBLE): New macro.
-
-Wed Apr 28 15:52:42 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_PROGRAM_CHECK): Write msg under --verbose.
-
-Thu Apr 22 18:24:40 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_FUNC_CHECK): Remove spurious `#endif' line at end.
-
- * acgeneral.m4 (AC_WITH): Fix reversed args to patsubst.
- Test $with_FOO, not $FOO.
-
-Wed Apr 21 18:14:19 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_QUOTE_TOKEN): New macro.
- (AC_DEFINE_QUOTE): Use it.
-
-Tue Apr 20 18:02:46 1993 Noah Friedman (friedman@nutrimat.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_DECLARE_YYTEXT): Guess name of lex output file
- and do AC_SUBST of `LEX_OUTPUT_ROOT'.
- Add `dnl' after calling some autoconf macros.
-
-Mon Apr 19 15:46:24 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_MINUS_C_MINUS_O): Do each compile a second time
- after testing for the existence of the output. Some compilers
- refuse to overwrite an existing .o file with -o, though they will
- create one.
-
- * acspecific.m4 (AC_DECLARE_YYTEXT): Changed lex input to two lines
- of "%%", not just one.
-
-Sat Apr 17 17:26:12 1993 Jim Meyering (meyering@comco.com)
-
- * acgeneral.m4 (AC_COMPILE_CHECK): Don't print `checking for ...'
- message if first argument is empty.
-
-Sat Apr 17 01:18:41 1993 Noah Friedman (friedman@nutrimat.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_PID_T): provide self.
- (AC_VFORK): Require AC_PID_T.
-
-Fri Apr 16 11:57:35 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_PROGRAMS_CHECK): Take optional third arg; if
- given, use it as the default value.
-
-Thu Apr 15 16:43:45 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_REPLACE_FUNCS): Print a message under --verbose.
-
- * acgeneral.m4 (AC_HAVE_LIBRARY): Use m4's patsubst and translit
- instead of running sed and tr at runtime.
-
- * acconfig.h: Add STACK_DIRECTION.
-
-Wed Apr 14 17:08:47 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_ALLOCA): If we chose alloca.c, run a test
- program to define STACK_DIRECTION.
-
-Mon Apr 5 19:02:52 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_LONG_FILE_NAMES): Put test inside a for loop on
- several directories: . /tmp $prefix $exec_prefix. Define
- HAVE_LONG_FILE_NAMES iff long names win in all those directories.
-
-Sun Apr 4 18:38:23 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * Makefile.in (%.info): Removed pattern rule.
- (autoconf.info, standards.info): New rules.
-
- * autoconf.sh (version_only): New variable, set nonempty for
- `autoconf --version' with no input file.
- (output writing): No output if $version_only is set.
-
-Wed Mar 31 17:33:57 1993 Jim Meyering (meyering@comco.com)
-
- * acspecific.m4 (AC_CONST): Uncomment and fix second AIX test.
-
-Wed Mar 31 16:58:12 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_CONST): Rewrite first AIX XL C 1.02.0.0 test.
- Comment out bogosity in second AIX test.
-
-Wed Mar 31 12:45:59 1993 Jim Meyering (meyering@comco.com)
-
- * acgeneral.m4 (AC_DEFINE): Put single quotes around definition
- that is echoed with --verbose. AC_DEFINE(MVDIR, "$(libdir)/mvdir")
- was generating losing code.
-
-Mon Mar 29 15:44:24 1993 David J. MacKenzie (djm@kropotkin.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_STDC_HEADERS): Add a missing pair of [quotes].
-
-Mon Mar 29 14:54:00 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_DECLARE_YYTEXT): Change sed regexp so it won't
- match other identifiers beginning with `yytext'.
-
-Sat Mar 27 00:11:16 1993 Paul Eggert (eggert@twinsun.com)
-
- * acspecific.m4 (AC_CONST): Detect broken AIX XL C 1.2.0.0 compiler.
-
-Thu Mar 25 19:54:50 1993 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_CONST): Remove single quotes from the C
- program; they produce shell syntax errors.
-
- * acgeneral.m4 (AC_DEFINE): Add a newline after "}" to prevent
- commands following on the same line of configure.in from
- generating shell syntax errors.
-
- * acgeneral.m4 (AC_COMPILE_CHECK): Use explicit return types
- to avoid warnings.
- (AC_TEST_CPP): Add parens to force redirection order.
- (AC_OUTPUT): Allow hostname to return bogus exit status.
- From Jean-loup Gailly <jloup@chorus.fr>.
-
-Mon Mar 22 16:53:01 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * autoconf.sh: Use $M4, not m4 explicitly.
- (M4): If unset in env, initialize to @m4@.
- * autoheader.sh: Likewise.
- * Makefile.in (M4): Define new variable.
- (autoconf.conf, %.conf): Use it.
- (editsh): New variable: sed command to replace @datadir@; also
- replace @M4@ with $(M4).
- (autoconf, autoheader): Use $(editsh) instead of explicit sed command.
-
-Mon Mar 22 13:08:10 1993 Jim Meyering (meyering@comco.com)
-
- * acspecific.m4 (AC_CONST): IBM's /bin/cc under AIX-3.2 on an rs6000
- rejects attempts to modify *any* member of a struct that has a
- member declared like `const int *ap[2]'.
-
-Wed Mar 17 18:08:30 1993 Noah Friedman (friedman@nutrimat.gnu.ai.mit.edu)
-
- * autoconf.sh, autoheader.sh (MACRODIR): Variable renamed to
- AC_MACRODIR. Don't initialize it at runtime if it is already set
- in the environment.
- (MACROFILES): Don't set until after options are processed.
- (print_version): New temp variable.
-
- * autoconf.sh, autoheader.sh: Rewrote argument parsing.
- Added `-m', `--macrodir', `-h', `--help', and `--' options.
- Updated usage string.
-
- * autoconf.texi: Documented --macrodir option and its effects for
- both scripts.
-
-Tue Mar 16 09:10:48 1993 Jim Meyering (meyering@comco.com)
-
- * acspecific.m4 (AC_CONST): Sun's SC1.0 ANSI compiler (acc) won't
- increment a `const int *' pointer declared through a typedef.
-
-Mon Mar 15 16:08:42 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_PARSEARGS): Grok `--verbose' flag; set verbose=yes.
- (AC_DEFINE): Only echo "defining $1" if $verbose is set.
-
-Sun Mar 14 18:19:21 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_PROG_INSTALL): Choose `installbsd' if we find
- it, in preference to `install'.
-
- * acspecific.m4 (AC_CONST): Add a check for `const int *foo' not
- allowing modification of FOO (not *FOO).
-
-Fri Mar 12 15:27:53 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_OUTPUT_HEADER): Remove conftest.sh before
- creating it.
-
-Thu Mar 11 12:57:53 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_DEFINE): Surround defn with { and }.
-
- * acgeneral.m4 (AC_OUTPUT_HEADER): Split up $SEDDEFS into smaller
- chunks, since some shells can't handle large here documents.
- We write several commands in config.status to create conftest.sed
- in pieces.
-
-Mon Mar 8 14:40:53 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_WITH): Don't echo anything.
- Use the m4 patsubst fn instead of a run-time sed invocation to
- massage $1.
-
- * acspecific.m4 (AC_DIR_HEADER_CHECK): #include <sys/types.h>
- before the header we are testing.
-
- * acgeneral.m4 (AC_DEFINE): If $2 is empty, echo "defining $1 to be
- empty", rather than "defining $1 to be ".
-
- * acspecific.m4 (AC_DIR_HEADER_CHECK): New; subr of AC_DIR_HEADER.
- (AC_DIR_HEADER): Use it to test for each possible header file.
-
-Tue Mar 2 01:06:25 1993 Noah Friedman (friedman@nutrimat.gnu.ai.mit.edu)
-
- * autoheader.sh: Don't use /p1/,/p2/ construct with sed---it's not
- portable. Handle broken AIX sed that strips \n from hold space
- when it shouldn't. From Jun Hamano <junio@twinsun.com>.
-
-Tue Mar 02 00:08:39 1993 Jim Meyering (meyering@comco.com)
-
- * acspecific.m4 (AC_CONST): Fix typo that caused spurious lossage
- with /bin/cc from Irix-4. From Karl Berry.
-
-Fri Feb 26 17:14:58 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_CONST): Add bizarre case that loses on SCO 3.2v4.
-
-Mon Feb 22 13:02:27 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_QUOTE_HERE, AC_QUOTE_SED): Change the quote
- chars to { and } instead of nothing. Then use {} (empty quotes) to
- separate the patsubst forms from the following dnl. Otherwise the
- result of patsubst is pasted together with dnl and the result is
- seen as a single token.
-
- * acspecific.m4 (AC_MINUS_C_MINUS_O): Print msg saying what we are
- doing before we do it.
-
- * acgeneral.m4 (AC_PREFIX): Print out the choice made.
- (AC_DEFINE): Print out the definition being done.
-
- * acgeneral.m4 (AC_DEFINE_QUOTE): Add dnl at end of line.
-
- * acspecific.m4 (AC_GETLOADAVG): Do changequote around listing of
- /dev/kmem and sed frobbing which needs to use [ and ].
-
-Sun Feb 21 13:57:55 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * autoheader.sh: Use brackets in tr range args.
-
- * acspecific.m4 (AC_SETVBUF_REVERSED): Make the test fail if
- setvbuf returns nonzero.
-
- * acspecific.m4 (AC_GETLOADAVG): If we need to install setgid,
- figure out what group owns /dev/kmem, and set KMEM_GROUP to that.
-
- * acspecific.m4 (AC_MINUS_C_MINUS_O): Test plain `cc' after testing
- $CC. We want to make sure both compilers grok -c -o.
-
-Thu Feb 18 18:05:14 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_QUOTE_{DQUOTE,SQUOTE,HERE,SED}): New macros.
- (AC_DEFINE_{QUOTE,SEDQUOTE}): New macros; subrs of AC_DEFINE.
- (AC_DEFINE): Use them to quote $2.
-
-Wed Feb 17 14:49:14 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_TIMEZONE): Fixed quoting in tzname check.
- changequote inside quotes lost.
-
-Mon Feb 8 14:22:11 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * acconfig.h (_ALL_SOURCE): Use #ifndef; AIX compiler way too dumb.
-
-Sun Jan 31 16:39:46 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_TIMEZONE): Put newlines before `#include ...'
- in $defs value.
-
-Thu Jan 28 18:06:53 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * acconfig.h (_ALL_SOURCE): Use "!defined (_ALL_SOURCE) ||
- _ALL_SOURCE == 0" rather than "!_ALL_SOURCE", which bombs on the
- AIX compiler.
-
-Mon Jan 25 12:09:43 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * acconfig.h (HAVE_UNION_WAIT, SYS_SIGLIST_DECLARED): New #undef's.
-
- * acconfig.h (_ALL_SOURCE): Surround with #if !_ALL_SOURCE.
-
-Fri Jan 22 15:08:33 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_GETLOADAVG): If /usr/local/lib/libgetloadavg.a
- exists, add -L/usr/local/lib to LDFLAGS.
-
-Fri Jan 22 12:49:11 1993 David J. MacKenzie (djm@kropotkin.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_OUTPUT_HEADER): Only comment out the #undef NAME
- part of the line, to avoid causing errors from existing comments.
-
-Thu Jan 21 14:50:20 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_HAVE_LIBRARY): Use $libname in "checking for"
- message, not $1, to avoid "checking for -l-lfoo".
-
- * acgeneral.m4 (AC_PREPARE): In compile defn, include $CFLAGS.
-
- * acgeneral.m4 (AC_OUTPUT): Broke AC_CONFIG_NAME writing out into:
- (AC_OUTPUT_HEADER): New macro broken out of AC_OUTPUT.
- Add to conftest.sed a new sed command to turn #undef's into comments.
-
- * acgeneral.m4 (AC_OUTPUT): Use new shell variable, $maxsedlines,
- for max number of lines to feed to one sed invocation.
- Lower this limit to 20; UTekV 3.2e can't cope with 40.
-
-Tue Jan 19 13:21:02 1993 David J. MacKenzie (djm@kropotkin.gnu.ai.mit.edu)
-
- * Version 1.3.
-
-Fri Jan 15 16:28:18 1993 David J. MacKenzie (djm@kropotkin.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_CONFIG_HEADER, AC_HEADER_EGREP,
- AC_TEST_PROGRAM): Make DEFS always contain -D commands,
- not C code.
-
-Thu Jan 14 17:05:17 1993 David J. MacKenzie (djm@kropotkin.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_GETLOADAVG): Check for -lkvm; don't assume it.
-
-Thu Jan 14 16:46:41 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * autoheader.sh (selecting $syms from $TEMPLATES): Use sed to
- replace lines containing only blanks with empty lines.
-
-Thu Jan 14 15:15:31 1993 David J. MacKenzie (djm@kropotkin.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_MODE_T): New macro.
-
- * acgeneral.m4 (AC_OUTPUT): Check for grep -c returning
- nothing (AIX 3.1) as well as returning 0.
-
-Wed Jan 13 16:05:59 1993 David J. MacKenzie (djm@kropotkin.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_FUNC_CHECK): Add missing #endif.
-
- * acgeneral.m4 (AC_OUTPUT): Use sed, not basename.
- From Francois Pinard.
-
-Wed Jan 13 15:49:18 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_OUTPUT): Set exec_prefix to ${prefix}, not
- $(prefix); it now works in both makefiles and shell scripts.
-
-Wed Jan 13 15:29:04 1993 David J. MacKenzie (djm@kropotkin.gnu.ai.mit.edu)
-
- * autoheader.sh: If input is empty, don't print all of
- acconfig.h. From Francois Pinard.
-
- * acgeneral.m4 (AC_OUTPUT): Have config.status check all of its
- args for validity.
-
-Tue Jan 12 11:11:45 1993 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_OUTPUT): Preserve whitespace around = in prefix
- and exec_prefix assignments.
-
- * acspecific.m4 (AC_GETLOADAVG): Values for getloadavg_missing were
- reversed.
-
-Fri Jan 8 18:45:59 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_OUTPUT): Make config.status not complain with
- usage msg when given no args.
-
- * acgeneral.m4 (AC_HAVE_LIBRARY): Say "checking for -lfoo", not
- just "checking for foo".
-
- * acgeneral.m4 (AC_HAVE_LIBRARY): Remove excess quoting around $2
- and $3.
-
- * acspecific.m4 (AC_GETLOADAVG): Check for getloadavg library, both
- a normally installed one, and one in /usr/local/lib.
- After figuring out params for getloadavg.c, figure out whether it
- defined LDAV_PRIVILEGED, and if so, set NEED_SETGID to true, and
- define GETLOADAVG_PRIVILEGED.
- * acconfig.h: Added GETLOADAVG_PRIVILEGED.
-
-Fri Jan 8 16:16:35 1993 David J. MacKenzie (djm@kropotkin.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_DEFINE, AC_OUTPUT): Restore the third sed string.
-
- * acgeneral.m4 (AC_FUNC_CHECK): Use __stub_funcname.
-
- * autoheader.sh: Use Autoconf version number.
-
- * acgeneral.m4 (AC_OUTPUT): Diagnose usage errors for
- config.status. Use grep -c to count nonempty lines instead of
- test -s.
-
- * acspecific.m4 (AC_GETLOADAVG): Use AC_HAVE_LIBRARY.
-
-Wed Jan 6 19:54:47 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * autoheader.sh (coverage check): Use $TEMPLATES in error msg, not
- hard-wired "config.h".
-
-Wed Jan 6 18:24:41 1993 David J. MacKenzie (djm@kropotkin.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_OUTPUT): If AC_CONFIG_NAME, change
- @DEFS@ to -DHAVE_CONFIG_H in Makefiles etc. Idea from Roland McGrath.
-
- * acgeneral.m4 (AC_FUNC_CHECK): If __STUB_funcname is defined,
- assume the function isn't present.
-
- * acgeneral.m4 (AC_OUTPUT): Make no args to AC_OUTPUT work
- again. From Ian Lance Taylor.
-
- * acspecific.m4 (AC_CONST): Fix quoting problem.
-
- * acconfig.h [const]: New addition.
-
-Thu Dec 31 17:56:18 1992 David J. MacKenzie (djm@kropotkin.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_HAVE_LIBRARY): New macro from Noah Friedman.
-
- * acconfig.h: Renamed from config.h.
-
- * autoheader.sh: Renamed from autohead.sh.
- Support a local acconfig.h.
- Use \\012 instead of \\n for tr for portability.
-
-Thu Dec 31 12:30:34 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * config.h: Added #undef vfork.
-
-Tue Dec 29 14:26:43 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_COMPILE_CHECK): Use cat rather than echo to
- create conftest.c, to avoid " problems.
-
-Fri Dec 25 15:07:06 1992 David J. MacKenzie (djm@kropotkin.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_CONST): Don't define HAVE_CONST.
-
- * acgeneral.m4 (AC_OUTPUT, AC_DEFINE): Combine the two sed
- commands for #undef lines.
- * acgeneral.m4 (AC_PROGRAM_EGREP, AC_TEST_PROGRAM,
- AC_TEST_CPP, AC_OUTPUT), acspecific.m4 (AC_PROG_CC): Put >
- before << when using both, to avoid HP-UX sh bug.
-
-Wed Dec 23 20:47:53 1992 David J. MacKenzie (djm@kropotkin.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_PARSEARGS): Use if, not &&, for --with.
- From Jan Brittenson.
-
-Mon Dec 21 17:13:57 1992 David J. MacKenzie (djm@kropotkin.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_OUTPUT): Use sed instead of head and tail.
- Trap to remove the temp files.
-
- * acgeneral.m4 (AC_OUTPUT): Quote DEFS assignment.
- From Ian Lance Taylor.
-
-Mon Dec 21 14:27:44 1992 Jim Meyering (meyering@comco.com)
-
- * acspecific.m4 (AC_STDC_HEADERS): Make sure ctype.h macros
- are ANSI. Nest tests so we don't need shell temporary variable.
-
-Sun Dec 20 18:12:33 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu)
-
- * Makefile.in (%.h: %.in): New rule using autohead.
- (all): Do autohead.
- (install): Install autohead and config.h.
- (autohead): New rule.
- (DISTFILES): Added autohead.sh.
- * autohead: New script.
-
-Fri Dec 18 00:21:23 1992 David J. MacKenzie (djm@kropotkin.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_HAVE_FUNCS, AC_HAVE_HEADERS): Change method
- of tr quoting to keep old shells happy. From Ian Lance Taylor.
-
- * acgeneral.m4 (AC_DEFINE): Add to SEDDEFS.
- (AC_OUTPUT): Use sed instead of awk.
- From Ian Lance Taylor.
-
-Mon Dec 14 14:33:29 1992 David J. MacKenzie (djm@kropotkin.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_STDC_HEADERS): Check for string.h
- declaring memchr.
-
- * acgeneral.m4 (AC_NOTICE): Fix comment.
-
-Fri Dec 11 17:59:23 1992 David J. MacKenzie (djm@kropotkin.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_ALLOCA): Don't use libPW; it causes too
- much trouble.
-
-Wed Dec 9 14:04:30 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * config.h: Added HAVE_SYS_WAIT, HAVE_WAITPID, SVR4, UMAX,
- [ugp]id_t, UMAX4_3, DGUX.
-
-Thu Dec 3 13:37:17 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_PROG_INSTALL): Ignore AFS install.
- From James Clark, jjc@jclark.com.
-
-Tue Nov 24 07:47:45 1992 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_PROG_LEX, AC_DECLARE_YYTEXT, AC_VFORK, AC_WAIT3,
- AC_INT_16_BITS, AC_WORDS_BIGENDIAN, AC_ARG_ARRAY): End with a newline.
-
- * acspecific.m4 (AC_DIR_HEADER): If ndir.h exists and the other
- choices don't, define NDIR.
-
-Sat Nov 21 00:14:51 1992 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_RETSIGTYPE): Instead of grepping for the signal
- declaration, try redeclaring it and see if we get an error.
- Always define RETSIGTYPE, not just if it's int.
- From Ian Lance Taylor.
-
-Fri Nov 20 17:06:09 1992 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_DEFINE): Only put -D option in quotes if it
- actually contains blanks.
-
-Thu Nov 19 17:18:40 1992 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_PARSEARGS): Set a shell var for --with-*.
- (AC_WITH): New macro.
-
- * acspecific.m4 (AC_CONST): If const works, define HAVE_CONST.
-
- * acspecific.m4 (AC_ALLOCA): Don't use libPW on HP-UX.
-
-Wed Nov 18 17:36:08 1992 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_DEFINE): When writing a -D with a value,
- surround it with 's so the value can contain spaces.
-
-Thu Nov 12 22:49:35 1992 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_PROG_CC): Don't add -O to CC if GNU C.
- (-O2, or nothing, might be more appropriate.)
-
-Sun Nov 8 23:33:23 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
-
- * acspecific.m4 (AC_GETLOADAVG): Check for dwarf.h for general
- svr4, then elf.h for Solaris 2, which needs additional libraries.
-
-Thu Nov 12 22:18:54 1992 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_PARSEARGS): --exec_prefix -> --exec-prefix.
-
-Tue Nov 10 16:15:10 1992 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu)
-
- * acgeneral.m4: undef m4 `include' builtin.
-
- * acspecific.m4 (AC_STDC_HEADERS): Don't test for limits.h
- due to Ultrix conflict with float.h.
-
-Thu Oct 29 16:16:11 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_PARSEARGS, AC_PREPARE): New macros, broken out
- parts of AC_INIT.
- (AC_INIT): Use them.
-
-Thu Oct 22 20:48:12 1992 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_INSTALL): Comment out arg to `:'.
- AIX doesn't like it.
-
-Wed Oct 14 12:41:02 1992 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu)
-
- * Version 1.2.
-
- * acspecific.m4 (AC_INSTALL): Avoid the AIX install script.
-
- * acspecific.m4 (AC_RESTARTABLE_SYSCALLS): Wait for child if
- sys calls are not restarted, to avoid leaving the child still
- running. From Ian Lance Taylor.
-
-Tue Oct 13 15:43:56 1992 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_CONST): Add more tests for brokenness.
- From Jim Meyering.
-
- * acgeneral.m4: Use % instead of ? to avoid shell variable expansion.
-
-Fri Oct 2 06:55:05 1992 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu)
-
- * acgeneral.m4: Use ? instead of , to separate parts of sed arg.
-
-Mon Sep 14 12:33:41 1992 David J. MacKenzie (djm@apple-gunkies.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_STDC_HEADERS): Also check for float.h.
-
- * acspecific.m4 (AC_TIMEZONE): Protect [] from being quotes.
-
-Thu Sep 10 17:12:10 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_OUTPUT): Include the hostname in config.status.
-
- * acgeneral.m4 (AC_OUTPUT): Use a separate flag in the awk
- script instead of checking for non-empty values, so things
- like defining const as empty work. From
- Steve Emmerson <steve@unidata.ucar.edu>.
-
-Fri Aug 28 18:51:13 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_INIT): If there's no path on $0, use '.'.
-
-Thu Aug 27 16:15:14 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
-
- * config.h: New file.
-
- * acgeneral.m4 (AC_INIT): Look for source files in the
- directory containing `configure', if not given explicitly.
-
- * acspecific.m4 (AC_TIMEZONE): Adjust tzname decl for RS6000.
-
- * acspecific.m4 (AC_GETLOADAVG): Don't use double quotes in
- the test program.
-
-Thu Aug 27 15:26:49 1992 Roland McGrath (roland@wookumz.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_GETLOADAVG): Don't check nlist.h if we found
- one of specific things.
-
-Mon Aug 24 16:22:45 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
-
- * Version 1.1.
-
- * acspecific.m4 (AC_TIMEZONE): Include time.h. Don't
- declare tzname if it's a macro. From Jim Meyering.
-
-Fri Aug 21 14:12:35 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_ALLOCA): Check whether the alloca defined by
- alloca.h works when given a non-constant argument.
-
- * acspecific.m4 (AC_GETLOADAVG): Define NLIST_STRUCT and
- NLIST_NAME_UNION if appropriate.
-
- * acgeneral.m4 (AC_OUTPUT): If no args are given, omit the loop to
- produce output files.
-
- * acgeneral.m4 (AC_TEST_PROGRAM): Add a call to exit to try to
- suppress core dumped message. From Ian Lance Taylor.
-
- * acgeneral.m4 (AC_PREFIX): Only print the message if prefix
- hasn't been set. From James Clark.
-
- * acspecific.m4 (AC_SIZE_T, AC_UID_T, AC_PID_T,
- AC_RETSIGTYPE): Print a message saying what it's checking for.
- (AC_SIZE_T): Define size_t to be unsigned, not int, for
- ANSI-friendliness.
-
- * acspecific.m4 (AC_GETLOADAVG): Just check for elf.h, not
- dwarf.h too.
-
- * autoconf.sh: Exit with status 1 if there are unresolved macros.
- Isolate the pattern to make adding other prefixes easy.
- Look for aclocal.m4 in . as well as MACRODIR.
-
-Tue Aug 18 16:35:46 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_STRCOLL): New macro.
-
-Tue Aug 18 15:22:45 1992 Roland McGrath (roland@geech.gnu.ai.mit.edu)
-
- * acspecific.m4 (AC_GETLOADAVG): elf.h implies SVR4.
-
-Mon Jul 27 14:20:32 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_TEST_PROGRAM): Check for cross-compiling
- was missing "test -n". From Ian Lance Taylor.
-
-Sun Jul 26 16:25:19 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
-
- * acgeneral.m4 (AC_SUBST): Support multiple substitutions in a
- line.
-
-Mon Jul 20 01:08:01 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu)
-
- * Version 1.0.
diff --git a/util/autoconf/INSTALL b/util/autoconf/INSTALL
deleted file mode 100644
index 0338fbc..0000000
--- a/util/autoconf/INSTALL
+++ /dev/null
@@ -1,167 +0,0 @@
-Basic Installation
-==================
-
- These are generic installation instructions.
-
- The `configure' shell script attempts to guess correct values for
-various system-dependent variables used during compilation. It uses
-those values to create a `Makefile' in each directory of the package.
-It may also create one or more `.h' files containing system-dependent
-definitions. Finally, it creates a shell script `config.status' that
-you can run in the future to recreate the current configuration, a file
-`config.cache' that saves the results of its tests to speed up
-reconfiguring, and a file `config.log' containing compiler output
-(useful mainly for debugging `configure').
-
- If you need to do unusual things to compile the package, please try
-to figure out how `configure' could check whether to do them, and mail
-diffs or instructions to the address given in the `README' so they can
-be considered for the next release. If at some point `config.cache'
-contains results you don't want to keep, you may remove or edit it.
-
- The file `configure.in' is used to create `configure' by a program
-called `autoconf'. You only need `configure.in' if you want to change
-it or regenerate `configure' using a newer version of `autoconf'.
-
-The simplest way to compile this package is:
-
- 1. `cd' to the directory containing the package's source code and type
- `./configure' to configure the package for your system. If you're
- using `csh' on an old version of System V, you might need to type
- `sh ./configure' instead to prevent `csh' from trying to execute
- `configure' itself.
-
- Running `configure' takes awhile. While running, it prints some
- messages telling which features it is checking for.
-
- 2. Type `make' to compile the package.
-
- 3. Optionally, type `make check' to run any self-tests that come with
- the package.
-
- 4. Type `make install' to install the programs and any data files and
- documentation.
-
- 5. You can remove the program binaries and object files from the
- source directory by typing `make clean'. To also remove the files
- that `configure' created (so you can compile the package for a
- different kind of computer), type `make distclean'.
-
-Compilers and Options
-=====================
-
- Some systems require unusual options for compilation or linking that
-the `configure' script does not know about. You can give `configure'
-initial values for variables by setting them in the environment. Using
-a Bourne-compatible shell, you can do that on the command line like
-this:
- CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
-
-Or on systems that have the `env' program, you can do it like this:
- env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
-
-Using a Different Build Directory
-=================================
-
- You can compile the package in a different directory from the one
-containing the source code. Doing so allows you to compile it on more
-than one kind of computer at the same time. To do this, you must use a
-version of `make' that supports the `VPATH' variable, such as GNU
-`make'. `cd' to the directory where you want the object files and
-executables to go and run the `configure' script. `configure'
-automatically checks for the source code in the directory that
-`configure' is in and in `..'.
-
-Installation Names
-==================
-
- By default, `make install' will install the package's files in
-`/usr/local/bin', `/usr/local/man', etc. You can specify an
-installation prefix other than `/usr/local' by giving `configure' the
-option `--prefix=PATH'.
-
- You can specify separate installation prefixes for
-architecture-specific files and architecture-independent files. If you
-give `configure' the option `--exec-prefix=PATH', the package will use
-PATH as the prefix for installing programs and libraries.
-Documentation and other data files will still use the regular prefix.
-
- If the package supports it, you can cause programs to be installed
-with an extra prefix or suffix on their names by giving `configure' the
-option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
-
-Optional Features
-=================
-
- Some packages pay attention to `--enable-FEATURE' options to
-`configure', where FEATURE indicates an optional part of the package.
-They may also pay attention to `--with-PACKAGE' options, where PACKAGE
-is something like `gnu-as' or `x' (for the X Window System). The
-`README' should mention any `--enable-' and `--with-' options that the
-package recognizes.
-
- For packages that use the X Window System, `configure' can usually
-find the X include and library files automatically, but if it doesn't,
-you can use the `configure' options `--x-includes=DIR' and
-`--x-libraries=DIR' to specify their locations.
-
-Specifying the System Type
-==========================
-
- There may be some features `configure' can not figure out
-automatically, but needs to determine by the type of host the package
-will run on. Usually `configure' can figure that out, but if it prints
-a message saying it can not guess the host type, give it the
-`--host=TYPE' option. TYPE can either be a short name for the system
-type, such as `sun4', or a canonical name with three fields:
- CPU-COMPANY-SYSTEM
-
-See the file `config.sub' for the possible values of each field. If
-`config.sub' isn't included in this package, then this package doesn't
-need to know the host type.
-
- If you are building compiler tools for cross-compiling, you can also
-use the `--target=TYPE' option to select the type of system they will
-produce code for and the `--build=TYPE' option to select the type of
-system on which you are compiling the package.
-
-Sharing Defaults
-================
-
- If you want to set default values for `configure' scripts to share,
-you can create a site shell script called `config.site' that gives
-default values for variables like `CC', `cache_file', and `prefix'.
-`configure' looks for `PREFIX/share/config.site' if it exists, then
-`PREFIX/etc/config.site' if it exists. Or, you can set the
-`CONFIG_SITE' environment variable to the location of the site script.
-A warning: not all `configure' scripts look for a site script.
-
-Operation Controls
-==================
-
- `configure' recognizes the following options to control how it
-operates.
-
-`--cache-file=FILE'
- Save the results of the tests in FILE instead of `config.cache'.
- Set FILE to `/dev/null' to disable caching, for debugging
- `configure'.
-
-`--help'
- Print a summary of the options to `configure', and exit.
-
-`--quiet'
-`--silent'
-`-q'
- Do not print messages saying which checks are being made.
-
-`--srcdir=DIR'
- Look for the package's source code in directory DIR. Usually
- `configure' can determine that directory automatically.
-
-`--version'
- Print the version of Autoconf used to generate the `configure'
- script, and exit.
-
-`configure' also accepts some other, not widely useful, options.
-
diff --git a/util/autoconf/Makefile b/util/autoconf/Makefile
deleted file mode 100644
index baffc63..0000000
--- a/util/autoconf/Makefile
+++ /dev/null
@@ -1,207 +0,0 @@
-# Generated automatically from Makefile.in by configure.
-# Makefile for Autoconf.
-# Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-#### Start of system configuration section. ####
-
-srcdir = .
-
-INSTALL = /usr/athena/bin/install -c
-INSTALL_PROGRAM = ${INSTALL}
-INSTALL_DATA = ${INSTALL} -m 644
-MAKEINFO = makeinfo
-TEXI2DVI = texi2dvi
-M4 = /mit/gnu/rsaixbin/gm4
-PERL = /usr/athena/bin/perl
-
-# Programs that are always installed.
-ASCRIPTS = autoconf autoheader autoreconf autoupdate ifnames
-SCRIPTS = $(ASCRIPTS) autoscan
-
-transform=s,x,x,
-
-prefix = /usr/local
-exec_prefix = ${prefix}
-
-# Directory in which to install scripts.
-bindir = $(exec_prefix)/bin
-
-# Directory in which to install library files.
-datadir = $(prefix)/share
-acdatadir = $(datadir)/autoconf
-
-# Directory in which to install documentation info files.
-infodir = $(prefix)/info
-
-#### End of system configuration section. ####
-
-SHELL = /bin/sh
-
-SUBDIRS = testsuite
-
-M4FILES = autoconf.m4 acgeneral.m4 acoldnames.m4 acspecific.m4 autoheader.m4
-
-# Files that can be generated, but should be up to date for a distribution.
-DISTDEP = info Makefile
-# Files to distribute.
-DISTFILES = COPYING ChangeLog ChangeLog.1 INSTALL \
- Makefile.in NEWS README TODO $(M4FILES) \
- acconfig.h acfunctions acheaders acidentifiers \
- acmakevars acprograms autoconf.info* \
- autoconf.sh autoconf.texi install.texi \
- autoheader.sh autoscan.pl autoreconf.sh autoupdate.sh ifnames.sh \
- config.guess config.sub configure configure.in \
- install-sh mkinstalldirs texinfo.tex \
- testsuite/Makefile.in testsuite/config/*.exp \
- testsuite/lib/*.exp testsuite/autoconf.[gs]/*.exp \
- standards.texi make-stds.texi standards.info*
-
-editsh = sed -e 's,@''datadir''@,$(acdatadir),g' -e 's,@''M4''@,$(M4),g'
-editpl = sed -e 's,@''datadir''@,$(acdatadir),g' -e 's,@''PERL''@,$(PERL),g'
-
-all: ${SCRIPTS}
-
-.SUFFIXES:
-.SUFFIXES: .sh .pl
-
-.sh:
- rm -f $@ $@.tmp
- $(editsh) $< > $@.tmp && chmod +x $@.tmp && mv $@.tmp $@
-
-.pl:
- rm -f $@ $@.tmp
- $(editpl) $< > $@.tmp && chmod +x $@.tmp && mv $@.tmp $@
-
-info: autoconf.info standards.info INSTALL
-
-autoconf.info: autoconf.texi install.texi
- $(MAKEINFO) -I$(srcdir) $(srcdir)/autoconf.texi --output=$@
-
-INSTALL: install.texi
- $(MAKEINFO) -I$(srcdir) $(srcdir)/install.texi --output=$@ \
- --no-headers --no-validate
-
-standards.info: standards.texi make-stds.texi
- $(MAKEINFO) -I$(srcdir) $(srcdir)/standards.texi --output=$@
-
-dvi: autoconf.dvi standards.dvi
-
-autoconf.dvi: autoconf.texi
- $(TEXI2DVI) $(srcdir)/autoconf.texi
-
-standards.dvi: standards.texi make-stds.texi
- $(TEXI2DVI) $(srcdir)/standards.texi
-
-check: all
- rootme=`pwd`; srcrootme=`cd $(srcdir); pwd`; \
- test -r install-sh || cp $(srcdir)/install-sh .; \
- cd testsuite && ${MAKE} $@ AUTOCONF=$$rootme/autoconf \
- AUTOCONFFLAGS="-m $$srcrootme"
-
-installcheck: all install
- cd testsuite && ${MAKE} AUTOCONF=${bindir}/autoconf $@
-
-installdirs:
- $(SHELL) ${srcdir}/mkinstalldirs $(bindir) $(infodir) $(acdatadir)
-
-install: all $(M4FILES) acconfig.h installdirs install-info
- @case `$(M4) --help < /dev/null 2>&1` in \
- *reload-state*) echo installing frozen m4 files; \
- $(M4) -F $(acdatadir)/autoconf.m4f -I${srcdir} ${srcdir}/autoconf.m4 ; \
- $(M4) -F $(acdatadir)/autoheader.m4f -I${srcdir} ${srcdir}/autoheader.m4 ;; \
- *traditional*) ;; \
- *) echo Error: Autoconf requires GNU m4 1.1 or later; exit 1 ;; \
- esac
- for p in $(ASCRIPTS); do \
- $(INSTALL_PROGRAM) $$p $(bindir)/`echo $$p|sed '$(transform)'`; \
- done
- for i in $(M4FILES) acconfig.h; do \
- $(INSTALL_DATA) $(srcdir)/$$i $(acdatadir)/$$i; \
- done
- -if test -f autoscan; then \
- $(INSTALL_PROGRAM) autoscan $(bindir)/`echo autoscan|sed '$(transform)'`; \
- for i in acfunctions acheaders acidentifiers acprograms \
- acmakevars; do \
- $(INSTALL_DATA) $(srcdir)/$$i $(acdatadir)/$$i; \
- done; \
- else :; fi
-
-install-info: info installdirs
- -test -f autoconf.info || cd $(srcdir); \
- for i in autoconf.info*; do \
- $(INSTALL_DATA) $$i $(infodir)/$$i; \
- done
- -test -f standards.info || cd $(srcdir); \
- for i in standards.info*; do \
- $(INSTALL_DATA) $$i $(infodir)/$$i; \
- done
-
-uninstall:
- for p in $(SCRIPTS); do \
- rm -f $(bindir)/`echo $$p|sed '$(transform)'`; \
- done
- rm -fr $(acdatadir)
- cd $(infodir); rm -f autoconf.info*
- if test -f standards.info || test -f $(srcdir)/standards.info; \
- then cd $(infodir); rm -f standards.info*; fi
-
-${srcdir}/configure: configure.in $(M4FILES)
- cd $(srcdir); \
- rm -f $@ $@.tmp; \
- $(M4) autoconf.m4 configure.in > $@.tmp && \
- chmod +x $@.tmp && mv $@.tmp $@
-Makefile: Makefile.in config.status
- ./config.status
-config.status: configure
- ./config.status --recheck
-
-clean mostlyclean distclean realclean::
- for dir in $(SUBDIRS); do \
- echo making $@ in $$dir ; \
- (cd $$dir; $(MAKE) $@) ; \
- done
-
-clean mostlyclean distclean realclean::
- rm -f $(SCRIPTS) *.tmp
- rm -f *.aux *.cp *.cps *.dvi *.fn *.fns *.ky *.kys *.log
- rm -f *.pg *.pgs *.toc *.tp *.tps *.vr *.vrs
- rm -f *.ev *.evs *.ov *.ovs *.cv *.cvs *.ma *.mas
-
-distclean realclean::
- rm -f Makefile config.status config.cache config.log
-
-realclean::
- rm -f TAGS *.info* INSTALL
-
-TAGS:
- etags ${srcdir}/*.m4 ${srcdir}/*.sh ${srcdir}/[a-z]*.in ${srcdir}/*.texi
-
-# Don't depend on DISTFILES because there's no rule for "standards.info*".
-dist: $(DISTDEP)
- distname=`sed -e '/define(AC_ACVERSION,/!d' \
- -e 's/[^0-9.]*\([0-9.]*\).*/autoconf-\1/' -e q acgeneral.m4`; \
- rm -fr $$distname; \
- mkdir $$distname $$distname/testsuite $$distname/testsuite/config \
- $$distname/testsuite/lib $$distname/testsuite/autoconf.g \
- $$distname/testsuite/autoconf.s; \
- for file in $(DISTFILES); do \
- ln $$file $$distname/$$file \
- || { echo copying $$file instead; cp -p $$file $$distname/$$file;}; \
- done; \
- chmod -R a+rX $$distname; \
- tar -chz -f $$distname.tar.gz $$distname; \
- rm -fr $$distname
diff --git a/util/autoconf/Makefile.in b/util/autoconf/Makefile.in
deleted file mode 100644
index e7aab1d..0000000
--- a/util/autoconf/Makefile.in
+++ /dev/null
@@ -1,207 +0,0 @@
-# Makefile for Autoconf.
-# Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-#### Start of system configuration section. ####
-
-srcdir = @srcdir@
-VPATH = @srcdir@
-
-INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_DATA = @INSTALL_DATA@
-MAKEINFO = makeinfo
-TEXI2DVI = texi2dvi
-M4 = @M4@
-PERL = @PERL@
-
-# Programs that are always installed.
-ASCRIPTS = autoconf autoheader autoreconf autoupdate ifnames
-SCRIPTS = $(ASCRIPTS) @SCRIPTS@
-
-transform=@program_transform_name@
-
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-
-# Directory in which to install scripts.
-bindir = $(exec_prefix)/bin
-
-# Directory in which to install library files.
-datadir = $(prefix)/share
-acdatadir = $(datadir)/autoconf
-
-# Directory in which to install documentation info files.
-infodir = $(prefix)/info
-
-#### End of system configuration section. ####
-
-SHELL = /bin/sh
-
-SUBDIRS = testsuite
-
-M4FILES = autoconf.m4 acgeneral.m4 acoldnames.m4 acspecific.m4 autoheader.m4
-
-# Files that can be generated, but should be up to date for a distribution.
-DISTDEP = info Makefile
-# Files to distribute.
-DISTFILES = COPYING ChangeLog ChangeLog.1 INSTALL \
- Makefile.in NEWS README TODO $(M4FILES) \
- acconfig.h acfunctions acheaders acidentifiers \
- acmakevars acprograms autoconf.info* \
- autoconf.sh autoconf.texi install.texi \
- autoheader.sh autoscan.pl autoreconf.sh autoupdate.sh ifnames.sh \
- config.guess config.sub configure configure.in \
- install-sh mkinstalldirs texinfo.tex \
- testsuite/Makefile.in testsuite/config/*.exp \
- testsuite/lib/*.exp testsuite/autoconf.[gs]/*.exp \
- standards.texi make-stds.texi standards.info*
-
-editsh = sed -e 's,@''datadir''@,$(acdatadir),g' -e 's,@''M4''@,$(M4),g'
-editpl = sed -e 's,@''datadir''@,$(acdatadir),g' -e 's,@''PERL''@,$(PERL),g'
-
-all: ${SCRIPTS}
-
-.SUFFIXES:
-.SUFFIXES: .sh .pl
-
-.sh:
- rm -f $@ $@.tmp
- $(editsh) $< > $@.tmp && chmod +x $@.tmp && mv $@.tmp $@
-
-.pl:
- rm -f $@ $@.tmp
- $(editpl) $< > $@.tmp && chmod +x $@.tmp && mv $@.tmp $@
-
-info: autoconf.info @standards_info@ INSTALL
-
-autoconf.info: autoconf.texi install.texi
- $(MAKEINFO) -I$(srcdir) $(srcdir)/autoconf.texi --output=$@
-
-INSTALL: install.texi
- $(MAKEINFO) -I$(srcdir) $(srcdir)/install.texi --output=$@ \
- --no-headers --no-validate
-
-standards.info: standards.texi make-stds.texi
- $(MAKEINFO) -I$(srcdir) $(srcdir)/standards.texi --output=$@
-
-dvi: autoconf.dvi @standards_dvi@
-
-autoconf.dvi: autoconf.texi
- $(TEXI2DVI) $(srcdir)/autoconf.texi
-
-standards.dvi: standards.texi make-stds.texi
- $(TEXI2DVI) $(srcdir)/standards.texi
-
-check: all
- rootme=`pwd`; srcrootme=`cd $(srcdir); pwd`; \
- test -r install-sh || cp $(srcdir)/install-sh .; \
- cd testsuite && ${MAKE} $@ AUTOCONF=$$rootme/autoconf \
- AUTOCONFFLAGS="-m $$srcrootme"
-
-installcheck: all install
- cd testsuite && ${MAKE} AUTOCONF=${bindir}/autoconf $@
-
-installdirs:
- $(SHELL) ${srcdir}/mkinstalldirs $(bindir) $(infodir) $(acdatadir)
-
-install: all $(M4FILES) acconfig.h installdirs install-info
- @case `$(M4) --help < /dev/null 2>&1` in \
- *reload-state*) echo installing frozen m4 files; \
- $(M4) -F $(acdatadir)/autoconf.m4f -I${srcdir} ${srcdir}/autoconf.m4 ; \
- $(M4) -F $(acdatadir)/autoheader.m4f -I${srcdir} ${srcdir}/autoheader.m4 ;; \
- *traditional*) ;; \
- *) echo Error: Autoconf requires GNU m4 1.1 or later; exit 1 ;; \
- esac
- for p in $(ASCRIPTS); do \
- $(INSTALL_PROGRAM) $$p $(bindir)/`echo $$p|sed '$(transform)'`; \
- done
- for i in $(M4FILES) acconfig.h; do \
- $(INSTALL_DATA) $(srcdir)/$$i $(acdatadir)/$$i; \
- done
- -if test -f autoscan; then \
- $(INSTALL_PROGRAM) autoscan $(bindir)/`echo autoscan|sed '$(transform)'`; \
- for i in acfunctions acheaders acidentifiers acprograms \
- acmakevars; do \
- $(INSTALL_DATA) $(srcdir)/$$i $(acdatadir)/$$i; \
- done; \
- else :; fi
-
-install-info: info installdirs
- -test -f autoconf.info || cd $(srcdir); \
- for i in autoconf.info*; do \
- $(INSTALL_DATA) $$i $(infodir)/$$i; \
- done
- -test -f standards.info || cd $(srcdir); \
- for i in standards.info*; do \
- $(INSTALL_DATA) $$i $(infodir)/$$i; \
- done
-
-uninstall:
- for p in $(SCRIPTS); do \
- rm -f $(bindir)/`echo $$p|sed '$(transform)'`; \
- done
- rm -fr $(acdatadir)
- cd $(infodir); rm -f autoconf.info*
- if test -f standards.info || test -f $(srcdir)/standards.info; \
- then cd $(infodir); rm -f standards.info*; fi
-
-${srcdir}/configure: configure.in $(M4FILES)
- cd $(srcdir); \
- rm -f $@ $@.tmp; \
- $(M4) autoconf.m4 configure.in > $@.tmp && \
- chmod +x $@.tmp && mv $@.tmp $@
-Makefile: Makefile.in config.status
- ./config.status
-config.status: configure
- ./config.status --recheck
-
-clean mostlyclean distclean realclean::
- for dir in $(SUBDIRS); do \
- echo making $@ in $$dir ; \
- (cd $$dir; $(MAKE) $@) ; \
- done
-
-clean mostlyclean distclean realclean::
- rm -f $(SCRIPTS) *.tmp
- rm -f *.aux *.cp *.cps *.dvi *.fn *.fns *.ky *.kys *.log
- rm -f *.pg *.pgs *.toc *.tp *.tps *.vr *.vrs
- rm -f *.ev *.evs *.ov *.ovs *.cv *.cvs *.ma *.mas
-
-distclean realclean::
- rm -f Makefile config.status config.cache config.log
-
-realclean::
- rm -f TAGS *.info* INSTALL
-
-TAGS:
- etags ${srcdir}/*.m4 ${srcdir}/*.sh ${srcdir}/[a-z]*.in ${srcdir}/*.texi
-
-# Don't depend on DISTFILES because there's no rule for "standards.info*".
-dist: $(DISTDEP)
- distname=`sed -e '/define(AC_ACVERSION,/!d' \
- -e 's/[^0-9.]*\([0-9.]*\).*/autoconf-\1/' -e q acgeneral.m4`; \
- rm -fr $$distname; \
- mkdir $$distname $$distname/testsuite $$distname/testsuite/config \
- $$distname/testsuite/lib $$distname/testsuite/autoconf.g \
- $$distname/testsuite/autoconf.s; \
- for file in $(DISTFILES); do \
- ln $$file $$distname/$$file \
- || { echo copying $$file instead; cp -p $$file $$distname/$$file;}; \
- done; \
- chmod -R a+rX $$distname; \
- tar -chz -f $$distname.tar.gz $$distname; \
- rm -fr $$distname
diff --git a/util/autoconf/NEWS b/util/autoconf/NEWS
deleted file mode 100644
index cb22655..0000000
--- a/util/autoconf/NEWS
+++ /dev/null
@@ -1,272 +0,0 @@
-Major changes in release 2.1:
-
-* Fix C++ problems.
-* More explanations in the manual.
-* Fix a spurious failure in the testsuite.
-* Clarify some warning messages.
-* autoreconf by default only rebuilds configure and config.h.in files
- that are older than any of their particular input files; there is a
- --force option to use after installing a new version of Autoconf.
-
-Thanks to everybody who's submitted changes and additions to Autoconf!
-I've incorporated many of them, and am still considering others for
-future releases -- but I didn't want to postpone this release indefinitely.
-
-Caution: don't indiscriminantly rebuild configure scripts with
-Autoconf version 2. Some configure.in files need minor adjustments to
-work with it; the documentation has a chapter on upgrading. A few
-configure.in files, including those for GNU Emacs and the GNU C
-Library, need major changes because they relied on undocumented
-internals of version 1. Future releases of those packages will have
-updated configure.in files.
-
-It's best to use GNU m4 1.3 (or later) with Autoconf version 2.
-Autoconf now makes heavy use of m4 diversions, which were implemented
-inefficiently in GNU m4 releases before 1.3.
-
-Major changes in release 2.0:
-
-** New copyright terms:
-* There are no restrictions on distribution or use of configure scripts.
-
-** Documentation:
-* Autoconf manual is reorganized to make information easier to find
- and has several new indexes.
-* INSTALL is reorganized and clearer and is now made from Texinfo source.
-
-** New utilities:
-* autoscan to generate a preliminary configure.in for a package by
- scanning its source code for commonly used nonportable functions,
- programs, and header files.
-* ifnames to list the symbols used in #if and #ifdef directives in a
- source tree.
-* autoupdate to update a configure.in to use the version 2 macro names.
-* autoreconf to recursively remake configure and configuration header
- files in a source tree.
-
-** Changed utilities:
-* autoheader can take pieces of acconfig.h to replace config.h.{top,bot}.
-* autoconf and autoheader can look for package-local definition files
- in an alternate directory.
-
-** New macros:
-* AC_CACHE_VAL to share results of tests between configure runs.
-* AC_DEFUN to define macros, automatically AC_PROVIDE them, and ensure
- that macros invoked with AC_REQUIRE don't interrupt other macros.
-* AC_CONFIG_AUX_DIR, AC_CANONICAL_SYSTEM, AC_CANONICAL_HOST, AC_LINK_FILES to
- support deciding unguessable features based on the host and target types.
-* AC_CONFIG_SUBDIRS to recursively configure a source tree.
-* AC_ARG_PROGRAM to use the options --program-prefix,
- --program-suffix, and --program-transform-name to change the names
- of programs being installed.
-* AC_PREFIX_DEFAULT to change the default installation prefix.
-* AC_TRY_COMPILE to compile a test program without linking it.
-* AC_CHECK_TYPE to check whether sys/types.h or stdlib.h defines a given type.
-* AC_CHECK_LIB to check for a particular function and library.
-* AC_MSG_CHECKING and AC_MSG_RESULT to print test results, on a single line,
- whether or not the test succeeds. They obsolete AC_CHECKING and AC_VERBOSE.
-* AC_SUBST_FILE to insert one file into another.
-* AC_FUNC_MEMCMP to check whether memcmp is 8-bit clean.
-* AC_FUNC_STRFTIME to find strftime even if it's in -lintl.
-* AC_FUNC_GETMNTENT to find getmntent even if it's in -lsun or -lseq.
-* AC_HEADER_SYS_WAIT to check whether sys/wait.h is POSIX.1 compatible.
-
-** Changed macros:
-* Many macros renamed systematically, but old names are accepted for
- backward compatibility.
-* AC_OUTPUT adds the "automatically generated" comment to
- non-Makefiles where it finds @configure_input@ in an input file, to
- support files with various comment syntaxes.
-* AC_OUTPUT does not replace "prefix" and "exec_prefix" in generated
- files when they are not enclosed in @ signs.
-* AC_OUTPUT allows the optional environment variable CONFIG_STATUS to
- override the file name "config.status".
-* AC_OUTPUT takes an optional argument for passing variables from
- configure to config.status.
-* AC_OUTPUT and AC_CONFIG_HEADER allow you to override the input-file names.
-* AC_OUTPUT automatically substitutes the values of CFLAGS, CXXFLAGS,
- CPPFLAGS, and LDFLAGS from the environment.
-* AC_PROG_CC and AC_PROG_CXX now set CFLAGS and CXXFLAGS, respectively.
-* AC_PROG_INSTALL looks for install-sh or install.sh in the directory
- specified by AC_CONFIG_AUXDIR, or srcdir or srcdir/.. or
- srcdir/../.. by default.
-* AC_DEFINE, AC_DEFINE_UNQUOTED, and AC_SUBST are more robust and smaller.
-* AC_DEFINE no longer prints anything, because of the new result reporting
- mechanism (AC_MSG_CHECKING and AC_MSG_RESULT).
-* AC_VERBOSE pays attention to --quiet/--silent, not --verbose.
-* AC_ARG_ENABLE and AC_ARG_WITH support whitespace in the arguments to
- --enable- and --with- options.
-* AC_CHECK_FUNCS and AC_CHECK_HEADERS take optional shell commands to
- execute on success or failure.
-* Checking for C functions in C++ works.
-
-** Removed macros:
-* AC_REMOTE_TAPE and AC_RSH removed; too specific to tar and cpio, and
- better maintained with them.
-* AC_ARG_ARRAY removed because no one was likely using it.
-* AC_HAVE_POUNDBANG replaced with AC_SYS_INTERPRETER, which doesn't
- take arguments, for consistency with all of the other specific checks.
-
-** New files:
-* Comes with config.sub and config.guess, and uses them optionally.
-* Uses config.cache to cache test results. An alternate cache file
- can be selected with the --cache-file=FILE option.
-* Uses optional shell scripts $prefix/share/config.site and
- $prefix/etc/config.site to perform site or system specific initializations.
-* configure saves compiler output to ./config.log for debugging.
-* New files autoconf.m4 and autoheader.m4 load the other Autoconf macros.
-* acsite.m4 is the new name for the system-wide aclocal.m4.
-* Has a DejaGnu test suite.
-
-Major changes in release 1.11:
-
-* AC_PROG_INSTALL calls install.sh with the -c option.
-* AC_SET_MAKE cleans up after itself.
-* AC_OUTPUT sets prefix and exec_prefix if they weren't set already.
-* AC_OUTPUT prevents shells from looking in PATH for config.status.
-
-Plus a few other bug fixes.
-
-Major changes in release 1.10:
-
-* autoheader uses config.h.bot if present, analogous to config.h.top.
-* AC_PROG_INSTALL looks for install.sh in srcdir or srcdir/.. and
- never uses cp.
-* AC_PROG_CXX looks for cxx as a C++ compiler.
-
-Plus several bugs fixed.
-
-Major changes in release 1.9:
-
-* AC_YYTEXT_POINTER replaces AC_DECLARE_YYTEXT.
-* AC_SIZEOF_TYPE generates the cpp symbol name automatically,
- and autoheader generates entries for those names automatically.
-* AC_FIND_X gets the result from xmkmf correctly.
-* AC_FIND_X assumes no X if --without-x was given.
-* AC_FIND_XTRA adds libraries to the variable X_EXTRA_LIBS.
-* AC_PROG_INSTALL finds OSF/1 installbsd.
-
-Major changes in release 1.8:
-
-** New macros:
-* New macros AC_LANG_C, AC_LANG_CPLUSPLUS, AC_LANG_SAVE, AC_LANG_RESTORE,
- AC_PROG_CXX, AC_PROG_CXXCPP, AC_REQUIRE_CPP
- for checking both C++ and C features in one configure script.
-* New macros AC_CHECKING, AC_VERBOSE, AC_WARN, AC_ERROR for printing messages.
-* New macros AC_FIND_XTRA, AC_MMAP, AC_SIZEOF_TYPE, AC_PREREQ,
- AC_SET_MAKE, AC_ENABLE.
-
-** Changed macros:
-* AC_FIND_X looks for X in more places.
-* AC_PROG_INSTALL defaults to install.sh instead of cp, if it's in srcdir.
- install.sh is distributed with Autoconf.
-* AC_DECLARE_YYTEXT has been removed because it can't work, pending
- a rewrite of quoting in AC_DEFINE.
-* AC_OUTPUT adds its comments in C format when substituting in C files.
-* AC_COMPILE_CHECK protects its ECHO-TEXT argument with double quotes.
-
-** New or changed command line options:
-* configure accepts --enable-FEATURE[=ARG] and --disable-FEATURE options.
-* configure accepts --without-PACKAGE, which sets withval=no.
-* configure accepts --x-includes=DIR and --x-libraries=DIR.
-* Giving --with-PACKAGE no argument sets withval=yes instead of withval=1.
-* configure accepts --help, --version, --silent/--quiet, --no-create options.
-* configure accepts and ignores most other Cygnus configure options, and
- warns about unknown options.
-* config.status accepts --help, --version options.
-
-** Paths and other changes:
-* Relative srcdir values are not made absolute.
-* The values of @prefix@ and @exec_prefix@ and @top_srcdir@ get substituted.
-* Autoconf library files are installed in ${datadir}/autoconf, not ${datadir}.
-* autoheader optionally copies config.h.top to the beginning of config.h.in.
-* The example Makefile dependencies for configure et al. work better.
-* Namespace cleanup: all shell variables used internally by Autoconf
- have names beginning with `ac_'.
-
-More big improvements are in process for future releases, but have not
-yet been (variously) finished, integrated, tested, or documented enough
-to release yet.
-
-Major changes in release 1.7:
-
-* New macro AC_OBSOLETE.
-* Bugs in Makefile.in fixed.
-* AC_LONG_FILE_NAMES improved.
-
-Major changes in release 1.6:
-
-* New macro AC_LONG_64_BITS.
-* Multiple .h files can be created.
-* AC_FIND_X looks for X files directly if it doesn't find xmkmf.
-* AC_ALLOCA defines C_ALLOCA if using alloca.c.
-* --with-NAME can take a value, e.g., --with-targets=sun4,hp300bsd.
-* Unused --no-create option to configure removed.
-* autoheader doesn't change the timestamp of its output file if
- the file didn't change.
-* All macros that look for libraries now use AC_HAVE_LIBRARY.
-* config.status checks three optional environment variables to
- modify its behavior.
-* The usual bug fixes.
-
-Major changes in release 1.5:
-
-* New macros AC_FIND_X, AC_OFF_T, AC_STAT_MACROS_BROKEN, AC_REVISION.
-* autoconf and autoheader scripts have GNU standards conforming
- --version and --help options (they print their message and exit).
-* Many bug fixes.
-
-Major changes in release 1.4:
-
-* New macros AC_HAVE_POUNDBANG, AC_TIME_WITH_SYS_TIME, AC_LONG_DOUBLE,
- AC_GETGROUPS_T, AC_DEFINE_UNQUOTED.
-* autoconf and autoheader use the M4 environment variable to determine the
- path of the m4 program to use.
-* The --macrodir option to autoconf and autoheader specifies the directory
- in which acspecific.m4, acgeneral.m4, etc. reside if not the default.
-* autoconf and autoheader can take `-' as their file names, which means to
- read stdin as input.
-* Resulting configure scripts can take a --verbose option which causes them
- to print the results of their tests.
-* AC_DEFINE quotes its second argument in such a way that spaces, magic
- shell characters, etc. will be preserved during various stages of
- expansion done by the shell. If you don't want this, use
- AC_DEFINE_UNQUOTED instead.
-* Much textual processing done with external calls to tr and sed have been
- internalized with builtin m4 `patsubst' and `translit' calls.
-* AC_OUTPUT doesn't hardwire the filenames it outputs. Instead, you can
- set the shell variables `gen_files' and `gen_config' to the list of
- filenames to output.
-* AC_DECLARE_YYTEXT does an AC_SUBST of `LEX_OUTPUT_ROOT', which may be
- "lex.yy" or "lexyy", depending on the system.
-* AC_PROGRAMS_CHECK takes an optional third arg. If given, it is used as
- the default value.
-* If AC_ALLOCA chooses alloca.c, it also defines STACK_DIRECTION.
-* AC_CONST works much more reliably on more systems.
-* Many bug fixes.
-
-Major changes in release 1.3:
-
-configure no longer requires awk for packages that use a config.h.
-Support handling --with-PACKAGE options.
-New `autoheader' script to create `config.h.in' from `configure.in'.
-Ignore troublesome -lucb and -lPW when searching for alloca.
-Rename --exec_prefix to --exec-prefix for GNU standards conformance.
-Improve detection of STDC library.
-Add AC_HAVE_LIBRARY to check for non-default libraries.
-Function checking should work with future GNU libc releases.
-
-Major changes in release 1.2:
-
-The --srcdir option is now usually unnecessary.
-Add a file containing sample comments describing CPP macros.
-A comment in config.status tells which host it was configured on.
-Substituted variable values can now contain commas.
-Fix bugs in various feature checks.
-
-Major changes in release 1.1:
-
-Added AC_STRCOLL macro.
-Made AC_GETLOADAVG check for more things.
-AC_OUTPUT argument is now optional.
-Various bug fixes.
diff --git a/util/autoconf/README b/util/autoconf/README
deleted file mode 100644
index 959b195..0000000
--- a/util/autoconf/README
+++ /dev/null
@@ -1,38 +0,0 @@
-Autoconf
-
-Autoconf is an extensible package of m4 macros that produce shell
-scripts to automatically configure software source code packages.
-These scripts can adapt the packages to many kinds of UNIX-like
-systems without manual user intervention. Autoconf creates a
-configuration script for a package from a template file that lists the
-operating system features that the package can use, in the form of m4
-macro calls.
-
-Producing configuration scripts using Autoconf requires GNU m4. You
-must install GNU m4 (version 1.1 or later, preferably 1.3 or later
-for better performance) before configuring Autoconf, so that
-Autoconf's configure script can find it. The configuration scripts
-produced by Autoconf are self-contained, so their users do not need to
-have Autoconf (or GNU m4).
-
-Also, some optional utilities that come with Autoconf use Perl, TCL,
-and the TCL packages Expect and DejaGNU. However, none of those
-are required in order to use the main Autoconf program. If they are
-not present, the affected Autoconf utilities will not be installed.
-
-The file INSTALL can be distributed with packages that use
-Autoconf-generated configure scripts and Makefiles that conform to the
-GNU coding standards. The package's README can just give an overview
-of the package, where to report bugs, and a pointer to INSTALL for
-instructions on compilation and installation. This removes the need
-to maintain many similar sets of installation instructions.
-
-The file `acconfig.h' contains short descriptions of the C preprocessor
-variables that Autoconf can define, suitable for copying into other
-packages' configuration headers or Makefile.in files. You can use the
-program `autoheader' to automatically create a configuration header
-from a `configure.in', based on the information in `acconfig.h'.
-
-Mail suggestions and bug reports for Autoconf to
-bug-gnu-utils@prep.ai.mit.edu. Please include the Autoconf version
-number, which you can get by running "autoconf --version".
diff --git a/util/autoconf/TODO b/util/autoconf/TODO
deleted file mode 100644
index 89c3229..0000000
--- a/util/autoconf/TODO
+++ /dev/null
@@ -1,102 +0,0 @@
--*- outline -*-
-
-Things it might be nice to do someday:
-
-------------------------------------------------------------------------------
-
-* Make AC_CHECK_LIB check whether the function is already available
- before checking for the library. This might involve adding another
- kind of cache variable to indicate whether a given function needs a
- given library. The current ac_cv_func_ variables are intended to
- indicate whether the function is in the default libraries, but
- actually also take into account whatever value LIBS had when they
- were checked for.
-
-------------------------------------------------------------------------------
-
-* Add AC_PROG_CC_POSIX to replace the current ad-hoc macros for AIX,
- Minix, ISC, etc.
-
-------------------------------------------------------------------------------
-
-* Use AC_EGREP_CPP instead of AC_TRY_LINK to detect structures and members.
-
-------------------------------------------------------------------------------
-
-* Make AC_CHECK_FUNC[S] automatically use any particular macros for the
- listed functions.
-
-------------------------------------------------------------------------------
-
-* Support creating both config.h and DEFS in the same configure.
-
-------------------------------------------------------------------------------
-
-* Select the right CONFIG_SHELL automatically (for Ultrix, Lynx especially.)
-
-------------------------------------------------------------------------------
-
-* Doc: Add concept index.
-
-------------------------------------------------------------------------------
-
-* Doc: Centralize information on POSIX, MS-DOS, cross-compiling, and
- other important topics.
-
-------------------------------------------------------------------------------
-
-* Split up AC_SUBST substitutions using a loop to accomodate shells
- with severely limited here document sizes, if it turns out to be a problem.
- I'm not sure whether the limit is on lines or bytes; if bytes, it
- will be less of a problem than it was with the long lines used for
- creating a header file.
- There has also been a report that HPUX and OSF/1 seds only allow 100
- commands.
-
-------------------------------------------------------------------------------
-
-* Allow [ and ] in egrep patterns and AC_DEFINE args.
-
-------------------------------------------------------------------------------
-
-* Add a Makefile generator that supports the standard GNU targets.
- (Being worked on.)
-
-------------------------------------------------------------------------------
-
-* Mike Haertel's suggestions:
-
-** Provide files containing decls for alloca, strings, etc.
-
-** Cross compiling:
-
-*** Error messages include instructions for overriding defaults using
-config.site.
-
-*** Distribute a config.site corresponding to a hypothetical bare POSIX system with c89.
-
-*** Cache consistency checking: ignore cache if environment
-(CC or PATH) differs.
-
-** Site defaults:
-
-*** Convention for consistency checking of env vars and options in config.site so config.site can print obnoxious messages if it doesn't like options or env vars that users use.
-
-------------------------------------------------------------------------------
-
-* autoscan: Tell the files that caused inclusion of each macro,
-in a dnl comment. (Seems to be hard.)
-
-------------------------------------------------------------------------------
-
-* Look at user contributed macros: prototypes, IEEE double precision math,
-shared libraries, various other things.
-
-------------------------------------------------------------------------------
-
-* Test suite: more things to test:
-** That the shell scripts produce correct output on some simple data.
-** Configuration header files. That autoheader does the right thing,
- and so does AC_CONFIG_HEADER when autoconf is run.
-
-------------------------------------------------------------------------------
diff --git a/util/autoconf/acconfig.h b/util/autoconf/acconfig.h
deleted file mode 100644
index 801a8ac..0000000
--- a/util/autoconf/acconfig.h
+++ /dev/null
@@ -1,248 +0,0 @@
-/* acconfig.h
- This file is in the public domain.
-
- Descriptive text for the C preprocessor macros that
- the distributed Autoconf macros can define.
- No software package will use all of them; autoheader copies the ones
- your configure.in uses into your configuration header file templates.
-
- The entries are in sort -df order: alphabetical, case insensitive,
- ignoring punctuation (such as underscores). Although this order
- can split up related entries, it makes it easier to check whether
- a given entry is in the file.
-
- Leave the following blank line there!! Autoheader needs it. */
-
-
-/* Define if on AIX 3.
- System headers sometimes define this.
- We just want to avoid a redefinition error message. */
-#ifndef _ALL_SOURCE
-#undef _ALL_SOURCE
-#endif
-
-/* Define if using alloca.c. */
-#undef C_ALLOCA
-
-/* Define if type char is unsigned and you are not using gcc. */
-#undef __CHAR_UNSIGNED__
-
-/* Define if the closedir function returns void instead of int. */
-#undef CLOSEDIR_VOID
-
-/* Define to empty if the keyword does not work. */
-#undef const
-
-/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems.
- This function is required for alloca.c support on those systems. */
-#undef CRAY_STACKSEG_END
-
-/* Define for DGUX with <sys/dg_sys_info.h>. */
-#undef DGUX
-
-/* Define if you have <dirent.h>. */
-#undef DIRENT
-
-/* Define to the type of elements in the array set by `getgroups'.
- Usually this is either `int' or `gid_t'. */
-#undef GETGROUPS_T
-
-/* Define if the `getloadavg' function needs to be run setuid or setgid. */
-#undef GETLOADAVG_PRIVILEGED
-
-/* Define to `int' if <sys/types.h> doesn't define. */
-#undef gid_t
-
-/* Define if you have alloca, as a function or macro. */
-#undef HAVE_ALLOCA
-
-/* Define if you have <alloca.h> and it should be used (not on Ultrix). */
-#undef HAVE_ALLOCA_H
-
-/* Define if you don't have vprintf but do have _doprnt. */
-#undef HAVE_DOPRNT
-
-/* Define if your system has its own `getloadavg' function. */
-#undef HAVE_GETLOADAVG
-
-/* Define if you have the getmntent function. */
-#undef HAVE_GETMNTENT
-
-/* Define if the `long double' type works. */
-#undef HAVE_LONG_DOUBLE
-
-/* Define if you support file names longer than 14 characters. */
-#undef HAVE_LONG_FILE_NAMES
-
-/* Define if you have a working `mmap' system call. */
-#undef HAVE_MMAP
-
-/* Define if system calls automatically restart after interruption
- by a signal. */
-#undef HAVE_RESTARTABLE_SYSCALLS
-
-/* Define if your struct stat has st_blksize. */
-#undef HAVE_ST_BLKSIZE
-
-/* Define if your struct stat has st_blocks. */
-#undef HAVE_ST_BLOCKS
-
-/* Define if you have the strcoll function and it is properly defined. */
-#undef HAVE_STRCOLL
-
-/* Define if your struct stat has st_rdev. */
-#undef HAVE_ST_RDEV
-
-/* Define if you have the strftime function. */
-#undef HAVE_STRFTIME
-
-/* Define if you have <sys/wait.h> that is POSIX.1 compatible. */
-#undef HAVE_SYS_WAIT_H
-
-/* Define if your struct tm has tm_zone. */
-#undef HAVE_TM_ZONE
-
-/* Define if you don't have tm_zone but do have the external array
- tzname. */
-#undef HAVE_TZNAME
-
-/* Define if you have <unistd.h>. */
-#undef HAVE_UNISTD_H
-
-/* Define if utime(file, NULL) sets file's timestamp to the present. */
-#undef HAVE_UTIME_NULL
-
-/* Define if you have <vfork.h>. */
-#undef HAVE_VFORK_H
-
-/* Define if you have the vprintf function. */
-#undef HAVE_VPRINTF
-
-/* Define if you have the wait3 system call. */
-#undef HAVE_WAIT3
-
-/* Define as __inline if that's what the C compiler calls it. */
-#undef inline
-
-/* Define if int is 16 bits instead of 32. */
-#undef INT_16_BITS
-
-/* Define if long int is 64 bits. */
-#undef LONG_64_BITS
-
-/* Define if major, minor, and makedev are declared in <mkdev.h>. */
-#undef MAJOR_IN_MKDEV
-
-/* Define if major, minor, and makedev are declared in <sysmacros.h>. */
-#undef MAJOR_IN_SYSMACROS
-
-/* Define if on MINIX. */
-#undef _MINIX
-
-/* Define to `int' if <sys/types.h> doesn't define. */
-#undef mode_t
-
-/* Define if you don't have <dirent.h>, but have <ndir.h>. */
-#undef NDIR
-
-/* Define if you have <memory.h>, and <string.h> doesn't declare the
- mem* functions. */
-#undef NEED_MEMORY_H
-
-/* Define if your struct nlist has an n_un member. */
-#undef NLIST_NAME_UNION
-
-/* Define if you have <nlist.h>. */
-#undef NLIST_STRUCT
-
-/* Define if your C compiler doesn't accept -c and -o together. */
-#undef NO_MINUS_C_MINUS_O
-
-/* Define to `long' if <sys/types.h> doesn't define. */
-#undef off_t
-
-/* Define to `int' if <sys/types.h> doesn't define. */
-#undef pid_t
-
-/* Define if the system does not provide POSIX.1 features except
- with this defined. */
-#undef _POSIX_1_SOURCE
-
-/* Define if you need to in order for stat and other things to work. */
-#undef _POSIX_SOURCE
-
-/* Define as the return type of signal handlers (int or void). */
-#undef RETSIGTYPE
-
-/* Define if the setvbuf function takes the buffering type as its second
- argument and the buffer pointer as the third, as on System V
- before release 3. */
-#undef SETVBUF_REVERSED
-
-/* Define to `unsigned' if <sys/types.h> doesn't define. */
-#undef size_t
-
-/* If using the C implementation of alloca, define if you know the
- direction of stack growth for your system; otherwise it will be
- automatically deduced at run-time.
- STACK_DIRECTION > 0 => grows toward higher addresses
- STACK_DIRECTION < 0 => grows toward lower addresses
- STACK_DIRECTION = 0 => direction of growth unknown
- */
-#undef STACK_DIRECTION
-
-/* Define if the `S_IS*' macros in <sys/stat.h> do not work properly. */
-#undef STAT_MACROS_BROKEN
-
-/* Define if you have the ANSI C header files. */
-#undef STDC_HEADERS
-
-/* Define on System V Release 4. */
-#undef SVR4
-
-/* Define if you don't have <dirent.h>, but have <sys/dir.h>. */
-#undef SYSDIR
-
-/* Define if you don't have <dirent.h>, but have <sys/ndir.h>. */
-#undef SYSNDIR
-
-/* Define if `sys_siglist' is declared by <signal.h>. */
-#undef SYS_SIGLIST_DECLARED
-
-/* Define if you can safely include both <sys/time.h> and <time.h>. */
-#undef TIME_WITH_SYS_TIME
-
-/* Define if your <sys/time.h> declares struct tm. */
-#undef TM_IN_SYS_TIME
-
-/* Define to `int' if <sys/types.h> doesn't define. */
-#undef uid_t
-
-/* Define for Encore UMAX. */
-#undef UMAX
-
-/* Define for Encore UMAX 4.3 that has <inq_status/cpustats.h>
- instead of <sys/cpustats.h>. */
-#undef UMAX4_3
-
-/* Define if you do not have <strings.h>, index, bzero, etc.. */
-#undef USG
-
-/* Define vfork as fork if vfork does not work. */
-#undef vfork
-
-/* Define if the closedir function returns void instead of int. */
-#undef VOID_CLOSEDIR
-
-/* Define if your processor stores words with the most significant
- byte first (like Motorola and SPARC, unlike Intel and VAX). */
-#undef WORDS_BIGENDIAN
-
-/* Define if lex declares yytext as a char * by default, not a char[]. */
-#undef YYTEXT_POINTER
-
-
-/* Leave that blank line there!! Autoheader needs it.
- If you're adding to this file, keep in mind:
- The entries are in sort -df order: alphabetical, case insensitive,
- ignoring punctuation (such as underscores). */
diff --git a/util/autoconf/acfunctions b/util/autoconf/acfunctions
deleted file mode 100644
index 5947ba6..0000000
--- a/util/autoconf/acfunctions
+++ /dev/null
@@ -1,58 +0,0 @@
-# Ones that have their own macros.
-major AC_HEADER_MAJOR
-minor AC_HEADER_MAJOR
-makedev AC_HEADER_MAJOR
-bcopy AC_HEADER_STDC
-bcmp AC_HEADER_STDC
-bzero AC_HEADER_STDC
-ioctl AC_PROG_GCC_TRADITIONAL
-memchr AC_HEADER_STDC
-memcpy AC_HEADER_STDC
-memcmp AC_FUNC_MEMCMP
-memmove AC_HEADER_STDC
-memset AC_HEADER_STDC
-index AC_HEADER_STDC
-rindex AC_HEADER_STDC
-getgroups AC_TYPE_GETGROUPS
-signal AC_TYPE_SIGNAL
-alloca AC_FUNC_ALLOCA
-getloadavg AC_FUNC_GETLOADAVG
-mmap AC_FUNC_MMAP
-setvbuf AC_FUNC_SETVBUF_REVERSED
-strcoll AC_FUNC_STRCOLL
-utime AC_FUNC_UTIME_NULL
-vfork AC_FUNC_VFORK
-vprintf AC_FUNC_VPRINTF
-vfprintf AC_FUNC_VPRINTF
-vsprintf AC_FUNC_VPRINTF
-wait3 AC_FUNC_WAIT3
-
-# Others.
-fnmatch AC_CHECK_FUNCS
-ftime AC_CHECK_FUNCS
-gethostname AC_CHECK_FUNCS
-gettimeofday AC_CHECK_FUNCS
-getusershell AC_CHECK_FUNCS
-getcwd AC_CHECK_FUNCS
-getwd AC_CHECK_FUNCS
-mkdir AC_CHECK_FUNCS
-mkfifo AC_CHECK_FUNCS
-mktime AC_CHECK_FUNCS
-putenv AC_CHECK_FUNCS
-re_comp AC_CHECK_FUNCS
-regcmp AC_CHECK_FUNCS
-regcomp AC_CHECK_FUNCS
-rmdir AC_CHECK_FUNCS
-select AC_CHECK_FUNCS
-socket AC_CHECK_FUNCS
-stime AC_CHECK_FUNCS
-strcspn AC_CHECK_FUNCS
-strdup AC_CHECK_FUNCS
-strerror AC_CHECK_FUNCS
-strftime AC_CHECK_FUNCS
-strspn AC_CHECK_FUNCS
-strstr AC_CHECK_FUNCS
-strtod AC_CHECK_FUNCS
-strtol AC_CHECK_FUNCS
-strtoul AC_CHECK_FUNCS
-uname AC_CHECK_FUNCS
diff --git a/util/autoconf/acgeneral.m4 b/util/autoconf/acgeneral.m4
deleted file mode 100644
index b7e6bc3..0000000
--- a/util/autoconf/acgeneral.m4
+++ /dev/null
@@ -1,2021 +0,0 @@
-dnl Parameterized macros.
-dnl Requires GNU m4.
-dnl This file is part of Autoconf.
-dnl Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc.
-dnl
-dnl This program is free software; you can redistribute it and/or modify
-dnl it under the terms of the GNU General Public License as published by
-dnl the Free Software Foundation; either version 2, or (at your option)
-dnl any later version.
-dnl
-dnl This program is distributed in the hope that it will be useful,
-dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
-dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-dnl GNU General Public License for more details.
-dnl
-dnl You should have received a copy of the GNU General Public License
-dnl along with this program; if not, write to the Free Software
-dnl Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-dnl
-dnl As a special exception, the Free Software Foundation gives unlimited
-dnl permission to copy, distribute and modify the configure scripts that
-dnl are the output of Autoconf. You need not follow the terms of the GNU
-dnl General Public License when using or distributing such scripts, even
-dnl though portions of the text of Autoconf appear in them. The GNU
-dnl General Public License (GPL) does govern all other use of the material
-dnl that constitutes the Autoconf program.
-dnl
-dnl Certain portions of the Autoconf source text are designed to be copied
-dnl (in certain cases, depending on the input) into the output of
-dnl Autoconf. We call these the "data" portions. The rest of the Autoconf
-dnl source text consists of comments plus executable code that decides which
-dnl of the data portions to output in any given case. We call these
-dnl comments and executable code the "non-data" portions. Autoconf never
-dnl copies any of the non-data portions into its output.
-dnl
-dnl This special exception to the GPL applies to versions of Autoconf
-dnl released by the Free Software Foundation. When you make and
-dnl distribute a modified version of Autoconf, you may extend this special
-dnl exception to the GPL to apply to your modified version as well, *unless*
-dnl your modified version has the potential to copy into its output some
-dnl of the text that was the non-data portion of the version that you started
-dnl with. (In other words, unless your change moves or copies text from
-dnl the non-data portions to the data portions.) If your modification has
-dnl such potential, you must delete any notice of this special exception
-dnl to the GPL from your modified version.
-dnl
-dnl Written by David MacKenzie, with help from
-dnl Franc,ois Pinard, Karl Berry, Richard Pixley, Ian Lance Taylor,
-dnl Roland McGrath, Noah Friedman, david d zuhn, and many others.
-dnl
-divert(-1)dnl Throw away output until AC_INIT is called.
-changequote([, ])
-
-define(AC_ACVERSION, 2.1)
-
-dnl Some old m4's don't support m4exit. But they provide
-dnl equivalent functionality by core dumping because of the
-dnl long macros we define.
-ifdef([__gnu__], , [errprint(Autoconf requires GNU m4.
-Install it before installing Autoconf or set the
-M4 environment variable to its path name.
-)m4exit(2)])
-
-undefine([eval])
-undefine([include])
-undefine([shift])
-undefine([format])
-
-
-dnl ### Defining macros
-
-
-dnl m4 output diversions. We let m4 output them all in order at the end,
-dnl except that we explicitly undivert AC_DIVERSION_SED.
-
-dnl AC_DIVERSION_NOTICE - 1 (= 0) AC_REQUIRE'd #!/bin/sh line
-define(AC_DIVERSION_NOTICE, 1)dnl copyright notice & option help strings
-define(AC_DIVERSION_INIT, 2)dnl initialization code
-define(AC_DIVERSION_SED, 3)dnl variable substitutions in config.status
-define(AC_DIVERSION_NORMAL_4, 4)dnl AC_REQUIRE'd code, 4 level deep
-define(AC_DIVERSION_NORMAL_3, 5)dnl AC_REQUIRE'd code, 3 level deep
-define(AC_DIVERSION_NORMAL_2, 6)dnl AC_REQUIRE'd code, 2 level deep
-define(AC_DIVERSION_NORMAL_1, 7)dnl AC_REQUIRE'd code, 1 level deep
-define(AC_DIVERSION_NORMAL, 8)dnl the tests and output code
-
-dnl Change the diversion stream to STREAM, while stacking old values.
-dnl AC_DIVERT_PUSH(STREAM)
-define(AC_DIVERT_PUSH,
-[pushdef([AC_DIVERSION_CURRENT], $1)dnl
-divert(AC_DIVERSION_CURRENT)dnl
-])
-
-dnl Change the diversion stream to its previous value, unstacking it.
-dnl AC_DIVERT_POP()
-define(AC_DIVERT_POP,
-[popdef([AC_DIVERSION_CURRENT])dnl
-divert(AC_DIVERSION_CURRENT)dnl
-])
-
-dnl Initialize the diversion setup.
-define([AC_DIVERSION_CURRENT], AC_DIVERSION_NORMAL)
-dnl This will be popped by AC_REQUIRE in AC_INIT.
-pushdef([AC_DIVERSION_CURRENT], AC_DIVERSION_NOTICE)
-
-dnl The prologue for Autoconf macros.
-dnl AC_PRO(MACRO-NAME)
-define(AC_PRO,
-[define([AC_PROVIDE_$1], )dnl
-ifelse(AC_DIVERSION_CURRENT, AC_DIVERSION_NORMAL,
-[AC_DIVERT_PUSH(builtin(eval, AC_DIVERSION_CURRENT - 1))],
-[pushdef([AC_DIVERSION_CURRENT], AC_DIVERSION_CURRENT)])dnl
-])
-
-dnl The Epilogue for Autoconf macros.
-dnl AC_EPI()
-define(AC_EPI,
-[AC_DIVERT_POP()dnl
-ifelse(AC_DIVERSION_CURRENT, AC_DIVERSION_NORMAL,
-[undivert(AC_DIVERSION_NORMAL_4)dnl
-undivert(AC_DIVERSION_NORMAL_3)dnl
-undivert(AC_DIVERSION_NORMAL_2)dnl
-undivert(AC_DIVERSION_NORMAL_1)dnl
-])dnl
-])
-
-dnl Define a macro which automatically provides itself. Add machinery
-dnl so the macro automatically switches expansion to the diversion
-dnl stack if it is not already using it. In this case, once finished,
-dnl it will bring back all the code accumulated in the diversion stack.
-dnl This, combined with AC_REQUIRE, achieves the topological ordering of
-dnl macros. We don't use this macro to define some frequently called
-dnl macros that are not involved in ordering constraints, to save m4
-dnl processing.
-dnl AC_DEFUN(NAME, EXPANSION)
-define([AC_DEFUN],
-[define($1, [AC_PRO([$1])$2[]AC_EPI()])])
-
-
-dnl ### Initialization
-
-
-dnl AC_INIT_NOTICE()
-AC_DEFUN(AC_INIT_NOTICE,
-[# Guess values for system-dependent variables and create Makefiles.
-# Generated automatically using autoconf version] AC_ACVERSION [
-# Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc.
-#
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-
-# Defaults:
-ac_help=
-ac_default_prefix=/usr/local
-[#] Any additions from configure.in:])
-
-dnl AC_PREFIX_DEFAULT(PREFIX)
-AC_DEFUN(AC_PREFIX_DEFAULT,
-[AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)dnl
-ac_default_prefix=$1
-AC_DIVERT_POP()])
-
-dnl AC_INIT_PARSE_ARGS()
-AC_DEFUN(AC_INIT_PARSE_ARGS,
-[
-# Initialize some variables set by options.
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-build=NONE
-cache_file=./config.cache
-exec_prefix=NONE
-host=NONE
-no_create=
-nonopt=NONE
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-target=NONE
-verbose=
-x_includes=NONE
-x_libraries=NONE
-
-# Initialize some other variables.
-subdirs=
-
-ac_prev=
-for ac_option
-do
-
- # If the previous option needs an argument, assign it.
- if test -n "$ac_prev"; then
- eval "$ac_prev=\$ac_option"
- ac_prev=
- continue
- fi
-
- case "$ac_option" in
-changequote(, )dnl
- -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
-changequote([, ])dnl
- *) ac_optarg= ;;
- esac
-
- # Accept the important Cygnus configure options, so we can diagnose typos.
-
- case "$ac_option" in
-
- -build | --build | --buil | --bui | --bu | --b)
- ac_prev=build ;;
- -build=* | --build=* | --buil=* | --bui=* | --bu=* | --b=*)
- build="$ac_optarg" ;;
-
- -cache-file | --cache-file | --cache-fil | --cache-fi \
- | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
- ac_prev=cache_file ;;
- -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
- | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
- cache_file="$ac_optarg" ;;
-
- -disable-* | --disable-*)
- ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
- # Reject names that are not valid shell variable names.
-changequote(, )dnl
- if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
-changequote([, ])dnl
- AC_MSG_ERROR($ac_feature: invalid feature name)
- fi
- ac_feature=`echo $ac_feature| sed 's/-/_/g'`
- eval "enable_${ac_feature}=no" ;;
-
- -enable-* | --enable-*)
- ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
- # Reject names that are not valid shell variable names.
-changequote(, )dnl
- if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
-changequote([, ])dnl
- AC_MSG_ERROR($ac_feature: invalid feature name)
- fi
- ac_feature=`echo $ac_feature| sed 's/-/_/g'`
- case "$ac_option" in
- *=*) ;;
- *) ac_optarg=yes ;;
- esac
- eval "enable_${ac_feature}='$ac_optarg'" ;;
-
- -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
- | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
- | --exec | --exe | --ex)
- ac_prev=exec_prefix ;;
- -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
- | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
- | --exec=* | --exe=* | --ex=*)
- exec_prefix="$ac_optarg" ;;
-
- -gas | --gas | --ga | --g)
- # Obsolete; use --with-gas.
- with_gas=yes ;;
-
- -help | --help | --hel | --he)
- # 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
-changequote(, )dnl
-Usage: configure [options] [host]
-Options: [defaults in brackets after descriptions]
-Configuration:
- --cache-file=FILE cache test results in FILE
- --help print this message
- --no-create do not create output files
- --quiet, --silent do not print \`checking...' messages
- --version print the version of autoconf that created configure
-Directory and file names:
- --prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
- --exec-prefix=PREFIX install architecture-dependent files in PREFIX
- [same as prefix]
- --srcdir=DIR find the sources in DIR [configure dir or ..]
- --program-prefix=PREFIX prepend PREFIX to installed program names
- --program-suffix=SUFFIX append SUFFIX to installed program names
- --program-transform-name=PROGRAM run sed PROGRAM on installed program names
-Host type:
- --build=BUILD configure for building on BUILD [BUILD=HOST]
- --host=HOST configure for HOST [guessed]
- --target=TARGET configure for TARGET [TARGET=HOST]
-Features and packages:
- --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
- --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
- --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
- --x-includes=DIR X include files are in DIR
- --x-libraries=DIR X library files are in DIR
---enable and --with options recognized:$ac_help
-changequote([, ])dnl
-EOF
- exit 0 ;;
-
- -host | --host | --hos | --ho)
- ac_prev=host ;;
- -host=* | --host=* | --hos=* | --ho=*)
- host="$ac_optarg" ;;
-
- -nfp | --nfp | --nf)
- # Obsolete; use --without-fp.
- with_fp=no ;;
-
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c)
- no_create=yes ;;
-
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
- no_recursion=yes ;;
-
- -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
- ac_prev=prefix ;;
- -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
- prefix="$ac_optarg" ;;
-
- -program-prefix | --program-prefix | --program-prefi | --program-pref \
- | --program-pre | --program-pr | --program-p)
- ac_prev=program_prefix ;;
- -program-prefix=* | --program-prefix=* | --program-prefi=* \
- | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
- program_prefix="$ac_optarg" ;;
-
- -program-suffix | --program-suffix | --program-suffi | --program-suff \
- | --program-suf | --program-su | --program-s)
- ac_prev=program_suffix ;;
- -program-suffix=* | --program-suffix=* | --program-suffi=* \
- | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
- program_suffix="$ac_optarg" ;;
-
- -program-transform-name | --program-transform-name \
- | --program-transform-nam | --program-transform-na \
- | --program-transform-n | --program-transform- \
- | --program-transform | --program-transfor \
- | --program-transfo | --program-transf \
- | --program-trans | --program-tran \
- | --progr-tra | --program-tr | --program-t)
- ac_prev=program_transform_name ;;
- -program-transform-name=* | --program-transform-name=* \
- | --program-transform-nam=* | --program-transform-na=* \
- | --program-transform-n=* | --program-transform-=* \
- | --program-transform=* | --program-transfor=* \
- | --program-transfo=* | --program-transf=* \
- | --program-trans=* | --program-tran=* \
- | --progr-tra=* | --program-tr=* | --program-t=*)
- program_transform_name="$ac_optarg" ;;
-
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- silent=yes ;;
-
- -site | --site | --sit)
- ac_prev=site ;;
- -site=* | --site=* | --sit=*)
- site="$ac_optarg" ;;
-
- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
- ac_prev=srcdir ;;
- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
- srcdir="$ac_optarg" ;;
-
- -target | --target | --targe | --targ | --tar | --ta | --t)
- ac_prev=target ;;
- -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
- target="$ac_optarg" ;;
-
- -v | -verbose | --verbose | --verbos | --verbo | --verb)
- verbose=yes ;;
-
- -version | --version | --versio | --versi | --vers)
- echo "configure generated by autoconf version AC_ACVERSION"
- exit 0 ;;
-
- -with-* | --with-*)
- ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
- # Reject names that are not valid shell variable names.
-changequote(, )dnl
- if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
-changequote([, ])dnl
- AC_MSG_ERROR($ac_package: invalid package name)
- fi
- ac_package=`echo $ac_package| sed 's/-/_/g'`
- case "$ac_option" in
- *=*) ;;
- *) ac_optarg=yes ;;
- esac
- eval "with_${ac_package}='$ac_optarg'" ;;
-
- -without-* | --without-*)
- ac_package=`echo $ac_option|sed -e 's/-*without-//'`
- # Reject names that are not valid shell variable names.
-changequote(, )dnl
- if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
-changequote([, ])dnl
- AC_MSG_ERROR($ac_package: invalid package name)
- fi
- ac_package=`echo $ac_package| sed 's/-/_/g'`
- eval "with_${ac_package}=no" ;;
-
- --x)
- # Obsolete; use --with-x.
- with_x=yes ;;
-
- -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
- | --x-incl | --x-inc | --x-in | --x-i)
- ac_prev=x_includes ;;
- -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
- | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
- x_includes="$ac_optarg" ;;
-
- -x-libraries | --x-libraries | --x-librarie | --x-librari \
- | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
- ac_prev=x_libraries ;;
- -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
- | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
- x_libraries="$ac_optarg" ;;
-
- -*) AC_MSG_ERROR([$ac_option: invalid option; use --help to show usage])
- ;;
-
- *)
-changequote(, )dnl
- if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
-changequote([, ])dnl
- AC_MSG_WARN($ac_option: invalid host type)
- fi
- if test "x$nonopt" != xNONE; then
- AC_MSG_ERROR(can only configure for one host and one target at a time)
- fi
- nonopt="$ac_option"
- ;;
-
- esac
-done
-
-if test -n "$ac_prev"; then
- AC_MSG_ERROR(missing argument to --`echo $ac_prev | sed 's/_/-/g'`)
-fi
-])
-
-dnl Try to have only one #! line, so the script doesn't look funny
-dnl for users of AC_REVISION.
-dnl AC_INIT_BINSH()
-AC_DEFUN(AC_INIT_BINSH,
-[#!/bin/sh
-])
-
-dnl AC_INIT(UNIQUE-FILE-IN-SOURCE-DIR)
-AC_DEFUN(AC_INIT,
-[sinclude(acsite.m4)dnl
-sinclude(./aclocal.m4)dnl
-AC_REQUIRE([AC_INIT_BINSH])dnl
-AC_INIT_NOTICE
-AC_DIVERT_POP()dnl to NORMAL
-AC_DIVERT_PUSH(AC_DIVERSION_INIT)dnl
-AC_INIT_PARSE_ARGS
-AC_INIT_PREPARE($1)dnl
-AC_DIVERT_POP()dnl to NORMAL
-])
-
-dnl AC_INIT_PREPARE(UNIQUE-FILE-IN-SOURCE-DIR)
-AC_DEFUN(AC_INIT_PREPARE,
-[trap 'rm -fr conftest* confdefs* core $ac_clean_files; exit 1' 1 2 15
-
-# File descriptor usage:
-# 0 unused; standard input
-# 1 file creation
-# 2 errors and warnings
-# 3 unused; some systems may open it to /dev/tty
-define(AC_FD_MSG, 4)dnl
-[#] AC_FD_MSG checking for... messages and results
-define(AC_FD_CC, 5)dnl
-[#] AC_FD_CC compiler messages saved in config.log
-if test "$silent" = yes; then
- exec AC_FD_MSG>/dev/null
-else
- exec AC_FD_MSG>&1
-fi
-exec AC_FD_CC>./config.log
-
-echo "\
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-" 1>&AC_FD_CC
-
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Also quote any args containing shell metacharacters.
-ac_configure_args=
-for ac_arg
-do
- case "$ac_arg" in
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c) ;;
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
-changequote(<<, >>)dnl
-dnl If you change this globbing pattern, test it on an old shell --
-dnl it's sensitive. Putting any kind of quote in it causes syntax errors.
- *" "*|*" "*|*[\[\]\~\<<#>>\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
- ac_configure_args="$ac_configure_args '$ac_arg'" ;;
-changequote([, ])dnl
- *) ac_configure_args="$ac_configure_args $ac_arg" ;;
- esac
-done
-
-# NLS nuisances.
-# Only set LANG and LC_ALL to C if already set.
-# These must not be set unconditionally because not all systems understand
-# e.g. LANG=C (notably SCO).
-if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
-if test "${LANG+set}" = set; then LANG=C; export LANG; fi
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -rf conftest* confdefs.h
-# AIX cpp loses on an empty file, so make sure it contains at least a newline.
-echo > confdefs.h
-
-# A filename unique to this package, relative to the directory that
-# configure is in, which we can look for to find out if srcdir is correct.
-ac_unique_file=$1
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
- ac_srcdir_defaulted=yes
- # Try the directory containing this script, then its parent.
- ac_prog=[$]0
-changequote(, )dnl
- ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
-changequote([, ])dnl
- test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
- srcdir=$ac_confdir
- if test ! -r $srcdir/$ac_unique_file; then
- srcdir=..
- fi
-else
- ac_srcdir_defaulted=no
-fi
-if test ! -r $srcdir/$ac_unique_file; then
- if test "$ac_srcdir_defaulted" = yes; then
- AC_MSG_ERROR(can not find sources in $ac_confdir or ..)
- else
- AC_MSG_ERROR(can not find sources in $srcdir)
- fi
-fi
-dnl Double slashes in pathnames in object file debugging info
-dnl mess up M-x gdb in Emacs.
-changequote(, )dnl
-srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
-changequote([, ])dnl
-
-dnl Let the site file select an alternate cache file if it wants to.
-AC_SITE_LOAD
-AC_CACHE_LOAD
-AC_LANG_C
-AC_PROG_ECHO_N
-dnl Substitute for predefined variables.
-AC_SUBST(CFLAGS)dnl
-AC_SUBST(CPPFLAGS)dnl
-AC_SUBST(CXXFLAGS)dnl
-AC_SUBST(DEFS)dnl
-AC_SUBST(LDFLAGS)dnl
-AC_SUBST(LIBS)dnl
-AC_SUBST(exec_prefix)dnl
-AC_SUBST(prefix)dnl
-AC_SUBST(program_transform_name)dnl
-])
-
-
-dnl ### Selecting optional features
-
-
-dnl AC_ARG_ENABLE(FEATURE, HELP-STRING, ACTION-IF-TRUE [, ACTION-IF-FALSE])
-AC_DEFUN(AC_ARG_ENABLE,
-[AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)dnl
-ac_help="$ac_help
-[$2]"
-AC_DIVERT_POP()dnl
-[#] Check whether --enable-$1 or --disable-$1 was given.
-enableval="[$enable_]patsubst($1, -, _)"
-if test -n "$enableval"; then
- ifelse([$3], , :, [$3])
-ifelse([$4], , , [else
- $4
-])dnl
-fi
-])
-
-AC_DEFUN(AC_ENABLE,
-[AC_OBSOLETE([$0], [; instead use AC_ARG_ENABLE])dnl
-AC_ARG_ENABLE([$1], [ --enable-$1], [$2], [$3])dnl
-])
-
-
-dnl ### Working with optional software
-
-
-dnl AC_ARG_WITH(PACKAGE, HELP-STRING, ACTION-IF-TRUE [, ACTION-IF-FALSE])
-AC_DEFUN(AC_ARG_WITH,
-[AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)dnl
-ac_help="$ac_help
-[$2]"
-AC_DIVERT_POP()dnl
-[#] Check whether --with-$1 or --without-$1 was given.
-withval="[$with_]patsubst($1, -, _)"
-if test -n "$withval"; then
- ifelse([$3], , :, [$3])
-ifelse([$4], , , [else
- $4
-])dnl
-fi
-])
-
-AC_DEFUN(AC_WITH,
-[AC_OBSOLETE([$0], [; instead use AC_ARG_WITH])dnl
-AC_ARG_WITH([$1], [ --with-$1], [$2], [$3])dnl
-])
-
-
-dnl ### Transforming program names.
-
-
-dnl AC_ARG_PROGRAM()
-AC_DEFUN(AC_ARG_PROGRAM,
-[if test "$program_transform_name" = s,x,x,; then
- program_transform_name=
-else
- # Double any \ or $.
- echo 's,\\,\\\\,g; s,\$,$$,g' > conftestsed
- program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
- rm -f conftestsed
-fi
-test "$program_prefix" != NONE &&
- program_transform_name="s,^,${program_prefix},; $program_transform_name"
-# Use a double $ so make ignores it.
-test "$program_suffix" != NONE &&
- program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
-
-# sed with no file args requires a program.
-test "$program_transform_name" = "" && program_transform_name="s,x,x,"
-])
-
-
-dnl ### Version numbers
-
-
-dnl AC_REVISION(REVISION-INFO)
-AC_DEFUN(AC_REVISION,
-[AC_REQUIRE([AC_INIT_BINSH])dnl
-[# From configure.in] translit([$1], $")])
-
-dnl Subroutines of AC_PREREQ.
-
-dnl Change the dots in NUMBER into commas.
-dnl AC_PREREQ_SPLIT(NUMBER)
-define(AC_PREREQ_SPLIT,
-[translit($1, ., [, ])])
-
-dnl Default the ternary version number to 0 (e.g., 1, 7 -> 1, 7, 0).
-dnl AC_PREREQ_CANON(MAJOR, MINOR [,TERNARY])
-define(AC_PREREQ_CANON,
-[$1, $2, ifelse([$3], , 0, [$3])])
-
-dnl Complain and exit if version number 1 is less than version number 2.
-dnl PRINTABLE2 is the printable version of version number 2.
-dnl AC_PREREQ_COMPARE(MAJOR1, MINOR1, TERNARY1, MAJOR2, MINOR2, TERNARY2,
-dnl PRINTABLE2)
-define(AC_PREREQ_COMPARE,
-[ifelse(builtin([eval],
-[$3 + $2 * 1000 + $1 * 1000000 < $6 + $5 * 1000 + $4 * 1000000]), 1,
-[errprint(Autoconf version $7 or higher is required for this script
-)m4exit(3)])])
-
-dnl Complain and exit if the Autoconf version is less than VERSION.
-dnl AC_PREREQ(VERSION)
-define(AC_PREREQ,
-[AC_PREREQ_COMPARE(AC_PREREQ_CANON(AC_PREREQ_SPLIT(AC_ACVERSION)),
-AC_PREREQ_CANON(AC_PREREQ_SPLIT([$1])), [$1])])
-
-
-dnl ### Getting the canonical system type
-
-
-dnl Find install-sh, config.sub, config.guess, and Cygnus configure
-dnl in directory DIR. These are auxiliary files used in configuration.
-dnl DIR can be either absolute or relative to $srcdir.
-dnl AC_CONFIG_AUX_DIR(DIR)
-AC_DEFUN(AC_CONFIG_AUX_DIR,
-[AC_CONFIG_AUX_DIRS($1 $srcdir/$1)])
-
-dnl The default is `$srcdir' or `$srcdir/..' or `$srcdir/../..'.
-dnl There's no need to call this macro explicitly; just AC_REQUIRE it.
-AC_DEFUN(AC_CONFIG_AUX_DIR_DEFAULT,
-[AC_CONFIG_AUX_DIRS($srcdir $srcdir/.. $srcdir/../..)])
-
-dnl Internal subroutine.
-dnl Search for the configuration auxiliary files in directory list $1.
-dnl We look only for install-sh, so users of AC_PROG_INSTALL
-dnl do not automatically need to distribute the other auxiliary files.
-dnl AC_CONFIG_AUX_DIRS(DIR ...)
-AC_DEFUN(AC_CONFIG_AUX_DIRS,
-[ac_aux_dir=
-for ac_dir in $1; do
- if test -f $ac_dir/install-sh; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install-sh -c"
- break
- elif test -f $ac_dir/install.sh; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install.sh -c"
- break
- fi
-done
-if test -z "$ac_aux_dir"; then
- AC_MSG_ERROR([can not find install-sh or install.sh in $1])
-fi
-ac_config_guess=$ac_aux_dir/config.guess
-ac_config_sub=$ac_aux_dir/config.sub
-ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
-AC_PROVIDE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
-])
-
-dnl Canonicalize the host, target, and build system types.
-AC_DEFUN(AC_CANONICAL_SYSTEM,
-[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
-AC_BEFORE([$0], [AC_ARG_PROGRAM])
-# Do some error checking and defaulting for the host and target type.
-# The inputs are:
-# configure --host=HOST --target=TARGET --build=BUILD NONOPT
-#
-# The rules are:
-# 1. You are not allowed to specify --host, --target, and nonopt at the
-# same time.
-# 2. Host defaults to nonopt.
-# 3. If nonopt is not specified, then host defaults to the current host,
-# as determined by config.guess.
-# 4. Target and build default to nonopt.
-# 5. If nonopt is not specified, then target and build default to host.
-
-# The aliases save the names the user supplied, while $host etc.
-# will get canonicalized.
-case $host---$target---$nonopt in
-NONE---*---* | *---NONE---* | *---*---NONE) ;;
-*) AC_MSG_ERROR(can only configure for one host and one target at a time) ;;
-esac
-
-AC_CANONICAL_HOST
-AC_CANONICAL_TARGET
-AC_CANONICAL_BUILD
-test "$host_alias" != "$target_alias" &&
- test "$program_prefix$program_suffix$program_transform_name" = \
- NONENONEs,x,x, && program_prefix=${target_alias}-
-])
-
-dnl Subroutines of AC_CANONICAL_SYSTEM.
-
-AC_DEFUN(AC_CANONICAL_HOST,
-[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
-
-# Make sure we can run config.sub.
-if $ac_config_sub sun4 >/dev/null 2>&1; then :
-else AC_MSG_ERROR(can not run $ac_config_sub)
-fi
-
-AC_MSG_CHECKING(host system type)
-
-host_alias=$host
-case "$host_alias" in
-NONE)
- case $nonopt in
- NONE)
- if host_alias=`$ac_config_guess`; then :
- else AC_MSG_ERROR(can not guess host type; you must specify one)
- fi ;;
- *) host_alias=$nonopt ;;
- esac ;;
-esac
-
-host=`$ac_config_sub $host_alias`
-host_cpu=`echo $host | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\1/'`
-host_vendor=`echo $host | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\2/'`
-host_os=`echo $host | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\3/'`
-AC_MSG_RESULT($host)
-AC_SUBST(host)dnl
-AC_SUBST(host_alias)dnl
-AC_SUBST(host_cpu)dnl
-AC_SUBST(host_vendor)dnl
-AC_SUBST(host_os)dnl
-])
-
-dnl Internal use only.
-AC_DEFUN(AC_CANONICAL_TARGET,
-[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
-AC_MSG_CHECKING(target system type)
-
-target_alias=$target
-case "$target_alias" in
-NONE)
- case $nonopt in
- NONE) target_alias=$host_alias ;;
- *) target_alias=$nonopt ;;
- esac ;;
-esac
-
-target=`$ac_config_sub $target_alias`
-target_cpu=`echo $target | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\1/'`
-target_vendor=`echo $target | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\2/'`
-target_os=`echo $target | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\3/'`
-AC_MSG_RESULT($target)
-AC_SUBST(target)dnl
-AC_SUBST(target_alias)dnl
-AC_SUBST(target_cpu)dnl
-AC_SUBST(target_vendor)dnl
-AC_SUBST(target_os)dnl
-])
-
-dnl Internal use only.
-AC_DEFUN(AC_CANONICAL_BUILD,
-[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
-AC_MSG_CHECKING(build system type)
-
-build_alias=$build
-case "$build_alias" in
-NONE)
- case $nonopt in
- NONE) build_alias=$host_alias ;;
- *) build_alias=$nonopt ;;
- esac ;;
-esac
-
-build=`$ac_config_sub $build_alias`
-build_cpu=`echo $build | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\1/'`
-build_vendor=`echo $build | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\2/'`
-build_os=`echo $build | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\3/'`
-AC_MSG_RESULT($build)
-AC_SUBST(build)dnl
-AC_SUBST(build_alias)dnl
-AC_SUBST(build_cpu)dnl
-AC_SUBST(build_vendor)dnl
-AC_SUBST(build_os)dnl
-])
-
-
-dnl ### Caching test results
-
-
-dnl Look for site or system specific initialization scripts.
-dnl AC_SITE_LOAD()
-define(AC_SITE_LOAD,
-[# Prefer explicitly selected file to automatically selected ones.
-if test -z "$CONFIG_SITE"; then
- if test "x$prefix" != xNONE; then
- CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
- else
- CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
- fi
-fi
-for ac_site_file in $CONFIG_SITE; do
- if test -r "$ac_site_file"; then
- echo "loading site script $ac_site_file"
- . "$ac_site_file"
- fi
-done
-])
-
-dnl AC_CACHE_LOAD()
-define(AC_CACHE_LOAD,
-[if test -r "$cache_file"; then
- echo "loading cache $cache_file"
- . $cache_file
-else
- echo "creating cache $cache_file"
- > $cache_file
-fi
-])
-
-dnl AC_CACHE_SAVE()
-define(AC_CACHE_SAVE,
-[if test -w $cache_file; then
-echo "updating cache $cache_file"
-cat > $cache_file <<\EOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs. It is not useful on other systems.
-# If it contains results you don't want to keep, you may remove or edit it.
-#
-# By default, configure uses ./config.cache as the cache file,
-# creating it if it does not exist already. You can give configure
-# the --cache-file=FILE option to use a different cache file; that is
-# what configure does when it calls configure scripts in
-# subdirectories, so they share the cache.
-# Giving --cache-file=/dev/null disables caching, for debugging configure.
-# config.status only pays attention to the cache file if you give it the
-# --recheck option to rerun configure.
-#
-EOF
-changequote(, )dnl
-dnl Allow a site initialization script to override cache values.
-# Ultrix sh set writes to stderr and can't be redirected directly.
-# Ultrix sh set also returns variables that were read in from the config file
-# with their high bit set.
-(set) 2>&1 | tr '\201-\377' '\001-\177' |
- sed -n "s/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/: \${\1='\2'}/p" \
- >> $cache_file
-changequote([, ])dnl
-else
-echo "not updating unwritable cache $cache_file"
-fi
-])
-
-dnl The name of shell var CACHE-ID must contain `_cv_' in order to get saved.
-dnl AC_CACHE_VAL(CACHE-ID, COMMANDS-TO-SET-IT)
-define(AC_CACHE_VAL,
-[dnl We used to use the below line, but it fails if the 1st arg is a
-dnl shell variable, so we need the eval.
-dnl if test "${$1+set}" = set; then
-if eval "test \"`echo '${'$1'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&AC_FD_MSG
-else
- $2
-fi
-])
-
-
-dnl ### Defining symbols
-
-
-dnl Set VARIABLE to VALUE, verbatim, or 1.
-dnl AC_DEFINE(VARIABLE [, VALUE])
-define(AC_DEFINE,
-[cat >> confdefs.h <<\EOF
-[#define] $1 ifelse($#, 2, [$2], 1)
-EOF
-])
-
-dnl Similar, but perform shell substitutions $ ` \ once on VALUE.
-dnl The 'tr' is to fix more Ultrix sh brain damage
-define(AC_DEFINE_UNQUOTED,
-[cat <<EOF | tr '\201-\377' '\001-\177' >> confdefs.h
-[#define] $1 ifelse($#, 2, [$2], 1)
-EOF
-])
-
-
-dnl ### Setting output variables
-
-
-dnl This macro protects VARIABLE from being diverted twice
-dnl if this macro is called twice for it.
-dnl AC_SUBST(VARIABLE)
-define(AC_SUBST,
-[ifdef([AC_SUBST_$1], ,
-[define([AC_SUBST_$1], )dnl
-AC_DIVERT_PUSH(AC_DIVERSION_SED)dnl
-s%@$1@%[$]$1%g
-AC_DIVERT_POP()dnl
-])])
-
-dnl AC_SUBST_FILE(VARIABLE)
-define(AC_SUBST_FILE,
-[ifdef([AC_SUBST_$1], ,
-[define([AC_SUBST_$1], )dnl
-AC_DIVERT_PUSH(AC_DIVERSION_SED)dnl
-/@$1@/r [$]$1
-s%@$1@%%g
-AC_DIVERT_POP()dnl
-])])
-
-
-dnl ### Printing messages
-
-
-dnl AC_MSG_CHECKING(FEATURE-DESCRIPTION)
-define(AC_MSG_CHECKING,
-[echo $ac_n "checking $1""... $ac_c" 1>&AC_FD_MSG])
-
-dnl AC_CHECKING(FEATURE-DESCRIPTION)
-define(AC_CHECKING,
-[echo "checking $1" 1>&AC_FD_MSG])
-
-dnl AC_MSG_RESULT(RESULT-DESCRIPTION)
-define(AC_MSG_RESULT,
-[echo "$ac_t""$1" 1>&AC_FD_MSG])
-
-dnl AC_VERBOSE(RESULT-DESCRIPTION)
-define(AC_VERBOSE,
-[AC_OBSOLETE([$0], [; instead use AC_MSG_RESULT])dnl
-echo " $1" 1>&AC_FD_MSG])
-
-dnl AC_MSG_WARN(PROBLEM-DESCRIPTION)
-define(AC_MSG_WARN,
-[echo "configure: warning: $1" 1>&2])
-
-dnl AC_MSG_ERROR(ERROR-DESCRIPTION)
-define(AC_MSG_ERROR,
-[{ echo "configure: error: $1" 1>&2; exit 1; }])
-
-
-dnl ### Selecting which language to use for testing
-
-
-dnl AC_LANG_C()
-AC_DEFUN(AC_LANG_C,
-[define([AC_LANG], [C])dnl
-ac_ext=c
-# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='${CC-cc} $CFLAGS $CPPFLAGS conftest.$ac_ext -c 1>&AC_FD_CC 2>&AC_FD_CC'
-ac_link='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext -o conftest $LIBS 1>&AC_FD_CC 2>&AC_FD_CC'
-])
-
-dnl AC_LANG_CPLUSPLUS()
-AC_DEFUN(AC_LANG_CPLUSPLUS,
-[define([AC_LANG], [CPLUSPLUS])dnl
-ac_ext=C
-# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='${CXX-g++} $CXXFLAGS $CPPFLAGS conftest.$ac_ext -c 1>&AC_FD_CC 2>&AC_FD_CC'
-ac_link='${CXX-g++} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext -o conftest $LIBS 1>&AC_FD_CC 2>&AC_FD_CC'
-])
-
-dnl Push the current language on a stack.
-dnl AC_LANG_SAVE()
-define(AC_LANG_SAVE,
-[pushdef([AC_LANG_STACK], AC_LANG)])
-
-dnl Restore the current language from the stack.
-dnl AC_LANG_RESTORE()
-define(AC_LANG_RESTORE,
-[ifelse(AC_LANG_STACK, C, [ifelse(AC_LANG, C, , [AC_LANG_C])], [ifelse(AC_LANG, CPLUSPLUS, , [AC_LANG_CPLUSPLUS])])[]popdef([AC_LANG_STACK])])
-
-
-dnl ### Dependencies between macros
-
-
-dnl AC_BEFORE(THIS-MACRO-NAME, CALLED-MACRO-NAME)
-define(AC_BEFORE,
-[ifdef([AC_PROVIDE_$2], [errprint(__file__:__line__: [$2 was called before $1
-])])])
-
-dnl AC_REQUIRE(MACRO-NAME)
-define(AC_REQUIRE,
-[ifdef([AC_PROVIDE_$1], ,
-[AC_DIVERT_PUSH(builtin(eval, AC_DIVERSION_CURRENT - 1))dnl
-indir([$1])
-AC_DIVERT_POP()dnl
-])])
-
-dnl AC_PROVIDE(MACRO-NAME)
-define(AC_PROVIDE,
-[define([AC_PROVIDE_$1], )])
-
-dnl AC_OBSOLETE(THIS-MACRO-NAME [, SUGGESTION])
-define(AC_OBSOLETE,
-[errprint(__file__:__line__: warning: [$1] is obsolete[$2]
-)])
-
-
-dnl ### Checking for programs
-
-
-dnl AC_CHECK_PROG(VARIABLE, PROG-TO-CHECK-FOR, VALUE-IF-FOUND
-dnl [, VALUE-IF-NOT-FOUND])
-AC_DEFUN(AC_CHECK_PROG,
-[# 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_prog_$1,
-[if test -n "[$]$1"; then
- ac_cv_prog_$1="[$]$1" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
- for ac_dir in $PATH; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_$1="$3"
- break
- fi
- done
- IFS="$ac_save_ifs"
-dnl If no 4th arg is given, leave the cache variable unset,
-dnl so AC_CHECK_PROGS will keep looking.
-ifelse([$4], , , [ test -z "[$]ac_cv_prog_$1" && ac_cv_prog_$1="$4"
-])dnl
-fi])dnl
-$1="$ac_cv_prog_$1"
-if test -n "[$]$1"; then
- AC_MSG_RESULT([$]$1)
-else
- AC_MSG_RESULT(no)
-fi
-AC_SUBST($1)dnl
-])
-
-dnl AC_PATH_PROG(VARIABLE, PROG-TO-CHECK-FOR [, VALUE-IF-NOT-FOUND])
-AC_DEFUN(AC_PATH_PROG,
-[# 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.
- ;;
- *)
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
- for ac_dir in $PATH; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_path_$1="$ac_dir/$ac_word"
- break
- fi
- done
- IFS="$ac_save_ifs"
-dnl If no 3rd arg is given, leave the cache variable unset,
-dnl so AC_PATH_PROGS will keep looking.
-ifelse([$3], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$3"
-])dnl
- ;;
-esac])dnl
-$1="$ac_cv_path_$1"
-if test -n "[$]$1"; then
- AC_MSG_RESULT([$]$1)
-else
- AC_MSG_RESULT(no)
-fi
-AC_SUBST($1)dnl
-])
-
-dnl AC_CHECK_PROGS(VARIABLE, PROGS-TO-CHECK-FOR [, VALUE-IF-NOT-FOUND])
-AC_DEFUN(AC_CHECK_PROGS,
-[for ac_prog in $2
-do
-AC_CHECK_PROG($1, [$]ac_prog, [$]ac_prog, )
-test -n "[$]$1" && break
-done
-ifelse([$3], , , [test -n "[$]$1" || $1="$3"
-])])
-
-dnl AC_PATH_PROGS(VARIABLE, PROGS-TO-CHECK-FOR [, VALUE-IF-NOT-FOUND])
-AC_DEFUN(AC_PATH_PROGS,
-[for ac_prog in $2
-do
-AC_PATH_PROG($1, [$]ac_prog)
-test -n "[$]$1" && break
-done
-ifelse([$3], , , [test -n "[$]$1" || $1="$3"
-])])
-
-dnl Guess the value for the `prefix' variable by looking for
-dnl the argument program along PATH and taking its parent.
-dnl Example: if the argument is `gcc' and we find /usr/local/gnu/bin/gcc,
-dnl set `prefix' to /usr/local/gnu.
-dnl This comes too late to find a site file based on the prefix,
-dnl and it might use a cached value for the path.
-dnl No big loss, I think, since most configures don't use this macro anyway.
-dnl AC_PREFIX_PROGRAM(PROGRAM)
-AC_DEFUN(AC_PREFIX_PROGRAM,
-[if test "x$prefix" = xNONE; then
-changequote(<<, >>)dnl
-define(<<AC_VAR_NAME>>, translit($1, [a-z], [A-Z]))dnl
-changequote([, ])dnl
-AC_PATH_PROG(AC_VAR_NAME, $1)
-changequote(<<, >>)dnl
- if test -n "$ac_cv_path_<<>>AC_VAR_NAME"; then
- prefix=`echo $ac_cv_path_<<>>AC_VAR_NAME|sed 's%/[^/][^/]*/[^/][^/]*$%%'`
-changequote([, ])dnl
- fi
-fi
-undefine([AC_VAR_NAME])dnl
-])
-
-
-dnl ### Checking for libraries
-
-
-dnl AC_CHECK_LIB(LIBRARY, FUNCTION [, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND
-dnl [, OTHER-LIBRARIES]]])
-AC_DEFUN(AC_CHECK_LIB,
-[AC_MSG_CHECKING([for -l$1])
-AC_CACHE_VAL(ac_cv_lib_$1,
-[ac_save_LIBS="$LIBS"
-LIBS="$LIBS -l$1 $5"
-AC_TRY_LINK(, [$2()], eval "ac_cv_lib_$1=yes", eval "ac_cv_lib_$1=no")dnl
-LIBS="$ac_save_LIBS"
-])dnl
-if eval "test \"`echo '$ac_cv_lib_'$1`\" = yes"; then
- AC_MSG_RESULT(yes)
- ifelse([$3], ,
-[changequote(, )dnl
- ac_tr_lib=HAVE_LIB`echo $1 | tr '[a-z]' '[A-Z]'`
-changequote([, ])dnl
- AC_DEFINE_UNQUOTED($ac_tr_lib)
- LIBS="$LIBS -l$1"
-], [$3])
-else
- AC_MSG_RESULT(no)
-ifelse([$4], , , [$4
-])dnl
-fi
-])
-
-dnl AC_HAVE_LIBRARY(LIBRARY, [, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND
-dnl [, OTHER-LIBRARIES]]])
-AC_DEFUN(AC_HAVE_LIBRARY,
-[AC_OBSOLETE([$0], [; instead use AC_CHECK_LIB])dnl
-changequote(<<, >>)dnl
-define(<<AC_LIB_NAME>>, dnl
-patsubst(patsubst($1, <<lib\([^\.]*\)\.a>>, <<\1>>), <<-l>>, <<>>))dnl
-define(<<AC_CV_NAME>>, ac_cv_lib_<<>>AC_LIB_NAME)dnl
-changequote([, ])dnl
-AC_MSG_CHECKING([for -l[]AC_LIB_NAME])
-AC_CACHE_VAL(AC_CV_NAME,
-[ac_save_LIBS="$LIBS"
-LIBS="$LIBS -l[]AC_LIB_NAME[] $4"
-AC_TRY_LINK( , [main()], AC_CV_NAME=yes, AC_CV_NAME=no)dnl
-LIBS="$ac_save_LIBS"
-])dnl
-AC_MSG_RESULT($AC_CV_NAME)
-if test "$AC_CV_NAME" = yes; then
- ifelse([$2], ,
-[AC_DEFINE([HAVE_LIB]translit(AC_LIB_NAME, [a-z], [A-Z]))
- LIBS="$LIBS -l[]AC_LIB_NAME[]"
-], [$2])
-ifelse([$3], , , [else
- $3
-])dnl
-fi
-undefine([AC_LIB_NAME])dnl
-undefine([AC_CV_NAME])dnl
-])
-
-
-dnl ### Examining declarations
-
-
-dnl AC_TRY_CPP(INCLUDES, ACTION-IF-TRUE [, ACTION-IF-FALSE])
-AC_DEFUN(AC_TRY_CPP,
-[AC_REQUIRE_CPP()dnl
-cat > conftest.$ac_ext <<EOF
-[#]line __oline__ "configure"
-#include "confdefs.h"
-[$1]
-EOF
-dnl Capture the stderr of cpp. eval is necessary to expand ac_cpp.
-dnl We used to copy stderr to stdout and capture it in a variable, but
-dnl that breaks under sh -x, which writes compile commands starting
-dnl with ` +' to stderr in eval and subshells.
-eval "$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-ac_err=`grep -v '^ *+' conftest.out`
-if test -z "$ac_err"; then
- ifelse([$2], , :, [rm -rf conftest*
- $2])
-else
- echo "$ac_err" >&AC_FD_CC
-ifelse([$3], , , [ rm -rf conftest*
- $3
-])dnl
-fi
-rm -f conftest*])
-
-dnl AC_EGREP_HEADER(PATTERN, HEADER-FILE, ACTION-IF-FOUND [,
-dnl ACTION-IF-NOT-FOUND])
-AC_DEFUN(AC_EGREP_HEADER,
-[AC_EGREP_CPP([$1], [#include <$2>], [$3], [$4])])
-
-dnl Because this macro is used by AC_PROG_GCC_TRADITIONAL, which must
-dnl come early, it is not included in AC_BEFORE checks.
-dnl AC_EGREP_CPP(PATTERN, PROGRAM, ACTION-IF-FOUND [,
-dnl ACTION-IF-NOT-FOUND])
-AC_DEFUN(AC_EGREP_CPP,
-[AC_REQUIRE_CPP()dnl
-cat > conftest.$ac_ext <<EOF
-[#]line __oline__ "configure"
-#include "confdefs.h"
-[$2]
-EOF
-dnl eval is necessary to expand ac_cpp.
-dnl Ultrix and Pyramid sh refuse to redirect output of eval, so use subshell.
-if (eval "$ac_cpp conftest.$ac_ext") 2>&AC_FD_CC |
- egrep "$1" >/dev/null 2>&1; then
- ifelse([$3], , :, [rm -rf conftest*
- $3])
-ifelse([$4], , , [else
- rm -rf conftest*
- $4
-])dnl
-fi
-rm -f conftest*
-])
-
-
-dnl ### Examining syntax
-
-
-dnl AC_TRY_COMPILE(INCLUDES, FUNCTION-BODY,
-dnl ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND])
-AC_DEFUN(AC_TRY_COMPILE,
-[cat > conftest.$ac_ext <<EOF
-dnl This sometimes fails to find confdefs.h, for some reason.
-dnl [#]line __oline__ "[$]0"
-[#]line __oline__ "configure"
-#include "confdefs.h"
-[$1]
-int main() { return 0; }
-int t() {
-[$2]
-; return 0; }
-EOF
-if eval $ac_compile; then
- ifelse([$3], , :, [rm -rf conftest*
- $3])
-ifelse([$4], , , [else
- rm -rf conftest*
- $4
-])dnl
-fi
-rm -f conftest*]
-)
-
-
-dnl ### Examining libraries
-
-
-dnl AC_COMPILE_CHECK(ECHO-TEXT, INCLUDES, FUNCTION-BODY,
-dnl ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND])
-AC_DEFUN(AC_COMPILE_CHECK,
-[AC_OBSOLETE([$0], [; instead use AC_TRY_COMPILE or AC_TRY_LINK, and AC_MSG_CHECKING and AC_MSG_RESULT])dnl
-ifelse([$1], , , [AC_CHECKING([for $1])
-])dnl
-AC_TRY_LINK([$2], [$3], [$4], [$5])dnl
-])
-
-dnl AC_TRY_LINK(INCLUDES, FUNCTION-BODY,
-dnl ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND])
-AC_DEFUN(AC_TRY_LINK,
-[cat > conftest.$ac_ext <<EOF
-dnl This sometimes fails to find confdefs.h, for some reason.
-dnl [#]line __oline__ "[$]0"
-[#]line __oline__ "configure"
-#include "confdefs.h"
-[$1]
-int main() { return 0; }
-int t() {
-[$2]
-; return 0; }
-EOF
-if eval $ac_link; then
- ifelse([$3], , :, [rm -rf conftest*
- $3])
-ifelse([$4], , , [else
- rm -rf conftest*
- $4
-])dnl
-fi
-rm -f conftest*]
-)
-
-
-dnl ### Checking for run-time features
-
-
-dnl AC_TRY_RUN(PROGRAM, ACTION-IF-TRUE [, ACTION-IF-FALSE
-dnl [, ACTION-IF-CROSS-COMPILING]])
-AC_DEFUN(AC_TRY_RUN,
-[AC_REQUIRE([AC_C_CROSS])dnl
-if test "$cross_compiling" = yes; then
- ifelse([$4], ,
- [errprint(__file__:__line__: warning: [AC_TRY_RUN] called without default to allow cross compiling
-)dnl
- AC_MSG_ERROR(can not run test program while cross compiling)],
- [$4])
-else
-cat > conftest.$ac_ext <<EOF
-[#]line __oline__ "configure"
-#include "confdefs.h"
-ifelse(AC_LANG, CPLUSPLUS, [#ifdef __cplusplus
-extern "C" void exit(int);
-#endif
-])dnl
-[$1]
-EOF
-eval $ac_link
-if test -s conftest && (./conftest; exit) 2>/dev/null; then
- ifelse([$2], , :, [$2])
-ifelse([$3], , , [else
- $3
-])dnl
-fi
-fi
-rm -fr conftest*])
-
-
-dnl ### Checking for header files
-
-
-dnl AC_CHECK_HEADER(HEADER-FILE, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND])
-AC_DEFUN(AC_CHECK_HEADER,
-[dnl Do the transliteration at runtime so arg 1 can be a shell variable.
-ac_safe=`echo "$1" | tr './\055' '___'`
-AC_MSG_CHECKING([for $1])
-AC_CACHE_VAL(ac_cv_header_$ac_safe,
-[AC_TRY_CPP([#include <$1>], eval "ac_cv_header_$ac_safe=yes",
- eval "ac_cv_header_$ac_safe=no")])dnl
-if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
- AC_MSG_RESULT(yes)
- ifelse([$2], , :, [$2])
-else
- AC_MSG_RESULT(no)
-ifelse([$3], , , [$3
-])dnl
-fi
-])
-
-dnl AC_CHECK_HEADERS(HEADER-FILE... [, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
-AC_DEFUN(AC_CHECK_HEADERS,
-[for ac_hdr in $1
-do
-AC_CHECK_HEADER($ac_hdr,
-[changequote(, )dnl
- ac_tr_hdr=HAVE_`echo $ac_hdr | tr '[a-z]./\055' '[A-Z]___'`
-changequote([, ])dnl
- AC_DEFINE_UNQUOTED($ac_tr_hdr) $2], $3)dnl
-done
-])
-
-
-dnl ### Checking for library functions
-
-
-dnl AC_CHECK_FUNC(FUNCTION, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND])
-AC_DEFUN(AC_CHECK_FUNC,
-[AC_MSG_CHECKING([for $1])
-AC_CACHE_VAL(ac_cv_func_$1,
-[AC_TRY_LINK(
-[#include <ctype.h> /* Arbitrary system header to define __stub macros. */
-/* Override any gcc2 internal prototype to avoid an error. */
-]ifelse(AC_LANG, CPLUSPLUS, [#ifdef __cplusplus
-extern "C"
-#endif
-])dnl
-[char $1();
-], [
-/* 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_$1) || defined (__stub___$1)
-choke me
-#else
-$1();
-#endif
-], eval "ac_cv_func_$1=yes", eval "ac_cv_func_$1=no")])dnl
-if eval "test \"`echo '$ac_cv_func_'$1`\" = yes"; then
- AC_MSG_RESULT(yes)
- ifelse([$2], , :, [$2])
-else
- AC_MSG_RESULT(no)
-ifelse([$3], , , [$3
-])dnl
-fi
-])
-
-dnl AC_CHECK_FUNCS(FUNCTION... [, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
-AC_DEFUN(AC_CHECK_FUNCS,
-[for ac_func in $1
-do
-AC_CHECK_FUNC($ac_func,
-[changequote(, )dnl
- ac_tr_func=HAVE_`echo $ac_func | tr '[a-z]' '[A-Z]'`
-changequote([, ])dnl
- AC_DEFINE_UNQUOTED($ac_tr_func) $2], $3)dnl
-done
-])
-
-dnl AC_REPLACE_FUNCS(FUNCTION-NAME...)
-AC_DEFUN(AC_REPLACE_FUNCS,
-[for ac_func in $1
-do
-AC_CHECK_FUNC($ac_func, , [LIBOBJS="$LIBOBJS ${ac_func}.o"])
-done
-AC_SUBST(LIBOBJS)dnl
-])
-
-
-dnl ### Checking compiler characteristics
-
-
-dnl AC_CHECK_SIZEOF(TYPE)
-AC_DEFUN(AC_CHECK_SIZEOF,
-[changequote(<<, >>)dnl
-dnl The name to #define.
-define(<<AC_TYPE_NAME>>, translit(sizeof_$1, [a-z *], [A-Z_P]))dnl
-dnl The cache variable name.
-define(<<AC_CV_NAME>>, translit(ac_cv_sizeof_$1, [ *], [_p]))dnl
-changequote([, ])dnl
-AC_MSG_CHECKING(size of $1)
-AC_CACHE_VAL(AC_CV_NAME,
-[AC_TRY_RUN([#include <stdio.h>
-main()
-{
- FILE *f=fopen("conftestval", "w");
- if (!f) exit(1);
- fprintf(f, "%d\n", sizeof($1));
- exit(0);
-}], AC_CV_NAME=`cat conftestval`)])dnl
-AC_MSG_RESULT($AC_CV_NAME)
-AC_DEFINE_UNQUOTED(AC_TYPE_NAME, $AC_CV_NAME)
-undefine([AC_TYPE_NAME])dnl
-undefine([AC_CV_NAME])dnl
-])
-
-
-dnl ### Checking for typedefs
-
-
-dnl AC_CHECK_TYPE(TYPE, DEFAULT)
-AC_DEFUN(AC_CHECK_TYPE,
-[AC_REQUIRE([AC_HEADER_STDC])dnl
-AC_MSG_CHECKING(for $1)
-AC_CACHE_VAL(ac_cv_type_$1,
-[AC_EGREP_CPP($1, [#include <sys/types.h>
-#if STDC_HEADERS
-#include <stdlib.h>
-#endif], ac_cv_type_$1=yes, ac_cv_type_$1=no)])dnl
-AC_MSG_RESULT($ac_cv_type_$1)
-if test $ac_cv_type_$1 = no; then
- AC_DEFINE($1, $2)
-fi
-])
-
-
-dnl ### Creating output files
-
-
-dnl AC_CONFIG_HEADER(HEADER-TO-CREATE ...)
-AC_DEFUN(AC_CONFIG_HEADER,
-[define(AC_LIST_HEADER, $1)])
-
-dnl Link each of the existing files SOURCE... to the corresponding
-dnl link name in DEST...
-dnl AC_LINK_FILES(SOURCE..., DEST...)
-AC_DEFUN(AC_LINK_FILES,
-[define([AC_LIST_FILES], [$1])define([AC_LIST_LINKS], [$2])])
-
-dnl AC_CONFIG_SUBDIRS(DIR ...)
-AC_DEFUN(AC_CONFIG_SUBDIRS,
-[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
-define([AC_LIST_SUBDIRS], [$1])dnl
-subdirs="AC_LIST_SUBDIRS"
-AC_SUBST(subdirs)dnl
-])
-
-dnl The big finish.
-dnl Produce config.status, config.h, and links, and configure subdirs.
-dnl AC_OUTPUT([FILE...] [, EXTRA-CMDS] [, INIT-CMDS])
-define(AC_OUTPUT,
-[trap '' 1 2 15
-AC_CACHE_SAVE
-trap 'rm -fr conftest* confdefs* core $ac_clean_files; exit 1' 1 2 15
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-# Any assignment to VPATH causes Sun make to only execute
-# the first set of double-colon rules, so remove it if not needed.
-# If there is a colon in the path, we need to keep it.
-if test "x$srcdir" = x.; then
-changequote(, )dnl
- ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
-changequote([, ])dnl
-fi
-
-trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
-
-ifdef([AC_LIST_HEADER], [DEFS=-DHAVE_CONFIG_H], [AC_OUTPUT_MAKE_DEFS()])
-
-# Without the "./", some shells look in PATH for config.status.
-: ${CONFIG_STATUS=./config.status}
-
-echo creating $CONFIG_STATUS
-rm -f $CONFIG_STATUS
-cat > $CONFIG_STATUS <<EOF
-#!/bin/sh
-# Generated automatically by configure.
-# Run this file to recreate the current configuration.
-# This directory was configured as follows,
-dnl hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
-dnl so uname gets run too.
-# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-#
-[#] [$]0 [$]ac_configure_args
-#
-# Compiler output produced by configure, useful for debugging
-# configure, is in ./config.log if it exists.
-
-changequote(, )dnl
-ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
-changequote([, ])dnl
-for ac_option
-do
- case "[\$]ac_option" in
- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
- echo "running [\$]{CONFIG_SHELL-/bin/sh} [$]0 [$]ac_configure_args --no-create --no-recursion"
- exec [\$]{CONFIG_SHELL-/bin/sh} [$]0 [$]ac_configure_args --no-create --no-recursion ;;
- -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
- echo "$CONFIG_STATUS generated by autoconf version AC_ACVERSION"
- exit 0 ;;
- -help | --help | --hel | --he | --h)
- echo "[\$]ac_cs_usage"; exit 0 ;;
- *) echo "[\$]ac_cs_usage"; exit 1 ;;
- esac
-done
-
-ac_given_srcdir=$srcdir
-ifdef([AC_PROVIDE_AC_PROG_INSTALL], [ac_given_INSTALL="$INSTALL"
-])dnl
-
-ifdef([AC_LIST_HEADER],
-[trap 'rm -fr $1 AC_LIST_HEADER conftest*; exit 1' 1 2 15],
-[trap 'rm -f $1; exit 1' 1 2 15])
-
-AC_OUTPUT_FILES($1)
-ifdef([AC_LIST_HEADER], [AC_OUTPUT_HEADER(AC_LIST_HEADER)])dnl
-ifdef([AC_LIST_LINKS], [AC_OUTPUT_LINKS(AC_LIST_FILES, AC_LIST_LINKS)])dnl
-ifelse([$3], , ,
-[EOF
-cat >> $CONFIG_STATUS <<EOF
-$3
-EOF
-cat >> $CONFIG_STATUS <<\EOF])
-$2
-exit 0
-EOF
-chmod +x $CONFIG_STATUS
-rm -fr confdefs* $ac_clean_files
-test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS
-dnl config.status should not do recursion.
-ifdef([AC_LIST_SUBDIRS], [AC_OUTPUT_SUBDIRS(AC_LIST_SUBDIRS)])dnl
-])dnl
-
-dnl This is a subroutine of AC_OUTPUT.
-dnl It is called inside configure, outside of config.status.
-dnl AC_OUTPUT_MAKE_DEFS()
-define(AC_OUTPUT_MAKE_DEFS,
-[# Transform confdefs.h into DEFS.
-dnl Using a here document instead of a string reduces the quoting nightmare.
-# Protect against shell expansion while executing Makefile rules.
-# Protect against Makefile macro expansion.
-cat > conftest.defs <<\EOF
-changequote(<<, >>)dnl
-s%<<#define>> \([A-Za-z_][A-Za-z0-9_]*\) \(.*\)%-D\1=\2%g
-s%[ `~<<#>>$^&*(){}\\|;'"<>?]%\\&%g
-s%\[%\\&%g
-s%\]%\\&%g
-s%\$%$$%g
-changequote([, ])dnl
-EOF
-DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
-rm -f conftest.defs
-])
-
-dnl This is a subroutine of AC_OUTPUT. It is called inside an unquoted
-dnl here document whose contents are going into config.status.
-dnl AC_OUTPUT_FILES(FILE...)
-define(AC_OUTPUT_FILES,
-[# Protect against being on the right side of a sed subst in config.status.
-changequote(, )dnl
-sed 's/%@/@@/; s/@%/@@/; s/%g$/@g/; /@g$/s/[\\\\&%]/\\\\&/g;
- s/@@/%@/; s/@@/@%/; s/@g$/%g/' > conftest.subs <<\CEOF
-changequote([, ])dnl
-dnl These here document variables are unquoted when configure runs
-dnl but quoted when config.status runs, so variables are expanded once.
-$ac_vpsub
-dnl Shell code in configure.in might set extrasub.
-$extrasub
-dnl Insert the sed substitutions of variables.
-undivert(AC_DIVERSION_SED)
-CEOF
-EOF
-cat >> $CONFIG_STATUS <<EOF
-
-CONFIG_FILES=\${CONFIG_FILES-"$1"}
-EOF
-cat >> $CONFIG_STATUS <<\EOF
-for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
-dnl Specifying an input file breaks the trap to clean up on interrupt,
-dnl but that's not a huge problem.
- # Support "outfile[:infile]", defaulting infile="outfile.in".
- case "$ac_file" in
- *:*) ac_file_in=`echo "$ac_file"|sed 's%.*:%%'`
- ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
- *) ac_file_in="${ac_file}.in" ;;
- esac
-
- # Adjust relative srcdir, etc. for subdirectories.
-
- # Remove last slash and all that follows it. Not all systems have dirname.
-changequote(, )dnl
- ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
-changequote([, ])dnl
- if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
- # The file is in a subdirectory.
- test ! -d "$ac_dir" && mkdir "$ac_dir"
- ac_dir_suffix="/$ac_dir"
- # A "../" for each directory in $ac_dir_suffix.
-changequote(, )dnl
- ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
-changequote([, ])dnl
- else
- ac_dir_suffix= ac_dots=
- fi
-
- case "$ac_given_srcdir" in
- .) srcdir=.
- if test -z "$ac_dots"; then top_srcdir=.
- else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
- /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
- *) # Relative path.
- srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
- top_srcdir="$ac_dots$ac_given_srcdir" ;;
- esac
-
-ifdef([AC_PROVIDE_AC_PROG_INSTALL],
-[ case "$ac_given_INSTALL" in
-changequote(, )dnl
- [/$]*) INSTALL="$ac_given_INSTALL" ;;
-changequote([, ])dnl
- *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
- esac
-])dnl
- echo creating "$ac_file"
- rm -f "$ac_file"
- configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
- case "$ac_file" in
- *Makefile*) ac_comsub="1i\\
-# $configure_input" ;;
- *) ac_comsub= ;;
- esac
- sed -e "$ac_comsub
-s%@configure_input@%$configure_input%g
-s%@srcdir@%$srcdir%g
-s%@top_srcdir@%$top_srcdir%g
-ifdef([AC_PROVIDE_AC_PROG_INSTALL], [s%@INSTALL@%$INSTALL%g
-])dnl
-" -f conftest.subs $ac_given_srcdir/$ac_file_in > $ac_file
-fi; done
-rm -f conftest.subs
-])
-
-dnl This is a subroutine of AC_OUTPUT. It is called inside a quoted
-dnl here document whose contents are going into config.status.
-dnl AC_OUTPUT_HEADER(HEADER-FILE...)
-define(AC_OUTPUT_HEADER,
-[changequote(<<, >>)dnl
-# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
-# NAME is the cpp macro being defined and VALUE is the value it is being given.
-#
-# ac_d sets the value in "#define NAME VALUE" lines.
-ac_dA='s%^\([ ]*\)#\([ ]*define[ ][ ]*\)'
-ac_dB='\([ ][ ]*\)[^ ]*%\1#\2'
-ac_dC='\3'
-ac_dD='%g'
-# ac_u turns "#undef NAME" with trailing blanks into "#define NAME VALUE".
-ac_uA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
-ac_uB='\([ ]\)%\1#\2define\3'
-ac_uC=' '
-ac_uD='\4%g'
-# ac_e turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
-ac_eA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
-ac_eB='<<$>>%\1#\2define\3'
-ac_eC=' '
-ac_eD='%g'
-changequote([, ])dnl
-
-CONFIG_HEADERS=${CONFIG_HEADERS-"$1"}
-for ac_file in .. $CONFIG_HEADERS; do if test "x$ac_file" != x..; then
- # Support "outfile[:infile]", defaulting infile="outfile.in".
- case "$ac_file" in
- *:*) ac_file_in=`echo "$ac_file"|sed 's%.*:%%'`
- ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
- *) ac_file_in="${ac_file}.in" ;;
- esac
-
- echo creating $ac_file
-
- rm -f conftest.frag conftest.in conftest.out
- cp $ac_given_srcdir/$ac_file_in conftest.in
-
-EOF
-
-# Transform confdefs.h into a sed script conftest.vals that substitutes
-# the proper values into config.h.in to produce config.h. And first:
-# Protect against being on the right side of a sed subst in config.status.
-# Protect against being in an unquoted here document in config.status.
-rm -f conftest.vals
-dnl Using a here document instead of a string reduces the quoting nightmare.
-dnl Putting comments in sed scripts is not portable.
-cat > conftest.hdr <<\EOF
-changequote(<<, >>)dnl
-s/[\\&%]/\\&/g
-s%[\\$`]%\\&%g
-s%<<#define>> \([A-Za-z_][A-Za-z0-9_]*\) \(.*\)%${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD}%gp
-s%ac_d%ac_u%gp
-s%ac_u%ac_e%gp
-changequote([, ])dnl
-EOF
-sed -n -f conftest.hdr confdefs.h > conftest.vals
-rm -f conftest.hdr
-
-# This sed command replaces #undef with comments. This is necessary, for
-# example, in the case of _POSIX_SOURCE, which is predefined and required
-# on some systems where configure will not decide to define it.
-cat >> conftest.vals <<\EOF
-changequote(, )dnl
-s%^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*%/* & */%
-changequote([, ])dnl
-EOF
-
-# Break up conftest.vals because some shells have a limit on
-# the size of here documents, and old seds have small limits too.
-# Maximum number of lines to put in a single here document.
-ac_max_here_lines=12
-
-rm -f conftest.tail
-while :
-do
- ac_lines=`grep -c . conftest.vals`
- # grep -c gives empty output for an empty file on some AIX systems.
- if test -z "$ac_lines" || test "$ac_lines" -eq 0; then break; fi
- # Write a limited-size here document to conftest.frag.
- echo ' cat > conftest.frag <<CEOF' >> $CONFIG_STATUS
- sed ${ac_max_here_lines}q conftest.vals >> $CONFIG_STATUS
- echo 'CEOF
- sed -f conftest.frag conftest.in > conftest.out
- rm -f conftest.in
- mv conftest.out conftest.in
-' >> $CONFIG_STATUS
- sed 1,${ac_max_here_lines}d conftest.vals > conftest.tail
- rm -f conftest.vals
- mv conftest.tail conftest.vals
-done
-rm -f conftest.vals
-
-dnl Now back to your regularly scheduled config.status.
-cat >> $CONFIG_STATUS <<\EOF
- rm -f conftest.frag conftest.h
- echo "/* $ac_file. Generated automatically by configure. */" > conftest.h
- cat conftest.in >> conftest.h
- rm -f conftest.in
- if cmp -s $ac_file conftest.h 2>/dev/null; then
- echo "$ac_file is unchanged"
- rm -f conftest.h
- else
- rm -f $ac_file
- mv conftest.h $ac_file
- fi
-fi; done
-
-])
-
-dnl This is a subroutine of AC_OUTPUT. It is called inside a quoted
-dnl here document whose contents are going into config.status.
-dnl AC_OUTPUT_LINKS(SOURCE..., DEST...)
-define(AC_OUTPUT_LINKS,
-[EOF
-
-cat >> $CONFIG_STATUS <<EOF
-ac_sources="$1"
-ac_dests="$2"
-EOF
-
-cat >> $CONFIG_STATUS <<\EOF
-srcdir=$ac_given_srcdir
-while test -n "$ac_sources"; do
- set $ac_dests; ac_dest=[$]1; shift; ac_dests=[$]*
- set $ac_sources; ac_source=[$]1; shift; ac_sources=[$]*
-
- echo "linking $srcdir/$ac_source to $ac_dest"
-
- if test ! -r $srcdir/$ac_source; then
- AC_MSG_ERROR($srcdir/$ac_source: File not found)
- fi
- rm -f $ac_dest
-
- # Make relative symlinks.
- # Remove last slash and all that follows it. Not all systems have dirname.
-changequote(, )dnl
- ac_dest_dir=`echo $ac_dest|sed 's%/[^/][^/]*$%%'`
-changequote([, ])dnl
- if test "$ac_dest_dir" != "$ac_dest" && test "$ac_dest_dir" != .; then
- # The dest file is in a subdirectory.
- test ! -d "$ac_dest_dir" && mkdir "$ac_dest_dir"
- ac_dest_dir_suffix="/$ac_dest_dir"
- # A "../" for each directory in $ac_dest_dir_suffix.
-changequote(, )dnl
- ac_dots=`echo $ac_dest_dir_suffix|sed 's%/[^/]*%../%g'`
-changequote([, ])dnl
- else
- ac_dest_dir_suffix= ac_dots=
- fi
-
- case "$srcdir" in
-changequote(, )dnl
- [/$]*) ac_rel_source="$srcdir/$ac_source" ;;
-changequote([, ])dnl
- *) ac_rel_source="$ac_dots$srcdir/$ac_source" ;;
- esac
-
- # Make a symlink if possible; otherwise try a hard link.
- if ln -s $ac_rel_source $ac_dest 2>/dev/null ||
- ln $srcdir/$ac_source $ac_dest; then :
- else
- AC_MSG_ERROR(can not link $ac_dest to $srcdir/$ac_source)
- fi
-done
-])
-
-This is a subroutine of AC_OUTPUT. It is called after running config.status.
-dnl AC_OUTPUT_SUBDIRS(DIRECTORY...)
-define(AC_OUTPUT_SUBDIRS,
-[
-if test "$no_recursion" != yes; then
-
- # Remove --cache-file and --srcdir arguments so they do not pile up.
- ac_sub_configure_args=
- ac_prev=
- for ac_arg in $ac_configure_args; do
- if test -n "$ac_prev"; then
- ac_prev=
- continue
- fi
- case "$ac_arg" in
- -cache-file | --cache-file | --cache-fil | --cache-fi \
- | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
- ac_prev=cache_file ;;
- -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
- | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
- ;;
- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
- ac_prev=srcdir ;;
- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
- ;;
- *) ac_sub_configure_args="$ac_sub_configure_args $ac_arg" ;;
- esac
- done
-
- for ac_config_dir in $1; do
-
- # Do not complain, so a configure script can configure whichever
- # parts of a large source tree are present.
- if test ! -d $srcdir/$ac_config_dir; then
- continue
- fi
-
- echo configuring in $ac_config_dir
-
- case "$srcdir" in
- .) ;;
- *)
- if test -d ./$ac_config_dir || mkdir ./$ac_config_dir; then :;
- else
- AC_MSG_ERROR(can not create `pwd`/$ac_config_dir)
- fi
- ;;
- esac
-
- ac_popdir=`pwd`
- cd $ac_config_dir
-
- case "$srcdir" in
- .) # No --srcdir option. We are building in place.
- ac_sub_srcdir=$srcdir ;;
- /*) # Absolute path.
- ac_sub_srcdir=$srcdir/$ac_config_dir ;;
- *) # Relative path.
- ac_sub_srcdir=../$srcdir/$ac_config_dir ;;
- esac
-
- # Check for guested configure; otherwise get Cygnus style configure.
- if test -f $ac_sub_srcdir/configure; then
- ac_sub_configure=$ac_sub_srcdir/configure
- elif test -f $ac_sub_srcdir/configure.in; then
- ac_sub_configure=$ac_configure
- else
- AC_MSG_WARN(no configuration information is in $ac_config_dir)
- ac_sub_configure=
- fi
-
- # The recursion is here.
- if test -n "$ac_sub_configure"; then
-
- # Make the cache file name correct relative to the subdirectory.
-changequote(, )dnl
- # A "../" for each directory in /$ac_config_dir.
- ac_dots=`echo /$ac_config_dir|sed 's%/[^/]*%../%g'`
-changequote([, ])dnl
- case "$cache_file" in
- /*) ac_sub_cache_file=$cache_file ;;
- *) # Relative path.
- ac_sub_cache_file="$ac_dots$cache_file" ;;
- esac
-
- echo "[running ${CONFIG_SHELL-/bin/sh} $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file] --srcdir=$ac_sub_srcdir"
- # The eval makes quoting arguments work.
- if eval ${CONFIG_SHELL-/bin/sh} $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_sub_srcdir
- then :
- else
- AC_MSG_ERROR($ac_sub_configure failed for $ac_config_dir)
- fi
- fi
-
- cd $ac_popdir
- done
-fi
-])
diff --git a/util/autoconf/acheaders b/util/autoconf/acheaders
deleted file mode 100644
index 0363a38..0000000
--- a/util/autoconf/acheaders
+++ /dev/null
@@ -1,27 +0,0 @@
-# Ones that have their own macros.
-dirent.h AC_HEADER_DIRENT
-sys/ndir.h AC_HEADER_DIRENT
-sys/dir.h AC_HEADER_DIRENT
-ndir.h AC_HEADER_DIRENT
-sys/mkdev.h AC_HEADER_MAJOR
-string.h AC_HEADER_STDC
-strings.h AC_HEADER_STDC
-stdlib.h AC_HEADER_STDC
-stddef.h AC_HEADER_STDC
-stdarg.h AC_HEADER_STDC
-float.h AC_HEADER_STDC
-sys/wait.h AC_HEADER_SYS_WAIT
-X11/Xlib.h AC_PATH_X
-
-# Others.
-fcntl.h AC_CHECK_HEADERS
-limits.h AC_CHECK_HEADERS
-paths.h AC_CHECK_HEADERS
-sgtty.h AC_CHECK_HEADERS
-sys/file.h AC_CHECK_HEADERS
-sys/ioctl.h AC_CHECK_HEADERS
-sys/time.h AC_CHECK_HEADERS
-sys/window.h AC_CHECK_HEADERS
-syslog.h AC_CHECK_HEADERS
-termio.h AC_CHECK_HEADERS
-unistd.h AC_CHECK_HEADERS
diff --git a/util/autoconf/acidentifiers b/util/autoconf/acidentifiers
deleted file mode 100644
index a7979c0..0000000
--- a/util/autoconf/acidentifiers
+++ /dev/null
@@ -1,22 +0,0 @@
-sys_siglist AC_DECL_SYS_SIGLIST
-mode_t AC_TYPE_MODE_T
-off_t AC_TYPE_OFF_T
-pid_t AC_TYPE_PID_T
-size_t AC_TYPE_SIZE_T
-uid_t AC_TYPE_UID_T
-gid_t AC_TYPE_UID_T
-S_ISDIR AC_HEADER_STAT
-S_ISREG AC_HEADER_STAT
-S_ISCHR AC_HEADER_STAT
-S_ISBLK AC_HEADER_STAT
-S_ISFIFO AC_HEADER_STAT
-S_ISLNK AC_HEADER_STAT
-S_ISSOCK AC_HEADER_STAT
-st_blksize AC_STRUCT_ST_BLKSIZE
-st_blocks AC_STRUCT_ST_BLOCKS
-st_rdev AC_STRUCT_ST_RDEV
-timeval AC_HEADER_TIME
-tm AC_STRUCT_TM
-tm_zone AC_STRUCT_TIMEZONE
-const AC_C_CONST
-inline AC_C_INLINE
diff --git a/util/autoconf/acmakevars b/util/autoconf/acmakevars
deleted file mode 100644
index 721b79b..0000000
--- a/util/autoconf/acmakevars
+++ /dev/null
@@ -1,11 +0,0 @@
-LN AC_PROG_LN_S
-AWK AC_PROG_AWK
-CC AC_PROG_CC
-CPP AC_PROG_CPP
-CXX AC_PROG_CXX
-INSTALL AC_PROG_INSTALL
-LEX AC_PROG_LEX
-RANLIB AC_PROG_RANLIB
-YACC AC_PROG_YACC
-BISON AC_PROG_YACC
-MAKE AC_PROG_MAKE_SET
diff --git a/util/autoconf/acoldnames.m4 b/util/autoconf/acoldnames.m4
deleted file mode 100644
index 39e20b7..0000000
--- a/util/autoconf/acoldnames.m4
+++ /dev/null
@@ -1,79 +0,0 @@
-dnl Map old names of Autoconf macros to new regularized names.
-dnl This file is part of Autoconf.
-dnl Copyright (C) 1994 Free Software Foundation, Inc.
-dnl
-dnl This program is free software; you can redistribute it and/or modify
-dnl it under the terms of the GNU General Public License as published by
-dnl the Free Software Foundation; either version 2, or (at your option)
-dnl any later version.
-dnl
-dnl This program is distributed in the hope that it will be useful,
-dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
-dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-dnl GNU General Public License for more details.
-dnl
-dnl You should have received a copy of the GNU General Public License
-dnl along with this program; if not, write to the Free Software
-dnl Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-dnl
-dnl General macros.
-dnl
-define(AC_WARN, [indir([AC_MSG_WARN], $@)])dnl
-define(AC_ERROR, [indir([AC_MSG_ERROR], $@)])dnl
-AC_DEFUN(AC_PROGRAM_CHECK, [indir([AC_CHECK_PROG], $@)])dnl
-AC_DEFUN(AC_PROGRAM_PATH, [indir([AC_PATH_PROG], $@)])dnl
-AC_DEFUN(AC_PROGRAMS_CHECK, [indir([AC_CHECK_PROGS], $@)])dnl
-AC_DEFUN(AC_PROGRAMS_PATH, [indir([AC_PATH_PROGS], $@)])dnl
-AC_DEFUN(AC_PREFIX, [indir([AC_PREFIX_PROGRAM], $@)])dnl
-AC_DEFUN(AC_HEADER_EGREP, [indir([AC_EGREP_HEADER], $@)])dnl
-AC_DEFUN(AC_PROGRAM_EGREP, [indir([AC_EGREP_CPP], $@)])dnl
-AC_DEFUN(AC_TEST_PROGRAM, [indir([AC_TRY_RUN], $@)])dnl
-AC_DEFUN(AC_TEST_CPP, [indir([AC_TRY_CPP], $@)])dnl
-AC_DEFUN(AC_HEADER_CHECK, [indir([AC_CHECK_HEADER], $@)])dnl
-AC_DEFUN(AC_FUNC_CHECK, [indir([AC_CHECK_FUNC], $@)])dnl
-AC_DEFUN(AC_HAVE_FUNCS, [indir([AC_CHECK_FUNCS], $@)])dnl
-AC_DEFUN(AC_HAVE_HEADERS, [indir([AC_CHECK_HEADERS], $@)])dnl
-AC_DEFUN(AC_SIZEOF_TYPE, [indir([AC_CHECK_SIZEOF], $@)])dnl
-dnl
-dnl Specific macros.
-dnl
-AC_DEFUN(AC_GCC_TRADITIONAL, [indir([AC_PROG_GCC_TRADITIONAL])])dnl
-AC_DEFUN(AC_MINUS_C_MINUS_O, [indir([AC_PROG_CC_C_O])])dnl
-AC_DEFUN(AC_SET_MAKE, [indir([AC_PROG_MAKE_SET])])dnl
-AC_DEFUN(AC_YYTEXT_POINTER, [indir([AC_DECL_YYTEXT])])dnl
-AC_DEFUN(AC_LN_S, [indir([AC_PROG_LN_S])])dnl
-AC_DEFUN(AC_STDC_HEADERS, [indir([AC_HEADER_STDC])])dnl
-AC_DEFUN(AC_MAJOR_HEADER, [indir([AC_HEADER_MAJOR])])dnl
-AC_DEFUN(AC_STAT_MACROS_BROKEN, [indir([AC_HEADER_STAT])])dnl
-AC_DEFUN(AC_SYS_SIGLIST_DECLARED, [indir([AC_DECL_SYS_SIGLIST])])dnl
-AC_DEFUN(AC_GETGROUPS_T, [indir([AC_TYPE_GETGROUPS])])dnl
-AC_DEFUN(AC_UID_T, [indir([AC_TYPE_UID_T])])dnl
-AC_DEFUN(AC_SIZE_T, [indir([AC_TYPE_SIZE_T])])dnl
-AC_DEFUN(AC_PID_T, [indir([AC_TYPE_PID_T])])dnl
-AC_DEFUN(AC_OFF_T, [indir([AC_TYPE_OFF_T])])dnl
-AC_DEFUN(AC_MODE_T, [indir([AC_TYPE_MODE_T])])dnl
-AC_DEFUN(AC_RETSIGTYPE, [indir([AC_TYPE_SIGNAL])])dnl
-AC_DEFUN(AC_MMAP, [indir([AC_FUNC_MMAP])])dnl
-AC_DEFUN(AC_VPRINTF, [indir([AC_FUNC_VPRINTF])])dnl
-AC_DEFUN(AC_VFORK, [indir([AC_FUNC_VFORK])])dnl
-AC_DEFUN(AC_WAIT3, [indir([AC_FUNC_WAIT3])])dnl
-AC_DEFUN(AC_ALLOCA, [indir([AC_FUNC_ALLOCA])])dnl
-AC_DEFUN(AC_GETLOADAVG, [indir([AC_FUNC_GETLOADAVG])])dnl
-AC_DEFUN(AC_UTIME_NULL, [indir([AC_FUNC_UTIME_NULL])])dnl
-AC_DEFUN(AC_STRCOLL, [indir([AC_FUNC_STRCOLL])])dnl
-AC_DEFUN(AC_SETVBUF_REVERSED, [indir([AC_FUNC_SETVBUF_REVERSED])])dnl
-AC_DEFUN(AC_TIME_WITH_SYS_TIME, [indir([AC_HEADER_TIME])])dnl
-AC_DEFUN(AC_TIMEZONE, [indir([AC_STRUCT_TIMEZONE])])dnl
-AC_DEFUN(AC_ST_BLOCKS, [indir([AC_STRUCT_ST_BLOCKS])])dnl
-AC_DEFUN(AC_ST_BLKSIZE, [indir([AC_STRUCT_ST_BLKSIZE])])dnl
-AC_DEFUN(AC_ST_RDEV, [indir([AC_STRUCT_ST_RDEV])])dnl
-AC_DEFUN(AC_CROSS_CHECK, [indir([AC_C_CROSS])])dnl
-AC_DEFUN(AC_CHAR_UNSIGNED, [indir([AC_C_CHAR_UNSIGNED])])dnl
-AC_DEFUN(AC_LONG_DOUBLE, [indir([AC_C_LONG_DOUBLE])])dnl
-AC_DEFUN(AC_WORDS_BIGENDIAN, [indir([AC_C_BIGENDIAN])])dnl
-AC_DEFUN(AC_INLINE, [indir([AC_C_INLINE])])dnl
-AC_DEFUN(AC_CONST, [indir([AC_C_CONST])])dnl
-AC_DEFUN(AC_LONG_FILE_NAMES, [indir([AC_SYS_LONG_FILE_NAMES])])dnl
-AC_DEFUN(AC_RESTARTABLE_SYSCALLS, [indir([AC_SYS_RESTARTABLE_SYSCALLS])])dnl
-AC_DEFUN(AC_FIND_X, [indir([AC_PATH_X])])dnl
-AC_DEFUN(AC_FIND_XTRA, [indir([AC_PATH_XTRA])])dnl
diff --git a/util/autoconf/acprograms b/util/autoconf/acprograms
deleted file mode 100644
index be237e3..0000000
--- a/util/autoconf/acprograms
+++ /dev/null
@@ -1,18 +0,0 @@
-ln AC_PROG_LN_S
-awk AC_PROG_AWK
-nawk AC_PROG_AWK
-gawk AC_PROG_AWK
-mawk AC_PROG_AWK
-cc AC_PROG_CC
-gcc AC_PROG_CC
-cpp AC_PROG_CPP
-CC AC_PROG_CXX
-g++ AC_PROG_CXX
-install AC_PROG_INSTALL
-lex AC_PROG_LEX
-flex AC_PROG_LEX
-ranlib AC_PROG_RANLIB
-yacc AC_PROG_YACC
-byacc AC_PROG_YACC
-bison AC_PROG_YACC
-make AC_PROG_MAKE_SET
diff --git a/util/autoconf/acspecific.m4 b/util/autoconf/acspecific.m4
deleted file mode 100644
index 3c07bc9..0000000
--- a/util/autoconf/acspecific.m4
+++ /dev/null
@@ -1,1950 +0,0 @@
-dnl Macros that test for specific features.
-dnl This file is part of Autoconf.
-dnl Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc.
-dnl
-dnl This program is free software; you can redistribute it and/or modify
-dnl it under the terms of the GNU General Public License as published by
-dnl the Free Software Foundation; either version 2, or (at your option)
-dnl any later version.
-dnl
-dnl This program is distributed in the hope that it will be useful,
-dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
-dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-dnl GNU General Public License for more details.
-dnl
-dnl You should have received a copy of the GNU General Public License
-dnl along with this program; if not, write to the Free Software
-dnl Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-dnl
-dnl As a special exception, the Free Software Foundation gives unlimited
-dnl permission to copy, distribute and modify the configure scripts that
-dnl are the output of Autoconf. You need not follow the terms of the GNU
-dnl General Public License when using or distributing such scripts, even
-dnl though portions of the text of Autoconf appear in them. The GNU
-dnl General Public License (GPL) does govern all other use of the material
-dnl that constitutes the Autoconf program.
-dnl
-dnl Certain portions of the Autoconf source text are designed to be copied
-dnl (in certain cases, depending on the input) into the output of
-dnl Autoconf. We call these the "data" portions. The rest of the Autoconf
-dnl source text consists of comments plus executable code that decides which
-dnl of the data portions to output in any given case. We call these
-dnl comments and executable code the "non-data" portions. Autoconf never
-dnl copies any of the non-data portions into its output.
-dnl
-dnl This special exception to the GPL applies to versions of Autoconf
-dnl released by the Free Software Foundation. When you make and
-dnl distribute a modified version of Autoconf, you may extend this special
-dnl exception to the GPL to apply to your modified version as well, *unless*
-dnl your modified version has the potential to copy into its output some
-dnl of the text that was the non-data portion of the version that you started
-dnl with. (In other words, unless your change moves or copies text from
-dnl the non-data portions to the data portions.) If your modification has
-dnl such potential, you must delete any notice of this special exception
-dnl to the GPL from your modified version.
-dnl
-dnl Written by David MacKenzie, with help from
-dnl Franc,ois Pinard, Karl Berry, Richard Pixley, Ian Lance Taylor,
-dnl Roland McGrath, Noah Friedman, david d zuhn, and many others.
-
-
-dnl ### Checks for programs
-
-
-dnl Check whether to use -n, \c, or newline-tab to separate
-dnl checking messages from result messages.
-dnl Idea borrowed from dist 3.0.
-dnl Internal use only.
-AC_DEFUN(AC_PROG_ECHO_N,
-[if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
- # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
- if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
- ac_n= ac_c='
-' ac_t=' '
- else
- ac_n=-n ac_c= ac_t=
- fi
-else
- ac_n= ac_c='\c' ac_t=
-fi
-])
-
-AC_DEFUN(AC_PROG_CC,
-[AC_BEFORE([$0], [AC_PROG_CPP])dnl
-AC_CHECK_PROG(CC, gcc, gcc, cc)
-
-AC_MSG_CHECKING(whether we are using GNU C)
-AC_CACHE_VAL(ac_cv_prog_gcc,
-[dnl The semicolon is to pacify NeXT's syntax-checking cpp.
-cat > conftest.c <<EOF
-#ifdef __GNUC__
- yes;
-#endif
-EOF
-if ${CC-cc} -E conftest.c 2>&AC_FD_CC | egrep yes >/dev/null 2>&1; then
- ac_cv_prog_gcc=yes
-else
- ac_cv_prog_gcc=no
-fi])dnl
-AC_MSG_RESULT($ac_cv_prog_gcc)
-if test $ac_cv_prog_gcc = yes; then
- GCC=yes
- if test "${CFLAGS+set}" != set; then
- AC_MSG_CHECKING(whether ${CC-cc} accepts -g)
-AC_CACHE_VAL(ac_cv_prog_gcc_g,
-[echo 'void f(){}' > conftest.c
-if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
- ac_cv_prog_gcc_g=yes
-else
- ac_cv_prog_gcc_g=no
-fi
-rm -f conftest*
-])dnl
- AC_MSG_RESULT($ac_cv_prog_gcc_g)
- if test $ac_cv_prog_gcc_g = yes; then
- CFLAGS="-g -O"
- else
- CFLAGS="-O"
- fi
- fi
-else
- GCC=
- test "${CFLAGS+set}" = set || CFLAGS="-g"
-fi
-])
-
-AC_DEFUN(AC_PROG_CXX,
-[AC_BEFORE([$0], [AC_PROG_CXXCPP])dnl
-AC_CHECK_PROGS(CXX, $CCC c++ g++ gcc CC cxx, gcc)
-
-AC_MSG_CHECKING(whether we are using GNU C++)
-AC_CACHE_VAL(ac_cv_prog_gxx,
-[dnl The semicolon is to pacify NeXT's syntax-checking cpp.
-cat > conftest.C <<EOF
-#ifdef __GNUC__
- yes;
-#endif
-EOF
-if ${CXX-g++} -E conftest.C 2>&AC_FD_CC | egrep yes >/dev/null 2>&1; then
- ac_cv_prog_gxx=yes
-else
- ac_cv_prog_gxx=no
-fi])dnl
-AC_MSG_RESULT($ac_cv_prog_gxx)
-if test $ac_cv_prog_gxx = yes; then
- GXX=yes
- if test "${CXXFLAGS+set}" != set; then
- AC_MSG_CHECKING(whether ${CXX-g++} accepts -g)
-AC_CACHE_VAL(ac_cv_prog_gxx_g,
-[echo 'void f(){}' > conftest.cc
-if test -z "`${CXX-g++} -g -c conftest.cc 2>&1`"; then
- ac_cv_prog_gxx_g=yes
-else
- ac_cv_prog_gxx_g=no
-fi
-rm -f conftest*
-])dnl
- AC_MSG_RESULT($ac_cv_prog_gxx_g)
- if test $ac_cv_prog_gxx_g = yes; then
- CXXFLAGS="-g -O"
- else
- CXXFLAGS="-O"
- fi
- fi
-else
- GXX=
- test "${CXXFLAGS+set}" = set || CXXFLAGS="-g"
-fi
-])
-
-AC_DEFUN(AC_PROG_GCC_TRADITIONAL,
-[AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([AC_PROG_CPP])dnl
-if test $ac_cv_prog_gcc = yes; then
- AC_MSG_CHECKING(whether ${CC-cc} needs -traditional)
-AC_CACHE_VAL(ac_cv_prog_gcc_traditional,
-[ ac_pattern="Autoconf.*'x'"
- AC_EGREP_CPP($ac_pattern, [#include <sgtty.h>
-Autoconf TIOCGETP],
- ac_cv_prog_gcc_traditional=yes, ac_cv_prog_gcc_traditional=no)
-
- if test $ac_cv_prog_gcc_traditional = no; then
- AC_EGREP_CPP($ac_pattern, [#include <termio.h>
-Autoconf TCGETA],
- ac_cv_prog_gcc_traditional=yes)
- fi])dnl
- AC_MSG_RESULT($ac_cv_prog_gcc_traditional)
- if test $ac_cv_prog_gcc_traditional = yes; then
- CC="$CC -traditional"
- fi
-fi
-])
-
-AC_DEFUN(AC_PROG_CC_C_O,
-[if test "x$CC" != xcc; then
- AC_MSG_CHECKING(whether $CC and cc understand -c and -o together)
-else
- AC_MSG_CHECKING(whether cc understands -c and -o together)
-fi
-set dummy $CC; ac_cc=[$]2
-AC_CACHE_VAL(ac_cv_prog_cc_${ac_cc}_c_o,
-[eval ac_cv_prog_cc_${ac_cc}_c_o=no
-echo 'foo(){}' > conftest.c
-# Make sure it works both with $CC and with simple cc.
-# We do the test twice because some compilers refuse to overwrite an
-# existing .o file with -o, though they will create one.
-if ${CC-cc} -c conftest.c -o conftest.o 1>&AC_FD_CC 2>&AC_FD_CC &&
- test -f conftest.o && ${CC-cc} -c conftest.c -o conftest.o 1>&AC_FD_CC 2>&AC_FD_CC
-then
- if test "x$CC" != xcc; then
- # Test first that cc exists at all.
- if cc -c conftest.c 1>&AC_FD_CC 2>&AC_FD_CC
- then
- if cc -c conftest.c -o conftest2.o 1>&AC_FD_CC 2>&AC_FD_CC &&
- test -f conftest2.o && cc -c conftest.c -o conftest2.o 1>&AC_FD_CC 2>&AC_FD_CC
- then
- eval ac_cv_prog_cc_${ac_cc}_c_o=yes
- fi
- fi
- fi
-fi
-rm -f conftest*
-])dnl
-if eval "test \"`echo '$ac_cv_prog_cc_'${ac_cc}_c_o`\" = yes"; then
- AC_MSG_RESULT(yes)
-else
- AC_MSG_RESULT(no)
- AC_DEFINE(NO_MINUS_C_MINUS_O)
-fi
-])
-
-dnl Define SET_MAKE to set ${MAKE} if make doesn't.
-AC_DEFUN(AC_PROG_MAKE_SET,
-[AC_MSG_CHECKING(whether ${MAKE-make} sets \$MAKE)
-set dummy ${MAKE-make}; ac_make=[$]2
-AC_CACHE_VAL(ac_cv_prog_make_${ac_make}_set,
-[cat > conftestmake <<\EOF
-all:
- @echo 'ac_maketemp="${MAKE}"'
-EOF
-changequote(, )dnl
-# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
-eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
-changequote([, ])dnl
-if test -n "$ac_maketemp"; then
- eval ac_cv_prog_make_${ac_make}_set=yes
-else
- eval ac_cv_prog_make_${ac_make}_set=no
-fi
-rm -f conftestmake])dnl
-if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
- AC_MSG_RESULT(yes)
- SET_MAKE=
-else
- AC_MSG_RESULT(no)
- SET_MAKE="MAKE=${MAKE-make}"
-fi
-AC_SUBST([SET_MAKE])dnl
-])
-
-AC_DEFUN(AC_PROG_RANLIB,
-[AC_CHECK_PROG(RANLIB, ranlib, ranlib, :)])
-
-dnl Check for mawk first since it's said to be faster.
-AC_DEFUN(AC_PROG_AWK,
-[AC_CHECK_PROGS(AWK, mawk gawk nawk awk, )])
-
-AC_DEFUN(AC_PROG_YACC,
-[AC_CHECK_PROGS(YACC, 'bison -y' byacc, yacc)])
-
-AC_DEFUN(AC_PROG_CPP,
-[AC_MSG_CHECKING(how to run the C preprocessor)
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
- CPP=
-fi
-if test -z "$CPP"; then
-AC_CACHE_VAL(ac_cv_prog_CPP,
-[ # This must be in double quotes, not single quotes, because CPP may get
- # substituted into the Makefile and "${CC-cc}" will confuse make.
- CPP="${CC-cc} -E"
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp.
-dnl Use a header file that comes with gcc, so configuring glibc
-dnl with a fresh cross-compiler works.
- AC_TRY_CPP([#include <assert.h>
-Syntax Error], ,
- CPP="${CC-cc} -E -traditional-cpp"
- AC_TRY_CPP([#include <assert.h>
-Syntax Error], , CPP=/lib/cpp))
- ac_cv_prog_CPP="$CPP"])dnl
-fi
-CPP="$ac_cv_prog_CPP"
-AC_MSG_RESULT($CPP)
-AC_SUBST(CPP)dnl
-])
-
-AC_DEFUN(AC_PROG_CXXCPP,
-[AC_MSG_CHECKING(how to run the C++ preprocessor)
-if test -z "$CXXCPP"; then
-AC_CACHE_VAL(ac_cv_prog_CXXCPP,
-[AC_LANG_SAVE[]dnl
-AC_LANG_CPLUSPLUS[]dnl
- CXXCPP="${CXX-g++} -E"
- AC_TRY_CPP([#include <stdlib.h>], , CXXCPP=/lib/cpp)
- ac_cv_prog_CXXCPP="$CXXCPP"
-AC_LANG_RESTORE[]dnl
-fi])dnl
-CXXCPP="$ac_cv_prog_CXXCPP"
-AC_MSG_RESULT($CXXCPP)
-AC_SUBST(CXXCPP)dnl
-])
-
-dnl Require finding the C or C++ preprocessor, whichever is the
-dnl current language.
-AC_DEFUN(AC_REQUIRE_CPP,
-[ifelse(AC_LANG, C, [AC_REQUIRE([AC_PROG_CPP])], [AC_REQUIRE([AC_PROG_CXXCPP])])])
-
-AC_DEFUN(AC_PROG_LEX,
-[AC_CHECK_PROG(LEX, flex, flex, lex)
-if test -z "$LEXLIB"
-then
- case "$LEX" in
- flex*) ac_lib=fl ;;
- *) ac_lib=l ;;
- esac
- AC_CHECK_LIB($ac_lib, main, LEXLIB="-l$ac_lib")
-fi
-AC_SUBST(LEXLIB)])
-
-AC_DEFUN(AC_DECL_YYTEXT,
-[AC_REQUIRE_CPP()dnl
-AC_REQUIRE([AC_PROG_LEX])dnl
-AC_MSG_CHECKING(for yytext declaration)
-AC_CACHE_VAL(ac_cv_prog_lex_yytext_pointer,
-[# POSIX says lex can declare yytext either as a pointer or an array; the
-# default is implementation-dependent. Figure out which it is, since
-# not all implementations provide the %pointer and %array declarations.
-#
-# The minimal lex program is just a single line: %%. But some broken lexes
-# (Solaris, I think it was) want two %% lines, so accommodate them.
-ac_cv_prog_lex_yytext_pointer=no
- echo '%%
-%%' | $LEX
-if test -f lex.yy.c; then
- LEX_OUTPUT_ROOT=lex.yy
-elif test -f lexyy.c; then
- LEX_OUTPUT_ROOT=lexyy
-else
- AC_MSG_ERROR(cannot find output from $LEX, giving up)
-fi
-echo 'extern char *yytext; main () { exit (0); }' >>$LEX_OUTPUT_ROOT.c
-ac_save_LIBS="$LIBS"
-LIBS="$LIBS $LEXLIB"
-AC_TRY_LINK(`cat $LEX_OUTPUT_ROOT.c`, ac_cv_prog_lex_yytext_pointer=yes)
-LIBS="$ac_save_LIBS"
-rm -f "${LEX_OUTPUT_ROOT}.c"])dnl
-AC_MSG_RESULT($ac_cv_prog_lex_yytext_pointer)
-if test $ac_cv_prog_lex_yytext_pointer = yes; then
- AC_DEFINE(YYTEXT_POINTER)
-fi
-AC_SUBST(LEX_OUTPUT_ROOT)dnl
-])
-
-AC_DEFUN(AC_PROG_INSTALL,
-[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
-# Find a good install program. We prefer a C program (faster),
-# so one script is as good as another. But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# ./install, which can be erroneously created by make from ./install.sh.
-AC_MSG_CHECKING(for a BSD compatible install)
-if test -z "$INSTALL"; then
-AC_CACHE_VAL(ac_cv_path_install,
-[ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
- for ac_dir in $PATH; do
- case "$ac_dir" in
- ''|.|/etc|/usr/sbin|/usr/etc|/sbin|/usr/afsws/bin|/usr/ucb) ;;
- *)
- # OSF1 and SCO ODT 3.0 have their own names for install.
- for ac_prog in ginstall installbsd scoinst install; do
- if test -f $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.
- # OSF/1 installbsd also uses dspmsg, but is usable.
- :
- else
- ac_cv_path_install="$ac_dir/$ac_prog -c"
- break 2
- fi
- fi
- done
- ;;
- esac
- done
- IFS="$ac_save_ifs"
- # As a last resort, use the slow shell script.
- test -z "$ac_cv_path_install" && ac_cv_path_install="$ac_install_sh"])dnl
- INSTALL="$ac_cv_path_install"
-fi
-dnl We do special magic for INSTALL instead of AC_SUBST, to get
-dnl relative paths right.
-AC_MSG_RESULT($INSTALL)
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-AC_SUBST(INSTALL_PROGRAM)dnl
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-AC_SUBST(INSTALL_DATA)dnl
-])
-
-AC_DEFUN(AC_PROG_LN_S,
-[AC_MSG_CHECKING(whether ln -s works)
-AC_CACHE_VAL(ac_cv_prog_LN_S,
-[rm -f conftestdata
-if ln -s X conftestdata 2>/dev/null
-then
- rm -f conftestdata
- ac_cv_prog_LN_S="ln -s"
-else
- ac_cv_prog_LN_S=ln
-fi])dnl
-LN_S="$ac_cv_prog_LN_S"
-if test "$ac_cv_prog_LN_S" = "ln -s"; then
- AC_MSG_RESULT(yes)
-else
- AC_MSG_RESULT(no)
-fi
-AC_SUBST(LN_S)dnl
-])
-
-define(AC_RSH,
-[errprint(__file__:__line__: [$0] has been removed; replace it with equivalent code
-)m4exit(4)])
-
-
-dnl ### Checks for header files
-
-
-AC_DEFUN(AC_HEADER_STDC,
-[AC_REQUIRE_CPP()dnl
-AC_MSG_CHECKING(for ANSI C header files)
-AC_CACHE_VAL(ac_cv_header_stdc,
-[AC_TRY_CPP([#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>], ac_cv_header_stdc=yes, ac_cv_header_stdc=no)
-
-if test $ac_cv_header_stdc = yes; then
- # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
-AC_EGREP_HEADER(memchr, string.h, , ac_cv_header_stdc=no)
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
-AC_EGREP_HEADER(free, stdlib.h, , ac_cv_header_stdc=no)
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
-AC_TRY_RUN([#include <ctype.h>
-#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-#define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#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); }
-], , ac_cv_header_stdc=no, ac_cv_header_stdc=no)
-fi])dnl
-AC_MSG_RESULT($ac_cv_header_stdc)
-if test $ac_cv_header_stdc = yes; then
- AC_DEFINE(STDC_HEADERS)
-fi
-])
-
-AC_DEFUN(AC_UNISTD_H,
-[AC_OBSOLETE([$0], [; instead use AC_CHECK_HEADERS(unistd.h)])dnl
-AC_CHECK_HEADER(unistd.h, AC_DEFINE(HAVE_UNISTD_H))])
-
-AC_DEFUN(AC_USG,
-[AC_OBSOLETE([$0],
- [; instead use AC_CHECK_HEADERS(string.h) and HAVE_STRING_H])dnl
-AC_MSG_CHECKING([for BSD string and memory functions])
-AC_TRY_LINK([#include <strings.h>], [rindex(0, 0); bzero(0, 0);],
- [AC_MSG_RESULT(yes); AC_DEFINE(USG)], [AC_MSG_RESULT(no)])])
-
-
-dnl If memchr and the like aren't declared in <string.h>, include <memory.h>.
-dnl To avoid problems, don't check for gcc2 built-ins.
-AC_DEFUN(AC_MEMORY_H,
-[AC_OBSOLETE([$0], [; instead use AC_CHECK_HEADERS(memory.h) and HAVE_MEMORY_H])dnl
-AC_MSG_CHECKING(whether string.h declares mem functions)
-AC_EGREP_HEADER(memchr, string.h, ac_found=yes, ac_found=no)
-AC_MSG_RESULT($ac_found)
-if test $ac_found = no; then
- AC_CHECK_HEADER(memory.h, [AC_DEFINE(NEED_MEMORY_H)])
-fi
-])
-
-AC_DEFUN(AC_HEADER_MAJOR,
-[AC_MSG_CHECKING(whether sys/types.h defines makedev)
-AC_CACHE_VAL(ac_cv_header_sys_types_h_makedev,
-[AC_TRY_LINK([#include <sys/types.h>], [return makedev(0, 0);],
- ac_cv_header_sys_types_h_makedev=yes, ac_cv_header_sys_types_h_makedev=no)
-])dnl
-AC_MSG_RESULT($ac_cv_header_sys_types_h_makedev)
-
-if test $ac_cv_header_sys_types_h_makedev = no; then
-AC_CHECK_HEADER(sys/mkdev.h, [AC_DEFINE(MAJOR_IN_MKDEV)])
-
- if test $ac_cv_header_sys_mkdev_h = no; then
-AC_CHECK_HEADER(sys/sysmacros.h, [AC_DEFINE(MAJOR_IN_SYSMACROS)])
- fi
-fi
-])
-
-AC_DEFUN(AC_HEADER_DIRENT,
-[ac_header_dirent=no
-AC_CHECK_HEADERS_DIRENT(dirent.h sys/ndir.h sys/dir.h ndir.h,
- [ac_header_dirent=$ac_hdr; break])
-# Two versions of opendir et al. are in -ldir and -lx on SCO Xenix.
-if test $ac_header_dirent = dirent.h; then
-AC_CHECK_LIB(dir, opendir, LIBS="$LIBS -ldir")
-else
-AC_CHECK_LIB(x, opendir, LIBS="$LIBS -lx")
-fi
-])
-
-dnl Like AC_CHECK_HEADER, except also make sure that HEADER-FILE
-dnl defines the type `DIR'. dirent.h on NextStep 3.2 doesn't.
-dnl AC_CHECK_HEADER_DIRENT(HEADER-FILE, ACTION-IF-FOUND)
-AC_DEFUN(AC_CHECK_HEADER_DIRENT,
-[ac_safe=`echo "$1" | tr './\055' '___'`
-AC_MSG_CHECKING([for $1 that defines DIR])
-AC_CACHE_VAL(ac_cv_header_dirent_$ac_safe,
-[AC_TRY_COMPILE([#include <sys/types.h>
-#include <$1>], [DIR *dirp = 0;],
- eval "ac_cv_header_dirent_$ac_safe=yes",
- eval "ac_cv_header_dirent_$ac_safe=no")])dnl
-if eval "test \"`echo '$ac_cv_header_dirent_'$ac_safe`\" = yes"; then
- AC_MSG_RESULT(yes)
- $2
-else
- AC_MSG_RESULT(no)
-fi
-])
-
-dnl Like AC_CHECK_HEADERS, except succeed only for a HEADER-FILE that
-dnl defines `DIR'.
-dnl AC_CHECK_HEADERS_DIRENT(HEADER-FILE... [, ACTION])
-define(AC_CHECK_HEADERS_DIRENT,
-[for ac_hdr in $1
-do
-AC_CHECK_HEADER_DIRENT($ac_hdr,
-[changequote(, )dnl
- ac_tr_hdr=HAVE_`echo $ac_hdr | tr '[a-z]./\055' '[A-Z]___'`
-changequote([, ])dnl
- AC_DEFINE_UNQUOTED($ac_tr_hdr) $2])dnl
-done])
-
-AC_DEFUN(AC_DIR_HEADER,
-[AC_OBSOLETE([$0], [; instead use AC_HEADER_DIRENT])dnl
-ac_header_dirent=no
-for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do
- AC_CHECK_HEADER_DIRENT($ac_hdr, [ac_header_dirent=$ac_hdr; break])
-done
-
-case "$ac_header_dirent" in
-dirent.h) AC_DEFINE(DIRENT) ;;
-sys/ndir.h) AC_DEFINE(SYSNDIR) ;;
-sys/dir.h) AC_DEFINE(SYSDIR) ;;
-ndir.h) AC_DEFINE(NDIR) ;;
-esac
-
-AC_MSG_CHECKING(whether closedir returns void)
-AC_CACHE_VAL(ac_cv_func_closedir_void,
-[AC_TRY_RUN([#include <sys/types.h>
-#include <$ac_header_dirent>
-int closedir(); main() { exit(closedir(opendir(".")) != 0); }],
- ac_cv_func_closedir_void=no, ac_cv_func_closedir_void=yes)])dnl
-AC_MSG_RESULT($ac_cv_func_closedir_void)
-if test $ac_cv_func_closedir_void = yes; then
- AC_DEFINE(VOID_CLOSEDIR)
-fi
-])
-
-AC_DEFUN(AC_HEADER_STAT,
-[AC_MSG_CHECKING(whether stat file-mode macros are broken)
-AC_CACHE_VAL(ac_cv_header_stat_broken,
-[AC_EGREP_CPP([You lose], [#include <sys/types.h>
-#include <sys/stat.h>
-#ifdef S_ISBLK
-# if S_ISBLK (S_IFDIR)
-You lose.
-# endif
-# ifdef S_IFCHR
-# if S_ISBLK (S_IFCHR)
-You lose.
-# endif
-# endif
-#endif
-
-#ifdef S_ISLNK
-# if S_ISLNK (S_IFREG)
-You lose.
-# endif
-#endif
-
-#ifdef S_ISSOCK
-# if S_ISSOCK (S_IFREG)
-You lose.
-# endif
-#endif
-], ac_cv_header_stat_broken=yes, ac_cv_header_stat_broken=no)])dnl
-AC_MSG_RESULT($ac_cv_header_stat_broken)
-if test $ac_cv_header_stat_broken = yes; then
- AC_DEFINE(STAT_MACROS_BROKEN)
-fi
-])
-
-AC_DEFUN(AC_DECL_SYS_SIGLIST,
-[AC_MSG_CHECKING([for sys_siglist declaration in signal.h or unistd.h])
-AC_CACHE_VAL(ac_cv_decl_sys_siglist,
-[AC_TRY_COMPILE([#include <sys/types.h>
-#include <signal.h>
-/* NetBSD declares sys_siglist in unistd.h. */
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif], [char *msg = *(sys_siglist + 1);],
- ac_cv_decl_sys_siglist=yes, ac_cv_decl_sys_siglist=no)])dnl
-AC_MSG_RESULT($ac_cv_decl_sys_siglist)
-if test $ac_cv_decl_sys_siglist = yes; then
- AC_DEFINE(SYS_SIGLIST_DECLARED)
-fi
-])
-
-AC_DEFUN(AC_HEADER_SYS_WAIT,
-[AC_MSG_CHECKING([for sys/wait.h that is POSIX.1 compatible])
-AC_CACHE_VAL(ac_cv_header_sys_wait_h,
-[AC_TRY_COMPILE([#include <sys/types.h>
-#include <sys/wait.h>
-#ifndef WEXITSTATUS
-#define WEXITSTATUS(stat_val) ((unsigned)(stat_val) >> 8)
-#endif
-#ifndef WIFEXITED
-#define WIFEXITED(stat_val) (((stat_val) & 255) == 0)
-#endif], [int s;
-wait (&s);
-s = WIFEXITED (s) ? WEXITSTATUS (s) : 1;],
-ac_cv_header_sys_wait_h=yes, ac_cv_header_sys_wait_h=no)])dnl
-AC_MSG_RESULT($ac_cv_header_sys_wait_h)
-if test $ac_cv_header_sys_wait_h = yes; then
- AC_DEFINE(HAVE_SYS_WAIT_H)
-fi
-])
-
-
-dnl ### Checks for typedefs
-
-
-AC_DEFUN(AC_TYPE_GETGROUPS,
-[AC_REQUIRE([AC_TYPE_UID_T])dnl
-AC_MSG_CHECKING(type of array argument to getgroups)
-AC_CACHE_VAL(ac_cv_type_getgroups,
-[AC_TRY_RUN(
-changequote(<<, >>)dnl
-<<
-/* Thanks to Mike Rendell for this test. */
-#include <sys/types.h>
-#define NGID 256
-#undef MAX
-#define MAX(x, y) ((x) > (y) ? (x) : (y))
-main()
-{
- gid_t gidset[NGID];
- int i, n;
- union { gid_t gval; long lval; } val;
-
- val.lval = -1;
- for (i = 0; i < NGID; i++)
- gidset[i] = val.gval;
- n = getgroups (sizeof (gidset) / MAX (sizeof (int), sizeof (gid_t)) - 1,
- gidset);
- /* Exit non-zero if getgroups seems to require an array of ints. This
- happens when gid_t is short but getgroups modifies an array of ints. */
- exit ((n > 0 && gidset[n] != val.gval) ? 1 : 0);
-}
->>,
-changequote([, ])dnl
- ac_cv_type_getgroups=gid_t, ac_cv_type_getgroups=int,
- ac_cv_type_getgroups=cross)
-if test $ac_cv_type_getgroups = cross; then
- dnl When we can't run the test program (we are cross compiling), presume
- dnl that <unistd.h> has either an accurate prototype for getgroups or none.
- dnl Old systems without prototypes probably use int.
- AC_EGREP_HEADER([getgroups.*int.*gid_t], unistd.h,
- ac_cv_type_getgroups=gid_t, ac_cv_type_getgroups=int)
-fi])dnl
-AC_MSG_RESULT($ac_cv_type_getgroups)
-AC_DEFINE_UNQUOTED(GETGROUPS_T, $ac_cv_type_getgroups)
-])
-
-AC_DEFUN(AC_TYPE_UID_T,
-[AC_MSG_CHECKING(for uid_t in sys/types.h)
-AC_CACHE_VAL(ac_cv_type_uid_t,
-[AC_EGREP_HEADER(uid_t, sys/types.h,
- ac_cv_type_uid_t=yes, ac_cv_type_uid_t=no)])dnl
-AC_MSG_RESULT($ac_cv_type_uid_t)
-if test $ac_cv_type_uid_t = no; then
- AC_DEFINE(uid_t, int)
- AC_DEFINE(gid_t, int)
-fi
-])
-
-AC_DEFUN(AC_TYPE_SIZE_T,
-[AC_CHECK_TYPE(size_t, unsigned)])
-
-AC_DEFUN(AC_TYPE_PID_T,
-[AC_CHECK_TYPE(pid_t, int)])
-
-AC_DEFUN(AC_TYPE_OFF_T,
-[AC_CHECK_TYPE(off_t, long)])
-
-AC_DEFUN(AC_TYPE_MODE_T,
-[AC_CHECK_TYPE(mode_t, int)])
-
-dnl Note that identifiers starting with SIG are reserved by ANSI C.
-AC_DEFUN(AC_TYPE_SIGNAL,
-[AC_MSG_CHECKING([return type of signal handlers])
-AC_CACHE_VAL(ac_cv_type_signal,
-[AC_TRY_COMPILE([#include <sys/types.h>
-#include <signal.h>
-#ifdef signal
-#undef signal
-#endif
-extern void (*signal ()) ();],
-[int i;], ac_cv_type_signal=void, ac_cv_type_signal=int)])dnl
-AC_MSG_RESULT($ac_cv_type_signal)
-AC_DEFINE_UNQUOTED(RETSIGTYPE, $ac_cv_type_signal)
-])
-
-
-dnl ### Checks for functions
-
-
-AC_DEFUN(AC_FUNC_CLOSEDIR_VOID,
-[AC_REQUIRE([AC_HEADER_DIRENT])dnl
-AC_MSG_CHECKING(whether closedir returns void)
-AC_CACHE_VAL(ac_cv_func_closedir_void,
-[AC_TRY_RUN([#include <sys/types.h>
-#include <$ac_header_dirent>
-int closedir(); main() { exit(closedir(opendir(".")) != 0); }],
- ac_cv_func_closedir_void=no, ac_cv_func_closedir_void=yes)])dnl
-AC_MSG_RESULT($ac_cv_func_closedir_void)
-if test $ac_cv_func_closedir_void = yes; then
- AC_DEFINE(CLOSEDIR_VOID)
-fi
-])
-
-AC_DEFUN(AC_FUNC_MMAP,
-[AC_MSG_CHECKING(for working mmap)
-AC_CACHE_VAL(ac_cv_func_mmap,
-[AC_TRY_RUN([
-/* Thanks to Mike Haertel and Jim Avera for this test. */
-#include <sys/types.h>
-#include <fcntl.h>
-#include <sys/mman.h>
-
-#ifdef BSD
-# ifndef BSD4_1
-# define HAVE_GETPAGESIZE
-# endif
-#endif
-
-#ifndef HAVE_GETPAGESIZE
-# include <sys/param.h>
-# ifdef EXEC_PAGESIZE
-# define getpagesize() EXEC_PAGESIZE
-# else
-# ifdef NBPG
-# define getpagesize() NBPG * CLSIZE
-# ifndef CLSIZE
-# define CLSIZE 1
-# endif
-# else
-# ifdef NBPC
-# define getpagesize() NBPC
-# else
-# define getpagesize() PAGESIZE /* SVR4 */
-# endif
-# endif
-# endif
-#endif
-
-#ifdef __osf__
-# define valloc malloc
-#endif
-
-#ifdef __cplusplus
-extern "C" { void *valloc(unsigned), *malloc(unsigned); }
-#else
-char *valloc(), *malloc();
-#endif
-
-int
-main()
-{
- char *buf1, *buf2, *buf3;
- int i = getpagesize(), j;
- int i2 = getpagesize()*2;
- int fd;
-
- buf1 = (char *)valloc(i2);
- buf2 = (char *)valloc(i);
- buf3 = (char *)malloc(i2);
- for (j = 0; j < i2; ++j)
- *(buf1 + j) = rand();
- fd = open("conftestmmap", O_CREAT | O_RDWR, 0666);
- write(fd, buf1, i2);
- mmap(buf2, i, PROT_READ | PROT_WRITE, MAP_FIXED | MAP_PRIVATE, fd, 0);
- for (j = 0; j < i; ++j)
- if (*(buf1 + j) != *(buf2 + j))
- exit(1);
- lseek(fd, (long)i, 0);
- read(fd, buf2, i); /* read into mapped memory -- file should not change */
- /* (it does in i386 SVR4.0 - Jim Avera, jima@netcom.com) */
- lseek(fd, (long)0, 0);
- read(fd, buf3, i2);
- for (j = 0; j < i2; ++j)
- if (*(buf1 + j) != *(buf3 + j))
- exit(1);
- exit(0);
-}
-], ac_cv_func_mmap=yes, ac_cv_func_mmap=no, ac_cv_func_mmap=no)])dnl
-AC_MSG_RESULT($ac_cv_func_mmap)
-if test $ac_cv_func_mmap = yes; then
- AC_DEFINE(HAVE_MMAP)
-fi
-])
-
-AC_DEFUN(AC_FUNC_VPRINTF,
-[AC_CHECK_FUNC(vprintf, AC_DEFINE(HAVE_VPRINTF))
-if test "$ac_cv_func_vprintf" != yes; then
-AC_CHECK_FUNC(_doprnt, AC_DEFINE(HAVE_DOPRNT))
-fi
-])
-
-AC_DEFUN(AC_FUNC_VFORK,
-[AC_REQUIRE([AC_TYPE_PID_T])dnl
-AC_CHECK_HEADER(vfork.h, AC_DEFINE(HAVE_VFORK_H))
-AC_MSG_CHECKING(for working vfork)
-AC_CACHE_VAL(ac_cv_func_vfork,
-[AC_REQUIRE([AC_TYPE_SIGNAL])
-AC_TRY_RUN([/* Thanks to Paul Eggert for this test. */
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <signal.h>
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#ifdef HAVE_VFORK_H
-#include <vfork.h>
-#endif
-/* On sparc systems, changes by the child to local and incoming
- argument registers are propagated back to the parent.
- The compiler is told about this with #include <vfork.h>,
- but some compilers (e.g. gcc -O) don't grok <vfork.h>.
- Test for this by using a static variable whose address
- is put into a register that is clobbered by the vfork. */
-static
-#ifdef __cplusplus
-sparc_address_test (int arg)
-#else
-sparc_address_test (arg) int arg;
-#endif
-{
- static pid_t child;
- if (!child) {
- child = vfork ();
- if (child < 0)
- perror ("vfork");
- if (!child) {
- arg = getpid();
- write(-1, "", 0);
- _exit (arg);
- }
- }
-}
-static int signalled;
-static RETSIGTYPE catch (s) int s; { signalled = 1; }
-main() {
- pid_t parent = getpid ();
- pid_t child;
-
- sparc_address_test ();
-
- signal (SIGINT, catch);
-
- child = vfork ();
-
- if (child == 0) {
- /* Here is another test for sparc vfork register problems.
- This test uses lots of local variables, at least
- as many local variables as main has allocated so far
- including compiler temporaries. 4 locals are enough for
- gcc 1.40.3 on a sparc, but we use 8 to be safe.
- A buggy compiler should reuse the register of parent
- for one of the local variables, since it will think that
- parent can't possibly be used any more in this routine.
- Assigning to the local variable will thus munge parent
- in the parent process. */
- pid_t
- p = getpid(), p1 = getpid(), p2 = getpid(), p3 = getpid(),
- p4 = getpid(), p5 = getpid(), p6 = getpid(), p7 = getpid();
- /* Convince the compiler that p..p7 are live; otherwise, it might
- use the same hardware register for all 8 local variables. */
- if (p != p1 || p != p2 || p != p3 || p != p4
- || p != p5 || p != p6 || p != p7)
- _exit(1);
-
- /* On some systems (e.g. SunOS 5.2), if the parent is catching
- a signal, the child ignores the signal before execing,
- and the parent later receives that signal, the parent dumps core.
- Test for this by ignoring SIGINT in the child. */
- signal (SIGINT, SIG_IGN);
-
- /* On some systems (e.g. IRIX 3.3),
- vfork doesn't separate parent from child file descriptors.
- If the child closes a descriptor before it execs or exits,
- this munges the parent's descriptor as well.
- Test for this by closing stdout in the child. */
- _exit(close(fileno(stdout)) != 0);
- } else {
- int status;
- struct stat st;
-
- while (wait(&status) != child)
- ;
- exit(
- /* Was there some problem with vforking? */
- child < 0
-
- /* Did the child fail? (This shouldn't happen.) */
- || status
-
- /* Did the vfork/compiler bug occur? */
- || parent != getpid()
-
- /* Did the signal handling bug occur? */
- || kill(parent, SIGINT) != 0
- || signalled != 1
-
- /* Did the file descriptor bug occur? */
- || fstat(fileno(stdout), &st) != 0
- );
- }
-}], ac_cv_func_vfork=yes, ac_cv_func_vfork=no, ac_cv_func_vfork=no)])dnl
-AC_MSG_RESULT($ac_cv_func_vfork)
-if test $ac_cv_func_vfork = no; then
- AC_DEFINE(vfork, fork)
-fi
-])
-
-AC_DEFUN(AC_FUNC_WAIT3,
-[AC_MSG_CHECKING(for wait3 that fills in rusage)
-AC_CACHE_VAL(ac_cv_func_wait3,
-[AC_TRY_RUN([#include <sys/types.h>
-#include <sys/time.h>
-#include <sys/resource.h>
-#include <stdio.h>
-/* HP-UX has wait3 but does not fill in rusage at all. */
-main() {
- struct rusage r;
- int i;
- /* Use a field that we can force nonzero --
- voluntary context switches.
- For systems like NeXT and OSF/1 that don't set it,
- also use the system CPU time. */
- r.ru_nvcsw = 0;
- r.ru_stime.tv_sec = 0;
- r.ru_stime.tv_usec = 0;
- switch (fork()) {
- case 0: /* Child. */
- sleep(1); /* Give up the CPU. */
- _exit(0);
- case -1: _exit(0); /* What can we do? */
- default: /* Parent. */
- wait3(&i, 0, &r);
- sleep(1); /* Avoid "text file busy" from rm on fast HP-UX machines. */
- exit(r.ru_nvcsw == 0
- && r.ru_stime.tv_sec == 0 && r.ru_stime.tv_usec == 0);
- }
-}], ac_cv_func_wait3=yes, ac_cv_func_wait3=no, ac_cv_func_wait3=no)])dnl
-AC_MSG_RESULT($ac_cv_func_wait3)
-if test $ac_cv_func_wait3 = yes; then
- AC_DEFINE(HAVE_WAIT3)
-fi
-])
-
-AC_DEFUN(AC_FUNC_ALLOCA,
-[AC_REQUIRE_CPP()dnl Set CPP; we run AC_EGREP_CPP conditionally.
-# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
-# for constant arguments. Useless!
-AC_MSG_CHECKING([for working alloca.h])
-AC_CACHE_VAL(ac_cv_header_alloca_h,
-[AC_TRY_LINK([#include <alloca.h>], [char *p = alloca(2 * sizeof(int));],
- ac_cv_header_alloca_h=yes, ac_cv_header_alloca_h=no)])dnl
-AC_MSG_RESULT($ac_cv_header_alloca_h)
-if test $ac_cv_header_alloca_h = yes; then
- AC_DEFINE(HAVE_ALLOCA_H)
-fi
-
-AC_MSG_CHECKING([for alloca])
-AC_CACHE_VAL(ac_cv_func_alloca,
-[AC_TRY_LINK([
-#ifdef __GNUC__
-# define alloca __builtin_alloca
-#else
-# if HAVE_ALLOCA_H
-# include <alloca.h>
-# else
-# ifdef _AIX
- #pragma alloca
-# else
-# ifndef alloca /* predefined by HP cc +Olibcalls */
-char *alloca ();
-# endif
-# endif
-# endif
-#endif
-], [char *p = (char *) alloca(1);],
- ac_cv_func_alloca=yes, ac_cv_func_alloca=no)])dnl
-AC_MSG_RESULT($ac_cv_func_alloca)
-if test $ac_cv_func_alloca = yes; then
- AC_DEFINE(HAVE_ALLOCA)
-fi
-
-if test $ac_cv_func_alloca = no; then
- # 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.o
- AC_DEFINE(C_ALLOCA)
-
-AC_MSG_CHECKING(whether alloca needs Cray hooks)
-AC_CACHE_VAL(ac_cv_os_cray,
-[AC_EGREP_CPP(webecray,
-[#if defined(CRAY) && ! defined(CRAY2)
-webecray
-#else
-wenotbecray
-#endif
-], ac_cv_os_cray=yes, ac_cv_os_cray=no)])dnl
-AC_MSG_RESULT($ac_cv_os_cray)
-if test $ac_cv_os_cray = yes; then
-AC_CHECK_FUNC(_getb67, AC_DEFINE(CRAY_STACKSEG_END, _getb67),
-AC_CHECK_FUNC(GETB67, AC_DEFINE(CRAY_STACKSEG_END, GETB67),
-AC_CHECK_FUNC(getb67, AC_DEFINE(CRAY_STACKSEG_END, getb67))))
-fi
-
-AC_MSG_CHECKING(stack direction for C alloca)
-AC_CACHE_VAL(ac_cv_c_stack_direction,
-[AC_TRY_RUN([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;
-}
-main ()
-{
- exit (find_stack_direction() < 0);
-}], ac_cv_c_stack_direction=1, ac_cv_c_stack_direction=-1,
- ac_cv_c_stack_direction=0)])dnl
-AC_MSG_RESULT($ac_cv_c_stack_direction)
-AC_DEFINE_UNQUOTED(STACK_DIRECTION, $ac_cv_c_stack_direction)
-fi
-AC_SUBST(ALLOCA)dnl
-])
-
-AC_DEFUN(AC_FUNC_GETLOADAVG,
-[# Some definitions of getloadavg require that the program be installed setgid.
-NEED_SETGID=false
-AC_SUBST(NEED_SETGID)dnl
-ac_have_func=no
-
-# Check for the 4.4BSD definition of getloadavg.
-AC_CHECK_LIB(util, getloadavg, [LIBS="$LIBS -lutil" ac_have_func=yes
-# Some systems with -lutil have (and need) -lkvm as well, some do not.
-AC_CHECK_LIB(kvm, kvm_open, LIBS="$LIBS -lkvm")])
-
-if test $ac_have_func = no; then
-# There is a commonly available library for RS/6000 AIX.
-# Since it is not a standard part of AIX, it might be installed locally.
-ac_save_LIBS="$LIBS" LIBS="-L/usr/local/lib $LIBS"
-AC_CHECK_LIB(getloadavg, getloadavg, LIBS="$LIBS -lgetloadavg", LIBS="$ac_save_LIBS")
-fi
-
-# Make sure it is really in the library, if we think we found it.
-AC_REPLACE_FUNCS(getloadavg)
-
-if test $ac_cv_func_getloadavg = yes; then
- AC_DEFINE(HAVE_GETLOADAVG)
-else
-ac_have_func=no
-AC_CHECK_HEADER(sys/dg_sys_info.h,
-[ac_have_func=yes AC_DEFINE(DGUX)
-AC_CHECK_LIB(dgc, dg_sys_info)])
-if test $ac_have_func = no; then
-# We cannot check for <dwarf.h>, because Solaris 2 does not use dwarf (it
-# uses stabs), but it is still SVR4. We cannot check for <elf.h> because
-# Irix 4.0.5F has the header but not the library.
-AC_CHECK_LIB(elf, elf_read,
- [LIBS="$LIBS -lelf" ac_have_func=yes AC_DEFINE(SVR4)
- AC_CHECK_LIB(kvm, kvm_open, LIBS="$LIBS -lkvm")])
-fi
-if test $ac_have_func = no; then
-AC_CHECK_HEADER(inq_stats/cpustats.h,
- [ac_have_func=yes AC_DEFINE(UMAX)
- AC_DEFINE(UMAX4_3)])
-fi
-if test $ac_have_func = no; then
-AC_CHECK_HEADER(sys/cpustats.h,
- [ac_have_func=yes AC_DEFINE(UMAX)])
-fi
-if test $ac_have_func = no; then
-AC_CHECK_HEADERS(mach/mach.h)
-fi
-
-AC_CHECK_HEADER(nlist.h,
-[AC_DEFINE(NLIST_STRUCT)
-AC_MSG_CHECKING([for n_un in struct nlist])
-AC_CACHE_VAL(ac_cv_struct_nlist_n_un,
-[AC_TRY_COMPILE([#include <nlist.h>],
-[struct nlist n; n.n_un.n_name = 0;],
-ac_cv_struct_nlist_n_un=yes, ac_cv_struct_nlist_n_un=no)])dnl
-AC_MSG_RESULT($ac_cv_struct_nlist_n_un)
-if test $ac_cv_struct_nlist_n_un = yes; then
- AC_DEFINE(NLIST_NAME_UNION)
-fi
-])dnl
-
-dnl FIXME two bugs here:
-dnl Hardwiring the path of getloadavg.c in the top-level directory,
-dnl and not checking whether a getloadavg from a library needs privileges.
-AC_MSG_CHECKING(whether getloadavg requires setgid)
-AC_CACHE_VAL(ac_cv_func_getloadavg_setgid,
-[AC_EGREP_CPP([Yowza Am I SETGID yet],
-[#include "$srcdir/getloadavg.c"
-#ifdef LDAV_PRIVILEGED
-Yowza Am I SETGID yet
-#endif],
- ac_cv_func_getloadavg_setgid=yes, ac_cv_func_getloadavg_setgid=no)])dnl
-AC_MSG_RESULT($ac_cv_func_getloadavg_setgid)
-if test $ac_cv_func_getloadavg_setgid = yes; then
- NEED_SETGID=true AC_DEFINE(GETLOADAVG_PRIVILEGED)
-fi
-
-fi # Do not have getloadavg in system libraries.
-
-if test "$NEED_SETGID" = true; then
- AC_MSG_CHECKING(group of /dev/kmem)
-AC_CACHE_VAL(ac_cv_group_kmem,
-[changequote(, )dnl
- # On Solaris, /dev/kmem is a symlink. Get info on the real file.
- ac_ls_output=`ls -lgL /dev/kmem 2>/dev/null`
- # If we got an error (system does not support symlinks), try without -L.
- test -z "$ac_ls_output" && ac_ls_output=`ls -lg /dev/kmem`
- ac_cv_group_kmem=`echo $ac_ls_output \
- | sed -ne 's/[ ][ ]*/ /g;
- s/^.[sSrwx-]* *[0-9]* *\([^0-9]*\) *.*/\1/;
- / /s/.* //;p;'`
-changequote([, ])dnl
-])dnl
- KMEM_GROUP=$ac_cv_group_kmem
- AC_MSG_RESULT($KMEM_GROUP)
-fi
-AC_SUBST(KMEM_GROUP)dnl
-])
-
-AC_DEFUN(AC_FUNC_UTIME_NULL,
-[AC_MSG_CHECKING(whether utime accepts a null argument)
-AC_CACHE_VAL(ac_cv_func_utime_null,
-[rm -f conftestdata; > conftestdata
-# Sequent interprets utime(file, 0) to mean use start of epoch. Wrong.
-AC_TRY_RUN([#include <sys/types.h>
-#include <sys/stat.h>
-main() {
-struct stat s, t;
-exit(!(stat ("conftestdata", &s) == 0 && utime("conftestdata", (long *)0) == 0
-&& stat("conftestdata", &t) == 0 && t.st_mtime >= s.st_mtime
-&& t.st_mtime - s.st_mtime < 120));
-}], ac_cv_func_utime_null=yes, ac_cv_func_utime_null=no,
- ac_cv_func_utime_null=no)
-rm -f core])dnl
-AC_MSG_RESULT($ac_cv_func_utime_null)
-if test $ac_cv_func_utime_null = yes; then
- AC_DEFINE(HAVE_UTIME_NULL)
-fi
-])
-
-AC_DEFUN(AC_FUNC_STRCOLL,
-[AC_MSG_CHECKING(for strcoll)
-AC_CACHE_VAL(ac_cv_func_strcoll,
-[AC_TRY_RUN([#include <string.h>
-main ()
-{
- exit (strcoll ("abc", "def") >= 0 ||
- strcoll ("ABC", "DEF") >= 0 ||
- strcoll ("123", "456") >= 0);
-}], ac_cv_func_strcoll=yes, ac_cv_func_strcoll=no, ac_cv_func_strcoll=no)])dnl
-AC_MSG_RESULT($ac_cv_func_strcoll)
-if test $ac_cv_func_strcoll = yes; then
- AC_DEFINE(HAVE_STRCOLL)
-fi
-])
-
-AC_DEFUN(AC_FUNC_SETVBUF_REVERSED,
-[AC_MSG_CHECKING(whether setvbuf arguments are reversed)
-AC_CACHE_VAL(ac_cv_func_setvbuf_reversed,
-[AC_TRY_RUN([#include <stdio.h>
-/* If setvbuf has the reversed format, exit 0. */
-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. */
-}], ac_cv_func_setvbuf_reversed=yes, ac_cv_func_setvbuf_reversed=no)
-rm -f core])dnl
-AC_MSG_RESULT($ac_cv_func_setvbuf_reversed)
-if test $ac_cv_func_setvbuf_reversed = yes; then
- AC_DEFINE(SETVBUF_REVERSED)
-fi
-])
-
-AC_DEFUN(AC_FUNC_GETMNTENT,
-[# getmntent is in -lsun on Irix 4, -lseq on Dynix/PTX.
-AC_CHECK_LIB(sun, getmntent, LIBS="$LIBS -lsun",
- [AC_CHECK_LIB(seq, getmntent, LIBS="$LIBS -lseq")])
-AC_CHECK_FUNC(getmntent, [AC_DEFINE(HAVE_GETMNTENT)])])
-
-AC_DEFUN(AC_FUNC_STRFTIME,
-[# strftime is in -lintl on SCO UNIX.
-AC_CHECK_LIB(intl, strftime, LIBS="$LIBS -lintl")
-AC_CHECK_FUNC(strftime, [AC_DEFINE(HAVE_STRFTIME)])])
-
-AC_DEFUN(AC_FUNC_MEMCMP,
-[AC_MSG_CHECKING(for 8-bit clean memcmp)
-AC_CACHE_VAL(ac_cv_func_memcmp,
-[AC_TRY_RUN([
-main()
-{
- char c0 = 0x40, c1 = 0x80, c2 = 0x81;
- exit(memcmp(&c0, &c2, 1) < 0 && memcmp(&c1, &c2, 1) < 0 ? 0 : 1);
-}
-], ac_cv_func_memcmp=yes, ac_cv_func_memcmp=no, ac_cv_func_memcmp=no)])dnl
-AC_MSG_RESULT($ac_cv_func_memcmp)
-test $ac_cv_func_memcmp = no && LIBOBJS="$LIBOBJS memcmp.o"
-AC_SUBST(LIBOBJS)dnl
-])
-
-
-dnl ### Checks for structure members
-
-
-AC_DEFUN(AC_HEADER_TIME,
-[AC_MSG_CHECKING([whether time.h and sys/time.h may both be included])
-AC_CACHE_VAL(ac_cv_header_time,
-[AC_TRY_COMPILE([#include <sys/types.h>
-#include <sys/time.h>
-#include <time.h>],
-[struct tm *tp;], ac_cv_header_time=yes, ac_cv_header_time=no)])dnl
-AC_MSG_RESULT($ac_cv_header_time)
-if test $ac_cv_header_time = yes; then
- AC_DEFINE(TIME_WITH_SYS_TIME)
-fi
-])
-
-AC_DEFUN(AC_STRUCT_TM,
-[AC_MSG_CHECKING([whether struct tm is in sys/time.h or time.h])
-AC_CACHE_VAL(ac_cv_struct_tm,
-[AC_TRY_COMPILE([#include <sys/types.h>
-#include <time.h>],
-[struct tm *tp; tp->tm_sec;],
- ac_cv_struct_tm=time.h, ac_cv_struct_tm=sys/time.h)])dnl
-AC_MSG_RESULT($ac_cv_struct_tm)
-if test $ac_cv_struct_tm = sys/time.h; then
- AC_DEFINE(TM_IN_SYS_TIME)
-fi
-])
-
-AC_DEFUN(AC_STRUCT_TIMEZONE,
-[AC_REQUIRE([AC_STRUCT_TM])dnl
-AC_MSG_CHECKING([for tm_zone in struct tm])
-AC_CACHE_VAL(ac_cv_struct_tm_zone,
-[AC_TRY_COMPILE([#include <sys/types.h>
-#include <$ac_cv_struct_tm>], [struct tm tm; tm.tm_zone;],
- ac_cv_struct_tm_zone=yes, ac_cv_struct_tm_zone=no)])dnl
-AC_MSG_RESULT($ac_cv_struct_tm_zone)
-if test "$ac_cv_struct_tm_zone" = yes; then
- AC_DEFINE(HAVE_TM_ZONE)
-else
- AC_MSG_CHECKING([for tzname])
-AC_CACHE_VAL(ac_cv_var_tzname,
-[AC_TRY_LINK(
-changequote(<<, >>)dnl
-<<#include <time.h>
-#ifndef tzname /* For SGI. */
-extern char *tzname[]; /* RS6000 and others reject char **tzname. */
-#endif>>,
-changequote([, ])dnl
-[atoi(*tzname);], ac_cv_var_tzname=yes, ac_cv_var_tzname=no)])dnl
- AC_MSG_RESULT($ac_cv_var_tzname)
- if test $ac_cv_var_tzname = yes; then
- AC_DEFINE(HAVE_TZNAME)
- fi
-fi
-])
-
-AC_DEFUN(AC_STRUCT_ST_BLOCKS,
-[AC_MSG_CHECKING([for st_blocks in struct stat])
-AC_CACHE_VAL(ac_cv_struct_st_blocks,
-[AC_TRY_COMPILE([#include <sys/types.h>
-#include <sys/stat.h>], [struct stat s; s.st_blocks;],
-ac_cv_struct_st_blocks=yes, ac_cv_struct_st_blocks=no)])dnl
-AC_MSG_RESULT($ac_cv_struct_st_blocks)
-if test $ac_cv_struct_st_blocks = yes; then
- AC_DEFINE(HAVE_ST_BLOCKS)
-else
- LIBOBJS="$LIBOBJS fileblocks.o"
-fi
-AC_SUBST(LIBOBJS)dnl
-])
-
-AC_DEFUN(AC_STRUCT_ST_BLKSIZE,
-[AC_MSG_CHECKING([for st_blksize in struct stat])
-AC_CACHE_VAL(ac_cv_struct_st_blksize,
-[AC_TRY_COMPILE([#include <sys/types.h>
-#include <sys/stat.h>], [struct stat s; s.st_blksize;],
-ac_cv_struct_st_blksize=yes, ac_cv_struct_st_blksize=no)])dnl
-AC_MSG_RESULT($ac_cv_struct_st_blksize)
-if test $ac_cv_struct_st_blksize = yes; then
- AC_DEFINE(HAVE_ST_BLKSIZE)
-fi
-])
-
-AC_DEFUN(AC_STRUCT_ST_RDEV,
-[AC_MSG_CHECKING([for st_rdev in struct stat])
-AC_CACHE_VAL(ac_cv_struct_st_rdev,
-[AC_TRY_COMPILE([#include <sys/types.h>
-#include <sys/stat.h>], [struct stat s; s.st_rdev;],
-ac_cv_struct_st_rdev=yes, ac_cv_struct_st_rdev=no)])dnl
-AC_MSG_RESULT($ac_cv_struct_st_rdev)
-if test $ac_cv_struct_st_rdev = yes; then
- AC_DEFINE(HAVE_ST_RDEV)
-fi
-])
-
-
-dnl ### Checks for compiler characteristics
-
-
-AC_DEFUN(AC_C_CROSS,
-[# If we cannot run a trivial program, we must be cross compiling.
-AC_MSG_CHECKING(whether cross-compiling)
-AC_CACHE_VAL(ac_cv_c_cross,
-[AC_TRY_RUN([main(){return(0);}],
- ac_cv_c_cross=no, ac_cv_c_cross=yes, ac_cv_cross=yes)])dnl
-cross_compiling=$ac_cv_c_cross
-AC_MSG_RESULT($ac_cv_c_cross)
-])
-
-AC_DEFUN(AC_C_CHAR_UNSIGNED,
-[AC_MSG_CHECKING(whether char is unsigned)
-AC_CACHE_VAL(ac_cv_c_char_unsigned,
-[if test "$GCC" = yes; then
- # GCC predefines this symbol on systems where it applies.
-AC_EGREP_CPP(yes,
-[#ifdef __CHAR_UNSIGNED__
- yes
-#endif
-], ac_cv_c_char_unsigned=yes, ac_cv_c_char_unsigned=no)
-else
-AC_TRY_RUN(
-[/* volatile prevents gcc2 from optimizing the test away on sparcs. */
-#if !defined(__STDC__) || __STDC__ != 1
-#define volatile
-#endif
-main() {
- volatile char c = 255; exit(c < 0);
-}], ac_cv_c_char_unsigned=yes, ac_cv_c_char_unsigned=no)
-fi])dnl
-AC_MSG_RESULT($ac_cv_c_char_unsigned)
-if test $ac_cv_c_char_unsigned = yes && test "$GCC" != yes; then
- AC_DEFINE(__CHAR_UNSIGNED__)
-fi
-])
-
-AC_DEFUN(AC_C_LONG_DOUBLE,
-[AC_MSG_CHECKING(for long double)
-AC_CACHE_VAL(ac_cv_c_long_double,
-[if test "$GCC" = yes; then
- ac_cv_c_long_double=yes
-else
-AC_TRY_RUN([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)); }],
-ac_cv_c_long_double=yes, ac_cv_c_long_double=no)
-fi])dnl
-AC_MSG_RESULT($ac_cv_c_long_double)
-if test $ac_cv_c_long_double = yes; then
- AC_DEFINE(HAVE_LONG_DOUBLE)
-fi
-])
-
-AC_DEFUN(AC_INT_16_BITS,
-[AC_OBSOLETE([$0], [; instead use AC_CHECK_SIZEOF(int)])dnl
-AC_MSG_CHECKING(whether int is 16 bits)
-AC_TRY_RUN([main() { exit(sizeof(int) != 2); }],
- [AC_MSG_RESULT(yes)
- AC_DEFINE(INT_16_BITS)], AC_MSG_RESULT(no))
-])
-
-AC_DEFUN(AC_LONG_64_BITS,
-[AC_OBSOLETE([$0], [; instead use AC_CHECK_SIZEOF(long)])dnl
-AC_MSG_CHECKING(whether long int is 64 bits)
-AC_TRY_RUN([main() { exit(sizeof(long int) != 8); }],
- [AC_MSG_RESULT(yes)
- AC_DEFINE(LONG_64_BITS)], AC_MSG_RESULT(no))
-])
-
-AC_DEFUN(AC_C_BIGENDIAN,
-[AC_MSG_CHECKING(whether byte ordering is bigendian)
-AC_CACHE_VAL(ac_cv_c_bigendian,
-[AC_TRY_RUN([main () {
- /* Are we little or big endian? From Harbison&Steele. */
- union
- {
- long l;
- char c[sizeof (long)];
- } u;
- u.l = 1;
- exit (u.c[sizeof (long) - 1] == 1);
-}], ac_cv_c_bigendian=no, ac_cv_c_bigendian=yes)])dnl
-AC_MSG_RESULT($ac_cv_c_bigendian)
-if test $ac_cv_c_bigendian = yes; then
- AC_DEFINE(WORDS_BIGENDIAN)
-fi
-])
-
-AC_DEFUN(AC_C_INLINE,
-[AC_MSG_CHECKING([for inline])
-AC_CACHE_VAL(ac_cv_c_inline,
-[if test "$GCC" = yes; then
-AC_TRY_COMPILE(, [} inline foo() {], ac_cv_c_inline=yes, ac_cv_c_inline=no)
-else
- ac_cv_c_inline=no
-fi])dnl
-AC_MSG_RESULT($ac_cv_c_inline)
-if test $ac_cv_c_inline = no; then
- AC_DEFINE(inline, __inline)
-fi
-])
-
-AC_DEFUN(AC_C_CONST,
-[dnl This message is consistent in form with the other checking messages,
-dnl and with the result message.
-AC_MSG_CHECKING([for working const])
-AC_CACHE_VAL(ac_cv_c_const,
-[AC_TRY_COMPILE(,
-changequote(<<, >>)dnl
-<<
-/* Ultrix mips cc rejects this. */
-typedef int charset[2]; const charset x;
-/* SunOS 4.1.1 cc rejects this. */
-char const *const *ccp;
-char **p;
-/* NEC SVR4.0.2 mips cc rejects this. */
-struct point {int x, y;};
-static struct point const zero;
-/* AIX XL C 1.02.0.0 rejects this.
- It does not let you subtract one const X* pointer from another in an arm
- of an if-expression whose if-part is not a constant expression */
-const char *g = "string";
-ccp = &g + (g ? g-g : 0);
-/* HPUX 7.0 cc rejects these. */
-++ccp;
-p = (char**) ccp;
-ccp = (char const *const *) p;
-{ /* SCO 3.2v4 cc rejects this. */
- char *t;
- char const *s = 0 ? (char *) 0 : (char const *) 0;
-
- *t++ = 0;
-}
-{ /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */
- int x[] = {25, 17};
- const int *foo = &x[0];
- ++foo;
-}
-{ /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */
- typedef const int *iptr;
- iptr p = 0;
- ++p;
-}
-{ /* AIX XL C 1.02.0.0 rejects this saying
- "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
- struct s { int j; const int *ap[3]; };
- struct s *b; b->j = 5;
-}
-{ /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
- const int foo = 10;
-}
->>,
-changequote([, ])dnl
-ac_cv_c_const=yes, ac_cv_c_const=no)])dnl
-AC_MSG_RESULT($ac_cv_c_const)
-if test $ac_cv_c_const = no; then
- AC_DEFINE(const, )
-fi
-])
-
-define(AC_ARG_ARRAY,
-[errprint(__file__:__line__: [$0] has been removed; don't do unportable things with arguments
-)m4exit(4)])
-
-
-dnl ### Checks for operating system services
-
-
-AC_DEFUN(AC_SYS_INTERPRETER,
-[# Pull the hash mark out of the macro call to avoid m4 problems.
-ac_msg="whether #! works in shell scripts"
-AC_MSG_CHECKING($ac_msg)
-AC_CACHE_VAL(ac_cv_sys_interpreter,
-[echo '#!/bin/cat
-exit 69
-' > conftest
-chmod u+x conftest
-(SHELL=/bin/sh; export SHELL; ./conftest >/dev/null)
-if test $? -ne 69; then
- ac_cv_sys_interpreter=yes
-else
- ac_cv_sys_interpreter=no
-fi
-rm -f conftest])dnl
-AC_MSG_RESULT($ac_cv_sys_interpreter)
-])
-
-define(AC_HAVE_POUNDBANG,
-[errprint(__file__:__line__: [$0 has been replaced by AC_SYS_INTERPRETER, taking no arguments
-])m4exit(4)])
-
-AC_DEFUN(AC_SYS_LONG_FILE_NAMES,
-[AC_MSG_CHECKING(for long file names)
-AC_CACHE_VAL(ac_cv_sys_long_file_names,
-[ac_cv_sys_long_file_names=yes
-# Test for long file names in all the places we know might matter:
-# . the current directory, where building will happen
-# /tmp where it might want to write temporary files
-# /var/tmp likewise
-# /usr/tmp likewise
-# $prefix/lib where we will be installing things
-# $exec_prefix/lib likewise
-# eval it to expand exec_prefix.
-for ac_dir in `eval echo . /tmp /var/tmp /usr/tmp $prefix/lib $exec_prefix/lib` ; do
- test -d $ac_dir || continue
- test -w $ac_dir || continue # It is less confusing to not echo anything here.
- (echo 1 > $ac_dir/conftest9012345) 2>/dev/null
- (echo 2 > $ac_dir/conftest9012346) 2>/dev/null
- val=`cat $ac_dir/conftest9012345 2>/dev/null`
- if test ! -f $ac_dir/conftest9012345 || test "$val" != 1; then
- ac_cv_sys_long_file_names=no
- rm -f $ac_dir/conftest9012345 $ac_dir/conftest9012346 2>/dev/null
- break
- fi
- rm -f $ac_dir/conftest9012345 $ac_dir/conftest9012346 2>/dev/null
-done])dnl
-AC_MSG_RESULT($ac_cv_sys_long_file_names)
-if test $ac_cv_sys_long_file_names = yes; then
- AC_DEFINE(HAVE_LONG_FILE_NAMES)
-fi
-])
-
-AC_DEFUN(AC_SYS_RESTARTABLE_SYSCALLS,
-[AC_MSG_CHECKING(for restartable system calls)
-AC_CACHE_VAL(ac_cv_sys_restartable_syscalls,
-[AC_TRY_RUN(
-[/* Exit 0 (true) if wait returns something other than -1,
- i.e. the pid of the child, which means that wait was restarted
- after getting the signal. */
-#include <sys/types.h>
-#include <signal.h>
-ucatch (isig) { }
-main () {
- int i = fork (), status;
- if (i == 0) { sleep (3); kill (getppid (), SIGINT); sleep (3); exit (0); }
- signal (SIGINT, ucatch);
- status = wait(&i);
- if (status == -1) wait(&i);
- exit (status == -1);
-}
-], ac_cv_sys_restartable_syscalls=yes, ac_cv_sys_restartable_syscalls=no)])dnl
-AC_MSG_RESULT($ac_cv_sys_restartable_syscalls)
-if test $ac_cv_sys_restartable_syscalls = yes; then
- AC_DEFINE(HAVE_RESTARTABLE_SYSCALLS)
-fi
-])
-
-AC_DEFUN(AC_PATH_X,
-[AC_REQUIRE_CPP()dnl Set CPP; we run AC_PATH_X_DIRECT conditionally.
-# If we find X, set shell vars x_includes and x_libraries to the
-# paths, otherwise set no_x=yes.
-# Uses ac_ vars as temps to allow command line to override cache and checks.
-# --without-x overrides everything else, but does not touch the cache.
-AC_MSG_CHECKING(for X)
-
-AC_ARG_WITH(x, [ --with-x use the X Window System])
-if test "x$with_x" = xno; then
- no_x=yes
-else
- if test "x$x_includes" != xNONE && test "x$x_libraries" != xNONE; then
- no_x=
- else
-AC_CACHE_VAL(ac_cv_path_x,
-[# One or both of the vars are not set, and there is no cached value.
-no_x=yes
-AC_PATH_X_XMKMF
-if test "$no_x" = yes; then
-AC_PATH_X_DIRECT
-fi
-if test "$no_x" = yes; then
- ac_cv_path_x="no_x=yes"
-else
- ac_cv_path_x="no_x= ac_x_includes=$ac_x_includes ac_x_libraries=$ac_x_libraries"
-fi])dnl
- fi
- eval "$ac_cv_path_x"
-fi # $with_x != no
-
-if test "$no_x" = yes; then
- AC_MSG_RESULT(no)
-else
- test "x$x_includes" = xNONE && x_includes=$ac_x_includes
- test "x$x_libraries" = xNONE && x_libraries=$ac_x_libraries
- ac_cv_path_x="no_x= ac_x_includes=$x_includes ac_x_libraries=$x_libraries"
- AC_MSG_RESULT([libraries $x_libraries, headers $x_includes])
-fi
-])
-
-dnl Internal subroutine of AC_PATH_X.
-dnl Set ac_x_includes, ac_x_libraries, and no_x (initially yes).
-AC_DEFUN(AC_PATH_X_XMKMF,
-[rm -fr conftestdir
-if mkdir conftestdir; then
- cd conftestdir
- # Make sure to not put "make" in the Imakefile rules, since we grep it out.
- cat > Imakefile <<'EOF'
-acfindx:
- @echo 'ac_im_incroot="${INCROOT}"; ac_im_usrlibdir="${USRLIBDIR}"; ac_im_libdir="${LIBDIR}"'
-EOF
- if (xmkmf) >/dev/null 2>/dev/null && test -f Makefile; then
- no_x=
- # GNU make sometimes prints "make[1]: Entering...", which would confuse us.
- eval `make acfindx 2>/dev/null | grep -v make`
- # Open Windows xmkmf reportedly sets LIBDIR instead of USRLIBDIR.
- if test ! -f $ac_im_usrlibdir/libX11.a && test -f $ac_im_libdir/libX11.a
- then
- ac_im_usrlibdir=$ac_im_libdir
- fi
- case "$ac_im_incroot" in
- /usr/include) ;;
- *) ac_x_includes="$ac_im_incroot" ;;
- esac
- case "$ac_im_usrlibdir" in
- /usr/lib | /lib) ;;
- *) ac_x_libraries="$ac_im_usrlibdir" ;;
- esac
- fi
- cd ..
- rm -fr conftestdir
-fi
-])
-
-dnl Internal subroutine of AC_PATH_X.
-dnl Set ac_x_includes, ac_x_libraries, and no_x (initially yes).
-AC_DEFUN(AC_PATH_X_DIRECT,
-[test -z "$x_direct_test_library" && x_direct_test_library=Xt
-test -z "$x_direct_test_function" && x_direct_test_function=XtMalloc
-test -z "$x_direct_test_include" && x_direct_test_include=X11/Intrinsic.h
-AC_TRY_CPP([#include <$x_direct_test_include>],
-[no_x= ac_x_includes=],
-[ for ac_dir in \
- /usr/X11R6/include \
- /usr/X11R5/include \
- /usr/X11R4/include \
- \
- /usr/include/X11R6 \
- /usr/include/X11R5 \
- /usr/include/X11R4 \
- \
- /usr/local/X11R6/include \
- /usr/local/X11R5/include \
- /usr/local/X11R4/include \
- \
- /usr/local/include/X11R6 \
- /usr/local/include/X11R5 \
- /usr/local/include/X11R4 \
- \
- /usr/X11/include \
- /usr/include/X11 \
- /usr/local/X11/include \
- /usr/local/include/X11 \
- \
- /usr/X386/include \
- /usr/x386/include \
- /usr/XFree86/include/X11 \
- \
- /usr/include \
- /usr/local/include \
- /usr/unsupported/include \
- /usr/athena/include \
- /usr/local/x11r5/include \
- /usr/lpp/Xamples/include \
- \
- /usr/openwin/include \
- /usr/openwin/share/include \
- ; \
- do
- if test -r "$ac_dir/$x_direct_test_include"; then
- no_x= ac_x_includes=$ac_dir
- break
- fi
- done])
-
-# Check for the libraries.
-# See if we find them without any special options.
-# Don't add to $LIBS permanently.
-ac_save_LIBS="$LIBS"
-LIBS="$LIBS -l$x_direct_test_library"
-AC_TRY_LINK(, [${x_direct_test_function}()],
-[LIBS="$ac_save_LIBS" no_x= ac_x_libraries=],
-[LIBS="$ac_save_LIBS"
-# First see if replacing the include by lib works.
-for ac_dir in `echo "$ac_x_includes" | sed s/include/lib/` \
- /usr/X11R6/lib \
- /usr/X11R5/lib \
- /usr/X11R4/lib \
- \
- /usr/lib/X11R6 \
- /usr/lib/X11R5 \
- /usr/lib/X11R4 \
- \
- /usr/local/X11R6/lib \
- /usr/local/X11R5/lib \
- /usr/local/X11R4/lib \
- \
- /usr/local/lib/X11R6 \
- /usr/local/lib/X11R5 \
- /usr/local/lib/X11R4 \
- \
- /usr/X11/lib \
- /usr/lib/X11 \
- /usr/local/X11/lib \
- /usr/local/lib/X11 \
- \
- /usr/X386/lib \
- /usr/x386/lib \
- /usr/XFree86/lib/X11 \
- \
- /usr/lib \
- /usr/local/lib \
- /usr/unsupported/lib \
- /usr/athena/lib \
- /usr/local/x11r5/lib \
- /usr/lpp/Xamples/lib \
- \
- /usr/openwin/lib \
- /usr/openwin/share/lib \
- ; \
-do
- for ac_extension in a so sl; do
- if test -r $ac_dir/lib${x_direct_test_library}.$ac_extension; then
- no_x= ac_x_libraries=$ac_dir
- break 2
- fi
- done
-done])])
-
-dnl Find additional X libraries, magic flags, etc.
-AC_DEFUN(AC_PATH_XTRA,
-[AC_REQUIRE([AC_ISC_POSIX])dnl
-AC_REQUIRE([AC_PATH_X])dnl
-if test "$no_x" = yes; then
- # Not all programs may use this symbol, but it does not hurt to define it.
- X_CFLAGS="$X_CFLAGS -DX_DISPLAY_MISSING"
-else
- if test -n "$x_includes"; then
- X_CFLAGS="$X_CFLAGS -I$x_includes"
- fi
-
- # It would be nice to have a more robust check for the -R ld option than
- # just checking for Solaris.
- # It would also be nice to do this for all -L options, not just this one.
- if test -n "$x_libraries"; then
- X_LIBS="$X_LIBS -L$x_libraries"
- if test "`(uname) 2>/dev/null`" = SunOS &&
- uname -r | grep '^5' >/dev/null; then
- X_LIBS="$X_LIBS -R$x_libraries"
- fi
- fi
-
- # Check for libraries that X11R6 Xt/Xaw programs need.
-
- ac_save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS -L$x_libraries"
- # SM needs ICE to (dynamically) link under SunOS 4.x (so we have to
- # check for ICE first), but we must link in the order -lSM -lICE or
- # we get undefined symbols. So assume we have SM if we have ICE.
- # These have to be linked with before -lX11, unlike the other
- # libraries we check for below, so use a different variable.
- # --interran@uluru.Stanford.EDU, kb@cs.umb.edu.
- AC_CHECK_LIB(ICE, IceConnectionNumbers,
- [X_PRE_LIBS="$X_PRE_LIBS -lSM -lICE"])
- LDFLAGS="$ac_save_LDFLAGS"
-
- # Check for system-dependent libraries X programs must link with.
-
- if test "$ISC" = yes; then
- X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl_s -linet"
- else
- # Martyn.Johnson@cl.cam.ac.uk says this is needed for Ultrix, if the X
- # libraries were built with DECnet support. And karl@cs.umb.edu says
- # the Alpha needs dnet_stub (dnet does not exist).
- AC_CHECK_LIB(dnet, dnet_ntoa, [X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet"])
- if test $ac_cv_lib_dnet = no; then
- AC_CHECK_LIB(dnet_stub, dnet_ntoa,
- [X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub"])
- fi
-
- # msh@cis.ufl.edu says -lnsl (and -lsocket) are needed for his 386/AT,
- # to get the SysV transport functions.
- # Not sure which flavor of 386 UNIX this is, but it seems harmless to
- # check for it.
- AC_CHECK_LIB(nsl, t_accept, [X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl"])
-
- # lieder@skyler.mavd.honeywell.com says without -lsocket,
- # socket/setsockopt and other routines are undefined under SCO ODT 2.0.
- # But -lsocket is broken on IRIX, according to simon@lia.di.epfl.ch.
- if test "`(uname) 2>/dev/null`" != IRIX; then
- AC_CHECK_LIB(socket, socket, [X_EXTRA_LIBS="$X_EXTRA_LIBS -lsocket"])
- fi
- fi
-fi
-AC_SUBST(X_CFLAGS)dnl
-AC_SUBST(X_PRE_LIBS)dnl
-AC_SUBST(X_LIBS)dnl
-AC_SUBST(X_EXTRA_LIBS)dnl
-])
-
-
-dnl ### Checks for UNIX variants
-dnl These are kludges which should be replaced by a single POSIX check.
-
-
-AC_DEFUN(AC_AIX,
-[AC_BEFORE([$0], [AC_TRY_COMPILE])dnl
-AC_BEFORE([$0], [AC_TRY_LINK])dnl
-AC_BEFORE([$0], [AC_TRY_RUN])dnl
-AC_MSG_CHECKING(for AIX)
-AC_EGREP_CPP(yes,
-[#ifdef _AIX
- yes
-#endif
-], [AC_MSG_RESULT(yes); AC_DEFINE(_ALL_SOURCE)], AC_MSG_RESULT(no))
-])
-
-AC_DEFUN(AC_MINIX,
-[AC_BEFORE([$0], [AC_TRY_COMPILE])dnl
-AC_BEFORE([$0], [AC_TRY_LINK])dnl
-AC_BEFORE([$0], [AC_TRY_RUN])dnl
-AC_CHECK_HEADER(minix/config.h, MINIX=yes, MINIX=)
-if test "$MINIX" = yes; then
- AC_DEFINE(_POSIX_SOURCE)
- AC_DEFINE(_POSIX_1_SOURCE, 2)
- AC_DEFINE(_MINIX)
-fi
-])
-
-AC_DEFUN(AC_ISC_POSIX,
-[AC_BEFORE([$0], [AC_TRY_LINK])dnl
-AC_BEFORE([$0], [AC_TRY_LINK])dnl
-AC_BEFORE([$0], [AC_TRY_RUN])dnl
-AC_MSG_CHECKING(for POSIXized ISC)
-if test -d /etc/conf/kconfig.d &&
- grep _POSIX_VERSION [/usr/include/sys/unistd.h] >/dev/null 2>&1
-then
- AC_MSG_RESULT(yes)
- ISC=yes # If later tests want to check for ISC.
- AC_DEFINE(_POSIX_SOURCE)
- if test "$GCC" = yes; then
- CC="$CC -posix"
- else
- CC="$CC -Xp"
- fi
-else
- AC_MSG_RESULT(no)
- ISC=
-fi
-])
-
-AC_DEFUN(AC_XENIX_DIR,
-[AC_OBSOLETE([$0], [; instead use AC_HEADER_DIRENT])dnl
-AC_REQUIRE([AC_DIR_HEADER])dnl
-AC_MSG_CHECKING(for Xenix)
-AC_EGREP_CPP(yes,
-[#if defined(M_XENIX) && !defined(M_UNIX)
- yes
-#endif
-], [AC_MSG_RESULT(yes); XENIX=yes], [AC_MSG_RESULT(no); XENIX=])
-if test "$XENIX" = yes; then
- # Make sure -ldir precedes -lx.
- test $ac_header_dirent = dirent.h && LIBS="$LIBS -ldir"
- LIBS="$LIBS -lx"
-fi
-])
-
-AC_DEFUN(AC_DYNIX_SEQ,
-[AC_OBSOLETE([$0], [; instead use AC_FUNC_GETMNTENT])dnl
-AC_CHECK_LIB(seq, getmntent, LIBS="$LIBS -lseq")
-])
-
-AC_DEFUN(AC_IRIX_SUN,
-[AC_OBSOLETE([$0], [; instead use AC_FUNC_GETMNTENT or AC_CHECK_LIB(sun, getpwnam)])dnl
-AC_CHECK_LIB(sun, getmntent, LIBS="$LIBS -lsun")
-])
-
-AC_DEFUN(AC_SCO_INTL,
-[AC_OBSOLETE([$0], [; instead use AC_FUNC_STRFTIME])dnl
-AC_CHECK_LIB(intl, strftime, LIBS="$LIBS -lintl")
-])
diff --git a/util/autoconf/autoconf b/util/autoconf/autoconf
deleted file mode 100755
index 5358738..0000000
--- a/util/autoconf/autoconf
+++ /dev/null
@@ -1,152 +0,0 @@
-#!/bin/sh
-# autoconf -- create `configure' using m4 macros
-# Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-# If given no args, create `configure' from template file `configure.in'.
-# With one arg, create a configure script on standard output from
-# the given template file.
-
-usage="\
-Usage: autoconf [-h] [--help] [-m dir] [--macrodir=dir]
- [-l dir] [--localdir=dir] [--version] [template-file]"
-
-# NLS nuisances.
-# Only set `LANG' and `LC_ALL' to "C" if already set.
-# These must not be set unconditionally because not all systems understand
-# e.g. LANG=C (notably SCO).
-if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
-if test "${LANG+set}" = set; then LANG=C; export LANG; fi
-
-test -z "${AC_MACRODIR}" && AC_MACRODIR=/usr/local/share/autoconf
-test -z "${M4}" && M4=/mit/gnu/rsaixbin/gm4
-case "${M4}" in
-/*) # Handle the case that m4 has moved since we were configured.
- # It may have been found originally in a build directory.
- test -f "${M4}" || M4=m4 ;;
-esac
-
-tmpout=/tmp/acout.$$
-localdir=
-show_version=no
-
-while test $# -gt 0 ; do
- case "${1}" in
- -h | --help | --h* )
- echo "${usage}" 1>&2; exit 0 ;;
- --localdir=* | --l*=* )
- localdir="`echo \"${1}\" | sed -e 's/^[^=]*=//'`"
- shift ;;
- -l | --localdir | --l*)
- shift
- test $# -eq 0 && { echo "${usage}" 1>&2; exit 1; }
- localdir="${1}"
- shift ;;
- --macrodir=* | --m*=* )
- AC_MACRODIR="`echo \"${1}\" | sed -e 's/^[^=]*=//'`"
- shift ;;
- -m | --macrodir | --m* )
- shift
- test $# -eq 0 && { echo "${usage}" 1>&2; exit 1; }
- AC_MACRODIR="${1}"
- shift ;;
- --version | --v* )
- show_version=yes; shift ;;
- -- ) # Stop option processing
- shift; break ;;
- - ) # Use stdin as input.
- break ;;
- -* )
- echo "${usage}" 1>&2; exit 1 ;;
- * )
- break ;;
- esac
-done
-
-if test $show_version = yes; then
- version=`sed -n 's/define.AC_ACVERSION.[ ]*\([0-9.]*\).*/\1/p' \
- $AC_MACRODIR/acgeneral.m4`
- echo "Autoconf version $version"
- exit 0
-fi
-
-case $# in
- 0) infile=configure.in ;;
- 1) infile="$1" ;;
- *) echo "$usage" >&2; exit 1 ;;
-esac
-
-trap 'rm -f $tmpin $tmpout; exit 1' 1 2 15
-
-tmpin=/tmp/acin.$$ # Always set this, to avoid bogus errors from some rm's.
-if test z$infile = z-; then
- infile=$tmpin
- cat > $infile
-elif test ! -r "$infile"; then
- echo "autoconf: ${infile}: No such file or directory" >&2
- exit 1
-fi
-
-if test -n "$localdir"; then
- use_localdir="-I$localdir -DAC_LOCALDIR=$localdir"
-else
- use_localdir=
-fi
-
-# Use the frozen version of Autoconf if available.
-r= f=
-# Some non-GNU m4's don't reject the --help option, so give them /dev/null.
-case `$M4 --help < /dev/null 2>&1` in
-*reload-state*) test -r $AC_MACRODIR/autoconf.m4f && { r=--reload f=f; } ;;
-*traditional*) ;;
-*) echo Autoconf requires GNU m4 1.1 or later >&2; rm -f $tmpin; exit 1 ;;
-esac
-
-$M4 -I$AC_MACRODIR $use_localdir $r autoconf.m4$f $infile > $tmpout ||
- { rm -f $tmpin $tmpout; exit 2; }
-
-# You could add your own prefixes to pattern if you wanted to check for
-# them too, e.g. pattern="AC_\|ILT_", except that UNIX sed doesn't do
-# alternation.
-pattern="AC_"
-
-status=0
-if grep "${pattern}" $tmpout > /dev/null 2>&1; then
- echo "autoconf: Undefined macros:" >&2
- grep "${pattern}" $tmpout | sed "s/.*\(${pattern}[_A-Z0-9]*\).*/\1/" |
- while read name; do
- grep -n $name $infile /dev/null
- done | sort -u >&2
- status=1
-fi
-
-if test $# -eq 0; then
- exec 4> configure; chmod +x configure
-else
- exec 4>&1
-fi
-
-# Put the real line numbers into configure to make config.log more helpful.
-awk '
-/__oline__/ { printf "%d:", NR + 1 }
- { print }
-' $tmpout | sed '
-/__oline__/s/^\([0-9][0-9]*\):\(.*\)__oline__\(.*\)$/\2\1\3/
-' >&4
-
-rm -f $tmpout
-
-exit $status
diff --git a/util/autoconf/autoconf.info b/util/autoconf/autoconf.info
deleted file mode 100644
index cec6b13..0000000
--- a/util/autoconf/autoconf.info
+++ /dev/null
@@ -1,152 +0,0 @@
-This is Info file autoconf.info, produced by Makeinfo-1.55 from the
-input file ./autoconf.texi.
-
-START-INFO-DIR-ENTRY
-* Autoconf: (autoconf). Create source code configuration scripts.
-END-INFO-DIR-ENTRY
-
- This file documents the GNU Autoconf package for creating scripts to
-configure source code packages using templates and an `m4' macro
-package.
-
- Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc.
-
- Permission is granted to make and distribute verbatim copies of this
-manual provided the copyright notice and this permission notice are
-preserved on all copies.
-
- Permission is granted to copy and distribute modified versions of
-this manual under the conditions for verbatim copying, provided that
-the entire resulting derived work is distributed under the terms of a
-permission notice identical to this one.
-
- Permission is granted to copy and distribute translations of this
-manual into another language, under the above conditions for modified
-versions, except that this permission notice may be stated in a
-translation approved by the Foundation.
-
-
-Indirect:
-autoconf.info-1: 1085
-autoconf.info-2: 51012
-autoconf.info-3: 100216
-autoconf.info-4: 150192
-autoconf.info-5: 198408
-
-Tag Table:
-(Indirect)
-Node: Top1085
-Node: Introduction9210
-Node: Making configure Scripts13050
-Node: Writing configure.in16115
-Node: Invoking autoscan19815
-Node: Invoking ifnames22120
-Node: Invoking autoconf23610
-Node: Invoking autoreconf25448
-Node: Setup27768
-Node: Input28654
-Node: Output30270
-Node: Makefile Substitutions33020
-Node: Preset Output Variables34602
-Node: Build Directories37840
-Node: Automatic Remaking39566
-Node: Configuration Headers41632
-Node: Header Templates43999
-Node: Invoking autoheader45178
-Node: Subdirectories48265
-Node: Default Prefix49608
-Node: Versions51012
-Node: Existing Tests52914
-Node: Alternative Programs54379
-Node: Particular Programs55043
-Node: Generic Programs60893
-Node: Libraries62570
-Node: Library Functions64399
-Node: Particular Functions64957
-Node: Generic Functions70704
-Node: Header Files72545
-Node: Particular Headers73104
-Node: Generic Headers80075
-Node: Structures81375
-Node: Typedefs83612
-Node: Particular Typedefs84116
-Node: Generic Typedefs85316
-Node: Compiler Characteristics85759
-Node: System Services88215
-Node: UNIX Variants90536
-Node: Writing Tests92555
-Node: Examining Declarations94327
-Node: Examining Syntax96793
-Node: Examining Libraries97848
-Node: Run Time100216
-Node: Test Programs101177
-Node: Guidelines103712
-Node: Test Functions104901
-Node: Portable Shell106444
-Node: Testing Values and Files108096
-Node: Multiple Cases109751
-Node: Language Choice110949
-Node: Results112507
-Node: Defining Symbols113266
-Node: Setting Output Variables116275
-Node: Caching Results118121
-Node: Cache Variable Names120023
-Node: Cache Files121572
-Node: Printing Messages123357
-Node: Writing Macros126644
-Node: Macro Definitions127263
-Node: Macro Names128368
-Node: Quoting130819
-Node: Dependencies Between Macros132721
-Node: Prerequisite Macros133353
-Node: Suggested Ordering134808
-Node: Obsolete Macros136338
-Node: Manual Configuration137562
-Node: Specifying Names138471
-Node: Canonicalizing140343
-Node: System Type Variables141657
-Node: Using System Type142404
-Node: Site Configuration143684
-Node: External Software144457
-Node: Package Options146922
-Node: Site Details148978
-Node: Transforming Names150192
-Node: Transformation Options151371
-Node: Transformation Examples151837
-Node: Transformation Rules153405
-Node: Site Defaults154814
-Node: Invoking configure157976
-Node: Basic Installation158917
-Node: Compilers and Options161239
-Node: Build Directory161881
-Node: Installation Names162582
-Node: Optional Features163500
-Node: System Type164270
-Node: Sharing Defaults165292
-Node: Operation Controls165916
-Node: Invoking config.status166780
-Node: Questions170168
-Node: Distributing170700
-Node: Why GNU m4171826
-Node: Bootstrapping172639
-Node: Why Not Imake173255
-Node: Upgrading177836
-Node: Changed File Names179357
-Node: Changed Makefiles180093
-Node: Changed Macros181173
-Node: Invoking autoupdate182420
-Node: Changed Results184011
-Node: Changed Macro Writing186113
-Node: History187376
-Node: Genesis188083
-Node: Exodus189256
-Node: Leviticus192305
-Node: Numbers193828
-Node: Deuteronomy195744
-Node: Old Macro Names198408
-Node: Environment Variable Index201457
-Node: Output Variable Index202459
-Node: Preprocessor Symbol Index206540
-Node: Macro Index211348
-
-End Tag Table
diff --git a/util/autoconf/autoconf.info-1 b/util/autoconf/autoconf.info-1
deleted file mode 100644
index f49358c..0000000
--- a/util/autoconf/autoconf.info-1
+++ /dev/null
@@ -1,1156 +0,0 @@
-This is Info file autoconf.info, produced by Makeinfo-1.55 from the
-input file ./autoconf.texi.
-
-START-INFO-DIR-ENTRY
-* Autoconf: (autoconf). Create source code configuration scripts.
-END-INFO-DIR-ENTRY
-
- This file documents the GNU Autoconf package for creating scripts to
-configure source code packages using templates and an `m4' macro
-package.
-
- Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc.
-
- Permission is granted to make and distribute verbatim copies of this
-manual provided the copyright notice and this permission notice are
-preserved on all copies.
-
- Permission is granted to copy and distribute modified versions of
-this manual under the conditions for verbatim copying, provided that
-the entire resulting derived work is distributed under the terms of a
-permission notice identical to this one.
-
- Permission is granted to copy and distribute translations of this
-manual into another language, under the above conditions for modified
-versions, except that this permission notice may be stated in a
-translation approved by the Foundation.
-
-
-File: autoconf.info, Node: Top, Next: Introduction, Up: (dir)
-
- This file documents the GNU Autoconf package for creating scripts to
-configure source code packages using templates and an `m4' macro
-package. This is edition 2.1, for Autoconf version 2.1.
-
-* Menu:
-
-* Introduction:: Autoconf's purpose, strengths, and weaknesses.
-* Making configure Scripts:: How to organize and produce Autoconf scripts.
-* Setup:: Initialization and output.
-* Existing Tests:: Macros that check for particular features.
-* Writing Tests:: How to write new feature checks.
-* Results:: What to do with results from feature checks.
-* Writing Macros:: Adding new macros to Autoconf.
-* Manual Configuration:: Selecting features that can't be guessed.
-* Site Configuration:: Local defaults for `configure'.
-* Invoking configure:: How to use the Autoconf output.
-* Invoking config.status:: Recreating a configuration.
-* Questions:: Questions about Autoconf, with answers.
-* Upgrading:: Tips for upgrading from version 1.
-* History:: History of Autoconf.
-* Old Macro Names:: Backward compatibility macros.
-* Environment Variable Index:: Index of environment variables used.
-* Output Variable Index:: Index of variables set in output files.
-* Preprocessor Symbol Index:: Index of C preprocessor symbols defined.
-* Macro Index:: Index of Autoconf macros.
-
- -- The Detailed Node Listing --
-
-Making `configure' Scripts
-
-* Writing configure.in:: What to put in an Autoconf input file.
-* Invoking autoscan:: Semi-automatic `configure.in' writing.
-* Invoking ifnames:: Listing the conditionals in source code.
-* Invoking autoconf:: How to create configuration scripts.
-* Invoking autoreconf:: Remaking multiple `configure' scripts.
-
-Initialization and Output Files
-
-* Input:: Where Autoconf should find files.
-* Output:: Creating output files.
-* Makefile Substitutions:: Using output variables in `Makefile's.
-* Configuration Headers:: Creating a configuration header file.
-* Subdirectories:: Configuring independent packages together.
-* Default Prefix:: Changing the default installation prefix.
-* Versions:: Version numbers in `configure'.
-
-Substitutions in Makefiles
-
-* Preset Output Variables:: Output variables that are always set.
-* Build Directories:: Compiling in a different directory.
-* Automatic Remaking:: Makefile rules for configuring.
-
-Configuration Header Files
-
-* Header Templates:: Input for the configuration headers.
-* Invoking autoheader:: How to create configuration templates.
-
-Existing Tests
-
-* Alternative Programs:: Selecting between alternative programs.
-* Libraries:: Library archives that might be missing.
-* Library Functions:: C library functions that might be missing.
-* Header Files:: Header files that might be missing.
-* Structures:: Structures or members that might be missing.
-* Typedefs:: `typedef's that might be missing.
-* Compiler Characteristics:: C compiler or machine architecture features.
-* System Services:: Operating system services.
-* UNIX Variants:: Special kludges for specific UNIX variants.
-
-Alternative Programs
-
-* Particular Programs:: Special handling to find certain programs.
-* Generic Programs:: How to find other programs.
-
-Library Functions
-
-* Particular Functions:: Special handling to find certain functions.
-* Generic Functions:: How to find other functions.
-
-Header Files
-
-* Particular Headers:: Special handling to find certain headers.
-* Generic Headers:: How to find other headers.
-
-Typedefs
-
-* Particular Typedefs:: Special handling to find certain types.
-* Generic Typedefs:: How to find other types.
-
-Writing Tests
-
-* Examining Declarations:: Detecting header files and declarations.
-* Examining Syntax:: Detecting language syntax features.
-* Examining Libraries:: Detecting functions and global variables.
-* Run Time:: Testing for run-time features.
-* Portable Shell:: Shell script portability pitfalls.
-* Testing Values and Files:: Checking strings and files.
-* Multiple Cases:: Tests for several possible values.
-* Language Choice:: Selecting which language to use for testing.
-
-Checking Run Time Behavior
-
-* Test Programs:: Running test programs.
-* Guidelines:: General rules for writing test programs.
-* Test Functions:: Avoiding pitfalls in test programs.
-
-Results of Tests
-
-* Defining Symbols:: Defining C preprocessor symbols.
-* Setting Output Variables:: Replacing variables in output files.
-* Caching Results:: Speeding up subsequent `configure' runs.
-* Printing Messages:: Notifying users of progress or problems.
-
-Caching Results
-
-* Cache Variable Names:: Shell variables used in caches.
-* Cache Files:: Files `configure' uses for caching.
-
-Writing Macros
-
-* Macro Definitions:: Basic format of an Autoconf macro.
-* Macro Names:: What to call your new macros.
-* Quoting:: Protecting macros from unwanted expansion.
-* Dependencies Between Macros:: What to do when macros depend on other macros.
-
-Dependencies Between Macros
-
-* Prerequisite Macros:: Ensuring required information.
-* Suggested Ordering:: Warning about possible ordering problems.
-* Obsolete Macros:: Warning about old ways of doing things.
-
-Manual Configuration
-
-* Specifying Names:: Specifying the system type.
-* Canonicalizing:: Getting the canonical system type.
-* System Type Variables:: Variables containing the system type.
-* Using System Type:: What to do with the system type.
-
-Site Configuration
-
-* External Software:: Working with other optional software.
-* Package Options:: Selecting optional features.
-* Site Details:: Configuring site details.
-* Transforming Names:: Changing program names when installing.
-* Site Defaults:: Giving `configure' local defaults.
-
-Transforming Program Names When Installing
-
-* Transformation Options:: `configure' options to transforme names.
-* Transformation Examples:: Sample uses of transforming names.
-* Transformation Rules:: `Makefile' uses of transforming names.
-
-Running `configure' Scripts
-
-* Basic Installation:: Instructions for typical cases.
-* Compilers and Options:: Selecting compilers and optimization.
-* Build Directory:: Configuring in a different directory.
-* Installation Names:: Installing in different directories.
-* Optional Features:: Selecting optional features.
-* System Type:: Specifying the system type.
-* Sharing Defaults:: Setting site-wide defaults for `configure'.
-* Operation Controls:: Changing how `configure' runs.
-
-Questions About Autoconf
-
-* Distributing:: Distributing `configure' scripts.
-* Why GNU m4:: Why not use the standard `m4'?
-* Bootstrapping:: Autoconf and GNU `m4' require each other?
-* Why Not Imake:: Why GNU uses `configure' instead of Imake.
-
-Upgrading From Version 1
-
-* Changed File Names:: Files you might rename.
-* Changed Makefiles:: New things to put in `Makefile.in'.
-* Changed Macros:: Macro calls you might replace.
-* Invoking autoupdate:: Replacing old macro names in `configure.in'.
-* Changed Results:: Changes in how to check test results.
-* Changed Macro Writing:: Better ways to write your own macros.
-
-History of Autoconf
-
-* Genesis:: Prehistory and naming of `configure'.
-* Exodus:: The plagues of `m4' and Perl.
-* Leviticus:: The priestly code of portability arrives.
-* Numbers:: Growth and contributors.
-* Deuteronomy:: Approaching the promises of easy configuration.
-
-
-File: autoconf.info, Node: Introduction, Next: Making configure Scripts, Prev: Top, Up: Top
-
-Introduction
-************
-
- A physicist, an engineer, and a computer scientist were
- discussing the nature of God. Surely a Physicist, said the
- physicist, because early in the Creation, God made Light; and you
- know, Maxwell's equations, the dual nature of electro-magnetic
- waves, the relativist consequences... An Engineer!, said the
- engineer, because before making Light, God split the Chaos into
- Land and Water; it takes a hell of an engineer to handle that big
- amount of mud, and orderly separation of solids from
- liquids... The computer scientist shouted: And the Chaos,
- where do you think it was coming from, hmm?
-
- ---Anonymous
-
- Autoconf is a tool for producing shell scripts that automatically
-configure software source code packages to adapt to many kinds of
-UNIX-like systems. The configuration scripts produced by Autoconf are
-independent of Autoconf when they are run, so their users do not need to
-have Autoconf.
-
- The configuration scripts produced by Autoconf require no manual user
-intervention when run; they do not normally even need an argument
-specifying the system type. Instead, they test for the presence of each
-feature that the software package they are for might need individually.
-(Before each check, they print a one-line message stating what they are
-checking for, so the user doesn't get too bored while waiting for the
-script to finish.) As a result, they deal well with systems that are
-hybrids or customized from the more common UNIX variants. There is no
-need to maintain files that list the features supported by each release
-of each variant of UNIX.
-
- For each software package that Autoconf is used with, it creates a
-configuration script from a template file that lists the system
-features that the package needs or can use. After the shell code to
-recognize and respond to a system feature has been written, Autoconf
-allows it to be shared by many software packages that can use (or need)
-that feature. If it later turns out that the shell code needs
-adjustment for some reason, it needs to be changed in only one place;
-all of the configuration scripts can be regenerated automatically to
-take advantage of the updated code.
-
- The Metaconfig package is similar in purpose to Autoconf, but the
-scripts it produces require manual user intervention, which is quite
-inconvenient when configuring large source trees. Unlike Metaconfig
-scripts, Autoconf scripts can support cross-compiling, if some care is
-taken in writing them.
-
- There are several jobs related to making portable software packages
-that Autoconf currently does not do. Among these are automatically
-creating `Makefile' files with all of the standard targets, and
-supplying replacements for standard library functions and header files
-on systems that lack them. Work is in progress to add those features in
-the future.
-
- Autoconf imposes some restrictions on the names of macros used with
-`#ifdef' in C programs (*note Preprocessor Symbol Index::.).
-
- Autoconf requires GNU `m4' in order to generate the scripts. It
-uses features that some UNIX versions of `m4' do not have. It also
-overflows internal limits of some versions of `m4', including GNU `m4'
-1.0. You must use version 1.1 or later of GNU `m4'. Using version 1.3
-or later will be much faster than 1.1 or 1.2.
-
- *Note Upgrading::, for information about upgrading from version 1.
-*Note History::, for the story of Autoconf's development. *Note
-Questions::, for answers to some common questions about Autoconf.
-
- Mail suggestions and bug reports for Autoconf to
-`bug-gnu-utils@prep.ai.mit.edu'. Please include the Autoconf version
-number, which you can get by running `autoconf --version'.
-
-
-File: autoconf.info, Node: Making configure Scripts, Next: Setup, Prev: Introduction, Up: Top
-
-Making `configure' Scripts
-**************************
-
- The configuration scripts that Autoconf produces are by convention
-called `configure'. When run, `configure' creates several files,
-replacing configuration parameters in them with appropriate values.
-The files that `configure' creates are:
-
- * one or more `Makefile' files, one in each subdirectory of the
- package (*note Makefile Substitutions::.);
-
- * optionally, a C header file, the name of which is configurable,
- containing `#define' directives (*note Configuration Headers::.);
-
- * a shell script called `config.status' that, when run, will recreate
- the files listed above (*note Invoking config.status::.);
-
- * a shell script called `config.cache' that saves the results of
- running many of the tests (*note Cache Files::.);
-
- * a file called `config.log' containing any messages produced by
- compilers, to help debugging if `configure' makes a mistake.
-
- To create a `configure' script with Autoconf, you need to write an
-Autoconf input file `configure.in' and run `autoconf' on it. If you
-write your own feature tests to supplement those that come with
-Autoconf, you might also write files called `aclocal.m4' and
-`acsite.m4'. If you use a C header file to contain `#define'
-directives, you might also write `acconfig.h', and you will distribute
-the Autoconf-generated file `config.h.in' with the package.
-
- Here is a diagram showing how the files that can be used in
-configuration are produced. Programs that are executed are suffixed by
-`*'. Optional files are enclosed in square brackets (`[]').
-`autoconf' and `autoheader' also read the installed Autoconf macro
-files (by reading `autoconf.m4').
-
-Files used in preparing a software package for distribution:
- your source files --> [autoscan*] --> [configure.scan] --> configure.in
-
- configure.in --. .------> autoconf* -----> configure
- +---+
- [aclocal.m4] --+ `---.
- [acsite.m4] ---' |
- +--> [autoheader*] -> [config.h.in]
- [acconfig.h] ----. |
- +-----'
- [config.h.top] --+
- [config.h.bot] --'
-
- Makefile.in -------------------------------> Makefile.in
-
-Files used in configuring a software package:
- .-------------> config.cache
- configure* ------------+-------------> config.log
- |
- [config.h.in] -. v .-> [config.h] -.
- +--> config.status* -+ +--> make*
- Makefile.in ---' `-> Makefile ---'
-
-* Menu:
-
-* Writing configure.in:: What to put in an Autoconf input file.
-* Invoking autoscan:: Semi-automatic `configure.in' writing.
-* Invoking ifnames:: Listing the conditionals in source code.
-* Invoking autoconf:: How to create configuration scripts.
-* Invoking autoreconf:: Remaking multiple `configure' scripts.
-
-
-File: autoconf.info, Node: Writing configure.in, Next: Invoking autoscan, Up: Making configure Scripts
-
-Writing `configure.in'
-======================
-
- To produce a `configure' script for a software package, create a
-file called `configure.in' that contains invocations of the Autoconf
-macros that test the system features your package needs or can use.
-Autoconf macros already exist to check for many features; see *Note
-Existing Tests::, for their descriptions. For most other features, you
-can use Autoconf template macros to produce custom checks; see *Note
-Writing Tests::, for information about them. For especially tricky or
-specialized features, `configure.in' might need to contain some
-hand-crafted shell commands. The `autoscan' program can give you a
-good start in writing `configure.in' (*note Invoking autoscan::., for
-more information).
-
- The order in which `configure.in' calls the Autoconf macros is not
-important, with a few exceptions. Every `configure.in' must contain a
-call to `AC_INIT' before the checks, and a call to `AC_OUTPUT' at the
-end (*note Output::.). Additionally, some macros rely on other macros
-having been called first, because they check previously set values of
-some variables to decide what to do. These macros are noted in the
-individual descriptions (*note Existing Tests::.), and they also warn
-you when creating `configure' if they are called out of order.
-
- To encourage consistency, here is a suggested order for calling the
-Autoconf macros. Generally speaking, the things near the end of this
-list could depend on things earlier in it. For example, library
-functions could be affected by typedefs and libraries.
-
- `AC_INIT(FILE)'
- checks for programs
- checks for libraries
- checks for header files
- checks for typedefs
- checks for structures
- checks for compiler characteristics
- checks for library functions
- checks for system services
- `AC_OUTPUT([FILE...])'
-
- It is best to put each macro call on its own line in `configure.in'.
-Most of the macros don't add extra newlines; they rely on the newline
-after the macro call to terminate the commands. This approach makes
-the generated `configure' script a little easier to read by not
-inserting lots of blank lines. It is generally safe to set shell
-variables on the same line as a macro call, because the shell allows
-assignments without intervening newlines.
-
- When calling macros that take arguments, there must not be any blank
-space between the macro name and the open parenthesis. Arguments can be
-more than one line long if they are enclosed within the `m4' quote
-characters `[' and `]'. If you have a long line such as a list of file
-names, you can generally use a backslash at the end of a line to
-continue it logically on the next line (this is implemented by the
-shell, not by anything special that Autoconf does).
-
- Some macros handle two cases: what to do if the given condition is
-met, and what to do if the condition is not met. In some places you
-might want to do something if a condition is true but do nothing if it's
-false, or vice versa. To omit the true case, pass an empty value for
-the ACTION-IF-FOUND argument to the macro. To omit the false case,
-omit the ACTION-IF-NOT-FOUND argument to the macro, including the comma
-before it.
-
- You can include comments in `configure.in' files by starting them
-with the `m4' builtin macro `dnl', which discards text up through the
-next newline. These comments do not appear in the generated
-`configure' scripts. For example, it is helpful to begin
-`configure.in' files with a line like this:
-
- dnl Process this file with autoconf to produce a configure script.
-
-
-File: autoconf.info, Node: Invoking autoscan, Next: Invoking ifnames, Prev: Writing configure.in, Up: Making configure Scripts
-
-Using `autoscan' to Create `configure.in'
-=========================================
-
- The `autoscan' program can help you create a `configure.in' file for
-a software package. `autoscan' examines source files in the directory
-tree rooted at a directory given as a command line argument, or the
-current directory if none is given. It searches the source files for
-common portability problems and creates a file `configure.scan' which
-is a preliminary `configure.in' for that package.
-
- You should manually examine `configure.scan' before renaming it to
-`configure.in'; it will probably need some adjustments. Occasionally
-`autoscan' outputs a macro in the wrong order relative to another
-macro, so that `autoconf' produces a warning; you need to move such
-macros manually. Also, if you want the package to use a configuration
-header file, you must add a call to `AC_CONFIG_HEADER' (*note
-Configuration Headers::.). You might also have to change or add some
-`#if' directives to your program in order to make it work with Autoconf
-(*note Invoking ifnames::., for information about a program that can
-help with that job).
-
- `autoscan' uses several data files, which are installed along with
-the distributed Autoconf macro files, to determine which macros to
-output when it finds particular symbols in a package's source files.
-These files all have the same format. Each line consists of a symbol,
-whitespace, and the Autoconf macro to output if that symbol is
-encountered. Lines starting with `#' are comments.
-
- `autoscan' is only installed if you already have Perl installed.
-`autoscan' accepts the following options:
-
-`--help'
- Print a summary of the command line options and exit.
-
-`--macrodir=DIR'
- Look for the data files in directory DIR instead of the default
- installation directory. You can also set the `AC_MACRODIR'
- environment variable to a directory; this option overrides the
- environment variable.
-
-`--verbose'
- Print the names of the files it examines and the potentially
- interesting symbols it finds in them. This output can be
- voluminous.
-
-`--version'
- Print the version number of Autoconf and exit.
-
-
-File: autoconf.info, Node: Invoking ifnames, Next: Invoking autoconf, Prev: Invoking autoscan, Up: Making configure Scripts
-
-Using `ifnames' to List Conditionals
-====================================
-
- `ifnames' can help when writing a `configure.in' for a software
-package. It prints the identifiers that the package already uses in C
-preprocessor conditionals. If a package has already been set up to
-have some portability, this program can help you figure out what its
-`configure' needs to check for. It may help fill in some gaps in a
-`configure.in' generated by `autoscan' (*note Invoking autoscan::.).
-
- `ifnames' scans all of the C source files named on the command line
-(or the standard input, if none are given) and writes to the standard
-output a sorted list of all the identifiers that appear in those files
-in `#if', `#elif', `#ifdef', or `#ifndef' directives. It prints each
-identifier on a line, followed by a space-separated list of the files
-in which that identifier occurs.
-
-`ifnames' accepts the following options:
-
-`--help'
-`-h'
- Print a summary of the command line options and exit.
-
-`--macrodir=DIR'
-`-m DIR'
- Look for the Autoconf macro files in directory DIR instead of the
- default installation directory. Only used to get the version
- number. You can also set the `AC_MACRODIR' environment variable
- to a directory; this option overrides the environment variable.
-
-`--version'
- Print the version number of Autoconf and exit.
-
-
-File: autoconf.info, Node: Invoking autoconf, Next: Invoking autoreconf, Prev: Invoking ifnames, Up: Making configure Scripts
-
-Using `autoconf' to Create `configure'
-======================================
-
- To create `configure' from `configure.in', run the `autoconf'
-program with no arguments. `autoconf' processes `configure.in' with
-the `m4' macro processor, using the Autoconf macros. If you give
-`autoconf' an argument, it reads that file instead of `configure.in'
-and writes the configuration script to the standard output instead of
-to `configure'. If you give `autoconf' the argument `-', it reads the
-standard input instead of `configure.in' and writes the configuration
-script on the standard output.
-
- The Autoconf macros are defined in several files. Some of the files
-are distributed with Autoconf; `autoconf' reads them first. Then it
-looks for the optional file `acsite.m4' in the directory that contains
-the distributed Autoconf macro files, and for the optional file
-`aclocal.m4' in the current directory. Those files can contain your
-site's or the package's own Autoconf macro definitions (*note Writing
-Macros::., for more information). If a macro is defined in more than
-one of the files that `autoconf' reads, the last definition it reads
-overrides the earlier ones.
-
- `autoconf' accepts the following options:
-
-`--help'
-`-h'
- Print a summary of the command line options and exit.
-
-`--localdir=DIR'
-`-l DIR'
- Look for the package file `aclocal.m4' in directory DIR instead of
- in the current directory.
-
-`--macrodir=DIR'
-`-m DIR'
- Look for the installed macro files in directory DIR. You can also
- set the `AC_MACRODIR' environment variable to a directory; this
- option overrides the environment variable.
-
-`--version'
- Print the version number of Autoconf and exit.
-
-
-File: autoconf.info, Node: Invoking autoreconf, Prev: Invoking autoconf, Up: Making configure Scripts
-
-Using `autoreconf' to Update `configure' Scripts
-================================================
-
- If you have a lot of Autoconf-generated `configure' scripts, the
-`autoreconf' program can save you some work. It runs `autoconf' (and
-`autoheader', where appropriate) repeatedly to remake the Autoconf
-`configure' scripts and configuration header templates in the directory
-tree rooted at the current directory. By default, it only remakes
-those files that are older than their `configure.in' or (if present)
-`aclocal.m4'. Since `autoheader' does not change the timestamp of its
-output file if the file wouldn't be changing, this is not necessarily
-the minimum amount of work. If you install a new version of Autoconf,
-you can make `autoreconf' remake *all* of the files by giving it the
-`--force' option.
-
- If you give `autoreconf' the `--macrodir=DIR' or `--localdir=DIR'
-options, it passes them down to `autoconf' and `autoheader' (with
-relative paths adjusted properly).
-
- *Note Automatic Remaking::, for `Makefile' rules to automatically
-remake `configure' scripts when their source files change. That method
-handles the timestamps of configuration header templates properly, but
-does not pass `--macrodir=DIR' or `--localdir=DIR'.
-
-`autoreconf' accepts the following options:
-
-`--help'
-`-h'
- Print a summary of the command line options and exit.
-
-`--force'
-`-f'
- Remake even `configure' scripts and configuration headers that are
- newer than their input files (`configure.in' and, if present,
- `aclocal.m4').
-
-`--localdir=DIR'
-`-l DIR'
- Look for the package files `aclocal.m4' and `acconfig.h' (but not
- `FILE.top' and `FILE.bot') in directory DIR instead of in the
- directory containing each `configure.in'.
-
-`--macrodir=DIR'
-`-m DIR'
- Look for the Autoconf macro files in directory DIR instead of the
- default installation directory. You can also set the `AC_MACRODIR'
- environment variable to a directory; this option overrides the
- environment variable.
-
-`--verbose'
- Print the name of each directory where `autoreconf' runs
- `autoconf' (and `autoheader', if appropriate).
-
-`--version'
- Print the version number of Autoconf and exit.
-
-
-File: autoconf.info, Node: Setup, Next: Existing Tests, Prev: Making configure Scripts, Up: Top
-
-Initialization and Output Files
-*******************************
-
- Autoconf-generated `configure' scripts need some information about
-how to initialize, such as how to find the package's source files; and
-about the output files to produce. The following sections describe
-initialization and creating output files.
-
-* Menu:
-
-* Input:: Where Autoconf should find files.
-* Output:: Creating output files.
-* Makefile Substitutions:: Using output variables in `Makefile's.
-* Configuration Headers:: Creating a configuration header file.
-* Subdirectories:: Configuring independent packages together.
-* Default Prefix:: Changing the default installation prefix.
-* Versions:: Version numbers in `configure'.
-
-
-File: autoconf.info, Node: Input, Next: Output, Up: Setup
-
-Finding `configure' Input
-=========================
-
- Every `configure' script must call `AC_INIT' before doing anything
-else. The only other required macro is `AC_OUTPUT' (*note Output::.).
-
- - Macro: AC_INIT (UNIQUE-FILE-IN-SOURCE-DIR)
- Process any command-line arguments and find the source code
- directory. UNIQUE-FILE-IN-SOURCE-DIR is some file that is in the
- package's source directory; `configure' checks for this file's
- existence to make sure that the directory that it is told contains
- the source code in fact does (*note Invoking configure::., for
- more information).
-
- Packages that do manual configuration or use the `install' program
-might need to tell `configure' where to find some other shell scripts
-by calling `AC_CONFIG_AUX_DIR', though the default places it looks are
-correct for most cases.
-
- - Macro: AC_CONFIG_AUX_DIR(DIR)
- Use the `install-sh', `config.sub', `config.guess', and Cygnus
- `configure' scripts that are in directory DIR. These are
- auxiliary files used in configuration. DIR can be either absolute
- or relative to `SRCDIR'. The default is `SRCDIR' or `SRCDIR/..' or
- `SRCDIR/../..', whichever is the first that contains `install-sh'.
- The other files are not checked for, so that using
- `AC_PROG_INSTALL' does not automatically require distributing the
- other auxiliary files. It checks for `install.sh' also, but that
- name is obsolete because some `make' programs have a rule that
- creates `install' from it if there is no `Makefile'.
-
-
-File: autoconf.info, Node: Output, Next: Makefile Substitutions, Prev: Input, Up: Setup
-
-Creating Output Files
-=====================
-
- Every Autoconf-generated `configure' script must finish by calling
-`AC_OUTPUT'. It is the macro that creates the `Makefile's and optional
-other files resulting from configuration. The only other required
-macro is `AC_INIT' (*note Input::.).
-
- - Macro: AC_OUTPUT ([FILE...] [,EXTRA-CMDS] [,INIT-CMDS])
- Create output files. The FILE... argument is a
- whitespace-separated list of output files; it may be empty. This
- macro creates each file `FILE' by copying an input file (by default
- named `FILE.in'), substituting the output variable values. *Note
- Makefile Substitutions::, for more information on using output
- variables. *Note Setting Output Variables::, for more information
- on creating them. This macro creates the directory that the file
- is in if it doesn't exist (but not the parents of that directory).
- Usually, `Makefile's are created this way, but other files, such
- as `.gdbinit', can be specified as well.
-
- If `AC_CONFIG_HEADER', `AC_LINK_FILES', or `AC_CONFIG_SUBDIRS' has
- been called, this macro also creates the files named as their
- arguments.
-
- A typical call to `AC_OUTPUT' looks like this:
- AC_OUTPUT(Makefile src/Makefile man/Makefile X/Imakefile)
-
- You can override an input file name by appending it to FILE,
- separated by a colon. For example,
- AC_OUTPUT(Makefile:templates/top.mk lib/Makefile:templates/lib.mk)
-
- If you pass EXTRA-CMDS, those commands will be inserted into
- `config.status' to be run after all its other processing. If
- INIT-CMDS are given, they are inserted just before EXTRA-CMDS,
- with shell variable, command, and backslash substitutions
- performed on them in `configure'. You can use INIT-CMDS to pass
- variables from `configure' to the EXTRA-CMDS.
-
- If you run `make' on subdirectories, you should run it using the
-`make' variable `MAKE'. Most versions of `make' set `MAKE' to the name
-of the `make' program plus any options it was given. (But many do not
-include in it the values of any variables set on the command line, so
-those are not passed on automatically.) Some old versions of `make' do
-not set this variable. The following macro allows you to use it even
-with those versions.
-
- - Macro: AC_PROG_MAKE_SET
- If `make' predefines the variable `MAKE', define output variable
- `SET_MAKE' to be empty. Otherwise, define `SET_MAKE' to contain
- `MAKE=make'. Calls `AC_SUBST' for `SET_MAKE'.
-
- To use this macro, place a line like this in each `Makefile.in' that
-runs `MAKE' on other directories:
-
- @SET_MAKE@
-
-
-File: autoconf.info, Node: Makefile Substitutions, Next: Configuration Headers, Prev: Output, Up: Setup
-
-Substitutions in Makefiles
-==========================
-
- Each subdirectory in a distribution that contains something to be
-compiled or installed should come with a file `Makefile.in', from which
-`configure' will create a `Makefile' in that directory. To create a
-`Makefile', `configure' performs a simple variable substitution,
-replacing occurrences of `@VARIABLE@' in `Makefile.in' with the value
-that `configure' has determined for that variable. Variables that are
-substituted into output files in this way are called "output
-variables". They are ordinary shell variables that are set in
-`configure'. To make `configure' substitute a particular variable into
-the output files, the macro `AC_SUBST' must be called with that
-variable name as an argument. Any occurrences of `@VARIABLE@' for
-other variables are left unchanged. *Note Setting Output Variables::,
-for more information on creating output variables with `AC_SUBST'.
-
- A software package that uses a `configure' script should be
-distributed with a file `Makefile.in', but no `Makefile'; that way, the
-user has to properly configure the package for the local system before
-compiling it.
-
- *Note Makefile Conventions: (standards.info)Makefile Conventions,
-for more information on what to put in `Makefile's.
-
-* Menu:
-
-* Preset Output Variables:: Output variables that are always set.
-* Build Directories:: Compiling in a different directory.
-* Automatic Remaking:: Makefile rules for configuring.
-
-
-File: autoconf.info, Node: Preset Output Variables, Next: Build Directories, Up: Makefile Substitutions
-
-Preset Output Variables
------------------------
-
- Some output variables are preset by the Autoconf macros. Some of the
-Autoconf macros set additional output variables, which are mentioned in
-the descriptions for those macros. *Note Output Variable Index::, for a
-complete list of output variables. Here is what each of the preset ones
-contains.
-
- - Variable: configure_input
- A comment saying that the file was generated automatically by
- `configure' and giving the name of the input file. `AC_OUTPUT'
- adds a comment line containing this variable to the top of every
- `Makefile' it creates. For other files, you should reference this
- variable in a comment at the top of each input file. For example,
- an input shell script should begin like this:
-
- #!/bin/sh
- # @configure_input@
-
- The presence of that line also reminds people editing the file
- that it needs to be processed by `configure' in order to be used.
-
- - Variable: exec_prefix
- The installation prefix for architecture-dependent files.
-
- - Variable: prefix
- The installation prefix for architecture-independent files.
-
- - Variable: srcdir
- The directory that contains the source code for that `Makefile'.
-
- - Variable: top_srcdir
- The top-level source code directory for the package. In the
- top-level directory, this is the same as `srcdir'.
-
- - Variable: CFLAGS
- Debugging and optimization options for the C compiler. If it is
- not set in the environment when `configure' runs, the default
- value is set when you call `AC_PROG_CC' (or empty if you don't).
- `configure' uses this variable when compiling programs to test for
- C features.
-
- - Variable: CPPFLAGS
- Header file search directory (`-IDIR') and any other miscellaneous
- options for the C preprocessor and compiler. If it is not set in
- the environment when `configure' runs, the default value is empty.
- `configure' uses this variable when compiling or preprocessing
- programs to test for C features.
-
- - Variable: CXXFLAGS
- Debugging and optimization options for the C++ compiler. If it is
- not set in the environment when `configure' runs, the default
- value is set when you call `AC_PROG_CXX' (or empty if you don't).
- `configure' uses this variable when compiling programs to test for
- C++ features.
-
- - Variable: DEFS
- `-D' options to pass to the C compiler. If `AC_CONFIG_HEADER' is
- called, `configure' replaces `@DEFS@' with `-DHAVE_CONFIG_H'
- instead (*note Configuration Headers::.). This variable is not
- defined while `configure' is performing its tests, only when
- creating the output files. *Note Setting Output Variables::, for
- how to check the results of previous tests.
-
- - Variable: LDFLAGS
- Stripping (`-s') and any other miscellaneous options for the
- linker. If it is not set in the environment when `configure' runs,
- the default value is empty. `configure' uses this variable when
- linking programs to test for C features.
-
- - Variable: LIBS
- `-l' and `-L' options to pass to the linker.
-
-
-File: autoconf.info, Node: Build Directories, Next: Automatic Remaking, Prev: Preset Output Variables, Up: Makefile Substitutions
-
-Build Directories
------------------
-
- You might want to compile a software package in a different directory
-from the one that contains the source code. Doing this allows you to
-compile the package for several architectures simultaneously from the
-same copy of the source code and keep multiple sets of object files on
-disk.
-
- To support doing this, `make' uses the `VPATH' variable to find the
-files that are in the source directory. GNU `make' and most other
-recent `make' programs can do this. Older `make' programs do not
-support `VPATH'; when using them, the source code must be in the same
-directory as the object files.
-
- To support `VPATH', each `Makefile.in' should contain two lines that
-look like:
-
- srcdir = @srcdir@
- VPATH = @srcdir@
-
- Do not set `VPATH' to the value of another variable, for example
-`VPATH = $(srcdir)', because some versions of `make' do not do variable
-substitutions on the value of `VPATH'.
-
- `configure' substitutes in the correct value for `srcdir' when it
-produces `Makefile.in'.
-
- Do not use the `make' variable `$<', which expands to the pathname
-of the file in the source directory (found with `VPATH'), except in
-implicit rules. (An implicit rule is one such as `.c.o', which tells
-how to create a `.o' file from a `.c' file.) Some versions of `make'
-do not set `$<' in explicit rules; they expand it to an empty value.
-
- Instead, `Makefile' command lines should always refer to source
-files by prefixing them with `$(srcdir)/'. For example:
-
- time.info: time.texinfo
- $(MAKEINFO) $(srcdir)/time.texinfo
-
-
-File: autoconf.info, Node: Automatic Remaking, Prev: Build Directories, Up: Makefile Substitutions
-
-Automatic Remaking
-------------------
-
- You can put rules like the following in the top-level `Makefile.in'
-for a package to automatically update the configuration information when
-you change the configuration files. This example includes all of the
-optional files, such as `aclocal.m4' and those related to configuration
-header files. Omit from the `Makefile.in' rules any of these files
-that your package does not use.
-
- The `${srcdir}/' prefix is included because of limitations in the
-`VPATH' mechanism.
-
- The `stamp-' files are necessary because the timestamps of
-`config.h.in' and `config.h' will not be changed if remaking them does
-not change their contents. This feature avoids unnecessary
-recompilation. You should include the file `stamp-h.in' your package's
-distribution, so `make' will consider `config.h.in' up to date. On
-some old BSD systems, `touch' or any command that results in an empty
-file does not update the timestamps, so use a command like `date' as a
-workaround.
-
- ${srcdir}/configure: configure.in aclocal.m4
- cd ${srcdir} && autoconf
-
- # autoheader might not change config.h.in, so touch a stamp file.
- ${srcdir}/config.h.in: stamp-h.in
- ${srcdir}/stamp-h.in: configure.in aclocal.m4 acconfig.h \
- config.h.top config.h.bot
- cd ${srcdir} && autoheader
- date > ${srcdir}/stamp-h.in
-
- config.h: stamp-h
- stamp-h: config.h.in config.status
- ./config.status
-
- Makefile: Makefile.in config.status
- ./config.status
-
- config.status: configure
- ./config.status --recheck
-
- In addition, you should pass `date > stamp-h' in the EXTRA-CMDS
-argument to `AC_OUTPUT', so `config.status' will ensure that `config.h'
-is considered up to date. *Note Output::, for more information about
-`AC_OUTPUT'.
-
- *Note Invoking config.status::, for more examples of handling
-configuration-related dependencies.
-
-
-File: autoconf.info, Node: Configuration Headers, Next: Subdirectories, Prev: Makefile Substitutions, Up: Setup
-
-Configuration Header Files
-==========================
-
- When a package tests more than a few C preprocessor symbols, the
-command lines to pass `-D' options to the compiler can get quite long.
-This causes two problems. One is that the `make' output is hard to
-visually scan for errors. More seriously, the command lines can exceed
-the length limits of some operating systems. As an alternative to
-passing `-D' options to the compiler, `configure' scripts can create a
-C header file containing `#define' directives. The `AC_CONFIG_HEADER'
-macro selects this kind of output. It should be called right after
-`AC_INIT'.
-
- The package should `#include' the configuration header file before
-any other header files, to prevent inconsistencies in declarations (for
-example, if it redefines `const'). Use `#include <config.h>' instead
-of `#include "config.h"', and pass the C compiler a `-I.' option (or
-`-I..'; whichever directory contains `config.h'). That way, even if
-the source directory is configured itself (perhaps to make a
-distribution), other build directories can also be configured without
-finding the `config.h' from the source directory.
-
- - Macro: AC_CONFIG_HEADER (HEADER-TO-CREATE ...)
- Make `AC_OUTPUT' create the file(s) in the whitespace-separated
- list HEADER-TO-CREATE containing C preprocessor `#define'
- statements, and replace `@DEFS@' in generated files with
- `-DHAVE_CONFIG_H' instead of the value of `DEFS'. The usual name
- for HEADER-TO-CREATE is `config.h'.
-
- If HEADER-TO-CREATE already exists and its contents are identical
- to what `AC_OUTPUT' would put in it, it is left alone. Doing this
- allows some changes in configuration without needlessly causing
- object files that depend on the header file to be recompiled.
-
- Usually the input file is named `HEADER-TO-CREATE.in'; however,
- you can override the input file name by appending it to
- HEADER-TO-CREATE, separated by a colon. For example,
- AC_CONFIG_HEADER(defines.h:defines.hin)
-
- Doing this allows you to keep your filenames acceptable to MS-DOS.
-
-* Menu:
-
-* Header Templates:: Input for the configuration headers.
-* Invoking autoheader:: How to create configuration templates.
-
-
-File: autoconf.info, Node: Header Templates, Next: Invoking autoheader, Up: Configuration Headers
-
-Configuration Header Templates
-------------------------------
-
- Your distribution should contain a template file that looks as you
-want the final header file to look, including comments, with default
-values in the `#define' statements. For example, suppose your
-`configure.in' makes these calls:
-
- AC_CONFIG_HEADER(conf.h)
- AC_CHECK_HEADERS(unistd.h)
-
-Then you could have code like the following in `conf.h.in'. On systems
-that have `unistd.h', `configure' will change the 0 to a 1. On other
-systems, it will leave the line unchanged.
-
- /* Define as 1 if you have unistd.h. */
- #define HAVE_UNISTD_H 0
-
- Alternately, if your code tests for configuration options using
-`#ifdef' instead of `#if', a default value can be to `#undef' the
-variable instead of to define it to a value. On systems that have
-`unistd.h', `configure' will change the second line to read `#define
-HAVE_UNISTD_H 1'. On other systems, it will comment that line out (in
-case the system predefines that symbol).
-
- /* Define if you have unistd.h. */
- #undef HAVE_UNISTD_H
-
-
-File: autoconf.info, Node: Invoking autoheader, Prev: Header Templates, Up: Configuration Headers
-
-Using `autoheader' to Create `config.h.in'
-------------------------------------------
-
- The `autoheader' program can create a template file of C `#define'
-statements for `configure' to use. If `configure.in' invokes
-`AC_CONFIG_HEADER(FILE)', `autoheader' creates `FILE.in'. Otherwise,
-`autoheader' creates `config.h.in'.
-
- If you give `autoheader' an argument, it uses that file instead of
-`configure.in' and writes the header file to the standard output
-instead of to `config.h.in'. If you give `autoheader' an argument of
-`-', it reads the standard input instead of `configure.in' and writes
-the header file to the standard output.
-
- `autoheader' scans `configure.in' and figures out which C
-preprocessor symbols it might define. It copies comments and `#define'
-and `#undef' statements from a file called `acconfig.h', which comes
-with and is installed with Autoconf. It also uses a file called
-`acconfig.h' in the current directory, if present. If you `AC_DEFINE'
-any additional symbols, you must create that file with entries for
-them. For symbols defined by `AC_CHECK_HEADERS', `AC_CHECK_FUNCS',
-`AC_CHECK_SIZEOF', or `AC_CHECK_LIB', `autoheader' generates comments
-and `#undef' statements itself rather than copying them from a file,
-since the possible symbols are effectively limitless.
-
- The file that `autoheader' creates contains mainly `#define' and
-`#undef' statements and their accompanying comments. If `./acconfig.h'
-contains the string `@TOP@', `autoheader' copies the lines before the
-line containing `@TOP@' into the top of the file that it generates.
-Similarly, if `./acconfig.h' contains the string `@BOTTOM@',
-`autoheader' copies the lines after that line to the end of the file it
-generates. Either or both of those strings may be omitted.
-
- An alternate way to produce the same effect is to create the files
-`FILE.top' (typically `config.h.top') and/or `FILE.bot' in the current
-directory. If they exist, `autoheader' copies them to the beginning
-and end, respectively, of its output. Their use is discouraged because
-they have file names that contain two periods, and so can not be stored
-on MS-DOS; also, they are two more files to clutter up the directory.
-But if you use the `--localdir=DIR' option to use an `acconfig.h' in
-another directory, they give you a way to put custom boilerplate in each
-individual `config.h.in'.
-
- `autoheader' accepts the following options:
-
-`--help'
-`-h'
- Print a summary of the command line options and exit.
-
-`--localdir=DIR'
-`-l DIR'
- Look for the package files `aclocal.m4' and `acconfig.h' (but not
- `FILE.top' and `FILE.bot') in directory DIR instead of in the
- current directory.
-
-`--macrodir=DIR'
-`-m DIR'
- Look for the installed macro files and `acconfig.h' in directory
- DIR. You can also set the `AC_MACRODIR' environment variable to a
- directory; this option overrides the environment variable.
-
-`--version'
- Print the version number of Autoconf and exit.
-
-
-File: autoconf.info, Node: Subdirectories, Next: Default Prefix, Prev: Configuration Headers, Up: Setup
-
-Configuring Other Packages in Subdirectories
-============================================
-
- In most situations, calling `AC_OUTPUT' is sufficient to produce
-`Makefile's in subdirectories. However, `configure' scripts that
-control more than one independent package can use `AC_CONFIG_SUBDIRS'
-to run `configure' scripts for other packages in subdirectories.
-
- - Macro: AC_CONFIG_SUBDIRS (DIR ...)
- Make `AC_OUTPUT' run `configure' in each subdirectory DIR in the
- given whitespace-separated list. If a given DIR is not found, no
- error is reported, so a `configure' script can configure whichever
- parts of a large source tree are present. If a given DIR contains
- `configure.in' but no `configure', the Cygnus `configure' script
- found by `AC_CONFIG_AUXDIR' is used. The subdirectory `configure'
- scripts are given the same command line options that were given to
- this `configure' script, with minor changes if needed (e.g., to
- adjust a relative path for the cache file or source directory).
- This macro also sets the output variable `subdirs' to the list of
- directories `DIR ...'. `Makefile' rules can use this variable to
- determine which subdirectories to recurse into.
-
-
-File: autoconf.info, Node: Default Prefix, Next: Versions, Prev: Subdirectories, Up: Setup
-
-Default Prefix
-==============
-
- By default, `configure' sets the prefix for files it installs to
-`/usr/local'. The user of `configure' can select a different prefix
-using the `--prefix' and `--exec-prefix' options. There are two ways
-to change the default: when creating `configure', and when running it.
-
- Some software packages might want to install in a directory besides
-`/usr/local' by default. To accomplish that, use the
-`AC_PREFIX_DEFAULT' macro.
-
- - Macro: AC_PREFIX_DEFAULT (PREFIX)
- Set the default installation prefix to PREFIX instead of
- `/usr/local'.
-
- It may be convenient for users to have `configure' guess the
-installation prefix from the location of a related program that they
-have already installed. If you wish to do that, you can call
-`AC_PREFIX_PROGRAM'.
-
- - Macro: AC_PREFIX_PROGRAM (PROGRAM)
- If the user did not specify an installation prefix (using the
- `--prefix' option), guess a value for it by looking for PROGRAM in
- `PATH', the way the shell does. If PROGRAM is found, set the
- prefix to the parent of the directory containing PROGRAM;
- otherwise leave the prefix specified in `Makefile.in' unchanged.
- For example, if PROGRAM is `gcc' and the `PATH' contains
- `/usr/local/gnu/bin/gcc', set the prefix to `/usr/local/gnu'.
-
diff --git a/util/autoconf/autoconf.info-2 b/util/autoconf/autoconf.info-2
deleted file mode 100644
index ae8fc7b..0000000
--- a/util/autoconf/autoconf.info-2
+++ /dev/null
@@ -1,1214 +0,0 @@
-This is Info file autoconf.info, produced by Makeinfo-1.55 from the
-input file ./autoconf.texi.
-
-START-INFO-DIR-ENTRY
-* Autoconf: (autoconf). Create source code configuration scripts.
-END-INFO-DIR-ENTRY
-
- This file documents the GNU Autoconf package for creating scripts to
-configure source code packages using templates and an `m4' macro
-package.
-
- Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc.
-
- Permission is granted to make and distribute verbatim copies of this
-manual provided the copyright notice and this permission notice are
-preserved on all copies.
-
- Permission is granted to copy and distribute modified versions of
-this manual under the conditions for verbatim copying, provided that
-the entire resulting derived work is distributed under the terms of a
-permission notice identical to this one.
-
- Permission is granted to copy and distribute translations of this
-manual into another language, under the above conditions for modified
-versions, except that this permission notice may be stated in a
-translation approved by the Foundation.
-
-
-File: autoconf.info, Node: Versions, Prev: Default Prefix, Up: Setup
-
-Version Numbers in `configure'
-==============================
-
- The following macros manage version numbers for `configure' scripts.
-Using them is optional.
-
- - Macro: AC_PREREQ (VERSION)
- Ensure that a recent enough version of Autoconf is being used. If
- the version of Autoconf being used to create `configure' is earlier
- than VERSION, print an error message on the standard error output
- and do not create `configure'. For example:
-
- AC_PREREQ(1.8)
-
- This macro is useful if your `configure.in' relies on non-obvious
- behavior that changed between Autoconf releases. If it merely
- needs recently added macros, then `AC_PREREQ' is less useful,
- because the `autoconf' program already tells the user which macros
- are not found. The same thing happens if `configure.in' is
- processed by a version of Autoconf older than when `AC_PREREQ' was
- added.
-
- - Macro: AC_REVISION (REVISION-INFO)
- Copy revision stamp REVISION-INFO into the `configure' script,
- with any dollar signs or double-quotes removed. This macro lets
- you put a revision stamp from `configure.in' into `configure'
- without RCS or CVS changing it when you check in `configure'. That
- way, you can determine easily which revision of `configure.in' a
- particular `configure' corresponds to.
-
- It is a good idea to call this macro before `AC_INIT' so that the
- revision number is near the top of both `configure.in' and
- `configure'. To support doing that, the `AC_REVISION' output
- begins with `#!/bin/sh', like the normal start of a `configure'
- script does.
-
- For example, this line in `configure.in':
-
- AC_REVISION($Revision$)dnl
-
- produces this in `configure':
-
- #!/bin/sh
- # From configure.in Revision: 1.30
-
-
-File: autoconf.info, Node: Existing Tests, Next: Writing Tests, Prev: Setup, Up: Top
-
-Existing Tests
-**************
-
- These macros test for particular system features that packages might
-need or want to use. If you need to test for a kind of feature that
-none of these macros check for, you can probably do it by calling
-primitive test macros with appropriate arguments (*note Writing
-Tests::.).
-
- These tests print messages telling the user which feature they're
-checking for, and what they find. They cache their results for future
-`configure' runs (*note Caching Results::.).
-
- Some of these macros set output variables. *Note Makefile
-Substitutions::, for how to get their values. The phrase "define NAME"
-is used below as a shorthand to mean "define C preprocessor symbol NAME
-to the value 1". *Note Defining Symbols::, for how to get those symbol
-definitions into your program.
-
-* Menu:
-
-* Alternative Programs:: Selecting between alternative programs.
-* Libraries:: Library archives that might be missing.
-* Library Functions:: C library functions that might be missing.
-* Header Files:: Header files that might be missing.
-* Structures:: Structures or members that might be missing.
-* Typedefs:: `typedef's that might be missing.
-* Compiler Characteristics:: C compiler or machine architecture features.
-* System Services:: Operating system services.
-* UNIX Variants:: Special kludges for specific UNIX variants.
-
-
-File: autoconf.info, Node: Alternative Programs, Next: Libraries, Up: Existing Tests
-
-Alternative Programs
-====================
-
- These macros check for the presence or behavior of particular
-programs. They are used to choose between several alternative programs
-and to decide what to do once one has been chosen. If there is no
-macro specifically defined to check for a program you need, and you
-don't need to check for any special properties of it, then you can use
-one of the general program check macros.
-
-* Menu:
-
-* Particular Programs:: Special handling to find certain programs.
-* Generic Programs:: How to find other programs.
-
-
-File: autoconf.info, Node: Particular Programs, Next: Generic Programs, Up: Alternative Programs
-
-Particular Program Checks
--------------------------
-
- These macros check for particular programs--whether they exist, and
-in some cases whether they support certain features.
-
- - Macro: AC_DECL_YYTEXT
- Define `YYTEXT_POINTER' if `yytext' is a `char *' instead of a
- `char []'. Also set output variable `LEX_OUTPUT_ROOT' to the base
- of the file name that the lexer generates; usually `lex.yy', but
- sometimes something else. These results vary according to whether
- `lex' or `flex' is being used.
-
- - Macro: AC_PROG_AWK
- Check for `mawk', `gawk', `nawk', and `awk', in that order, and
- set output variable `AWK' to the first one that it finds. It
- tries `mawk' first because that is reported to be the fastest
- implementation.
-
- - Macro: AC_PROG_CC
- Determine a C compiler to use. If `CC' is not already set in the
- environment, check for `gcc', and use `cc' if it's not found. Set
- output variable `CC' to the name of the compiler found.
-
- If using the GNU C compiler, set shell variable `GCC' to `yes',
- empty otherwise. If output variable `CFLAGS' was not already set,
- set it to `-g -O' for the GNU C compiler (`-O' on systems where
- GCC does not accept `-g'), or `-g' for other compilers.
-
- - Macro: AC_PROG_CC_C_O
- If the C compiler does not accept the `-c' and `-o' options
- simultaneously, define `NO_MINUS_C_MINUS_O'.
-
- - Macro: AC_PROG_CPP
- Set output variable `CPP' to a command that runs the C
- preprocessor. If `$CC -E' doesn't work, it uses `/lib/cpp'. It
- is only portable to run `CPP' on files with a `.c' extension.
-
- If the current language is C (*note Language Choice::.), many of
- the specific test macros use the value of `CPP' indirectly by
- calling `AC_TRY_CPP', `AC_CHECK_HEADER', `AC_EGREP_HEADER', or
- `AC_EGREP_CPP'.
-
- - Macro: AC_PROG_CXX
- Determine a C++ compiler to use. Check if the environment variable
- `CXX' or `CCC' (in that order) is set; if so, set output variable
- `CXX' to its value. Otherwise search for a C++ compiler under
- likely names (`c++', `g++', `gcc', `CC', and `cxx'). If none of
- those checks succeed, as a last resort set `CXX' to `gcc'.
-
- If using the GNU C++ compiler, set shell variable `GXX' to `yes',
- empty otherwise. If output variable `CXXFLAGS' was not already
- set, set it to `-g -O' for the GNU C++ compiler (`-O' on systems
- where G++ does not accept `-g'), or `-g' for other compilers.
-
- - Macro: AC_PROG_CXXCPP
- Set output variable `CXXCPP' to a command that runs the C++
- preprocessor. If `$CXX -E' doesn't work, it uses `/lib/cpp'. It
- is only portable to run `CXXCPP' on files with a `.c', `.C', or
- `.cc' extension.
-
- If the current language is C++ (*note Language Choice::.), many of
- the specific test macros use the value of `CXXCPP' indirectly by
- calling `AC_TRY_CPP', `AC_CHECK_HEADER', `AC_EGREP_HEADER', or
- `AC_EGREP_CPP'.
-
- - Macro: AC_PROG_GCC_TRADITIONAL
- Add `-traditional' to output variable `CC' if using the GNU C
- compiler and `ioctl' does not work properly without
- `-traditional'. That usually happens when the fixed header files
- have not been installed on an old system. Since recent versions
- of the GNU C compiler fix the header files automatically when
- installed, this is becoming a less prevalent problem.
-
- - Macro: AC_PROG_INSTALL
- Set output variable `INSTALL' to the path of a BSD compatible
- `install' program, if one is found in the current `PATH'.
- Otherwise, set `INSTALL' to `DIR/install-sh -c', checking the
- directories specified to `AC_CONFIG_AUX_DIR' (or its default
- directories) to determine DIR (*note Output::.). Also set the
- variable `INSTALL_PROGRAM' to `${INSTALL}' and `INSTALL_DATA' to
- `${INSTALL} -m 644'.
-
- This macro screens out various instances of `install' known to not
- work. It prefers to find a C program rather than a shell script,
- for speed. Instead of `install-sh', it can also use `install.sh',
- but that name is obsolete because some `make' programs have a rule
- that creates `install' from it if there is no `Makefile'.
-
- A copy of `install-sh' which you may use comes with Autoconf. If
- you use `AC_PROG_INSTALL', you must include either `install-sh' or
- `install.sh' in your distribution, or `configure' will produce an
- error message saying it can't find them--even if the system you're
- on has a good `install' program. This check is a safety measure
- to prevent you from accidentally leaving that file out, which
- would prevent your package from installing on systems that don't
- have a BSD-compatible `install' program.
-
- If you need to use your own installation program because it has
- features not found in standard `install' programs, there is no
- reason to use `AC_PROG_INSTALL'; just put the pathname of your
- program into your `Makefile.in' files.
-
- - Macro: AC_PROG_LEX
- If `flex' is found, set output variable `LEX' to `flex' and
- `LEXLIB' to `-lfl', if that library is in a standard place.
- Otherwise set `LEX' to `lex' and `LEXLIB' to `-ll'.
-
- - Macro: AC_PROG_LN_S
- If `ln -s' works on the current filesystem (the operating system
- and filesystem support symbolic links), set output variable `LN_S'
- to `ln -s', otherwise set it to `ln'.
-
- - Macro: AC_PROG_RANLIB
- Set output variable `RANLIB' to `ranlib' if `ranlib' is found,
- otherwise to `:' (do nothing).
-
- - Macro: AC_PROG_YACC
- If `bison' is found, set output variable `YACC' to `bison -y'.
- Otherwise, if `byacc' is found, set `YACC' to `byacc'. Otherwise
- set `YACC' to `yacc'.
-
-
-File: autoconf.info, Node: Generic Programs, Prev: Particular Programs, Up: Alternative Programs
-
-Generic Program Checks
-----------------------
-
- These macros are used to find programs not covered by the particular
-test macros. If you need to check the behavior of a program as well as
-find out whether it is present, you have to write your own test for it
-(*note Writing Tests::.).
-
- - Macro: AC_CHECK_PROG (VARIABLE, PROG-TO-CHECK-FOR, VALUE-IF-FOUND [,
- VALUE-IF-NOT-FOUND])
- Check whether program PROG-TO-CHECK-FOR exists in `PATH'. If it
- is found, set VARIABLE to VALUE-IF-FOUND, otherwise to
- VALUE-IF-NOT-FOUND, if given. If VARIABLE was already set, do
- nothing. Calls `AC_SUBST' for VARIABLE.
-
- - Macro: AC_CHECK_PROGS (VARIABLE, PROGS-TO-CHECK-FOR [,
- VALUE-IF-NOT-FOUND])
- Check for each program in the whitespace-separated list
- PROGS-TO-CHECK-FOR exists in `PATH'. If it is found, set VARIABLE
- to the name of that program. Otherwise, continue checking the
- next program in the list. If none of the programs in the list are
- found, set VARIABLE to VALUE-IF-NOT-FOUND; if VALUE-IF-NOT-FOUND
- is not specified, the value of VARIABLE is not changed. Calls
- `AC_SUBST' for VARIABLE.
-
- - Macro: AC_PATH_PROG (VARIABLE, PROG-TO-CHECK-FOR [,
- VALUE-IF-NOT-FOUND])
- Like `AC_CHECK_PROG', but set VARIABLE to the entire path of
- PROG-TO-CHECK-FOR if found.
-
- - Macro: AC_PATH_PROGS (VARIABLE, PROGS-TO-CHECK-FOR [,
- VALUE-IF-NOT-FOUND])
- Like `AC_CHECK_PROGS', but if any of PROGS-TO-CHECK-FOR are found,
- set VARIABLE to the entire path of the program found.
-
-
-File: autoconf.info, Node: Libraries, Next: Library Functions, Prev: Alternative Programs, Up: Existing Tests
-
-Library Files
-=============
-
- The following macros check for the presence of certain C library
-archive files.
-
- - Macro: AC_CHECK_LIB (LIBRARY, FUNCTION [, ACTION-IF-FOUND [,
- ACTION-IF-NOT-FOUND [, OTHER-LIBRARIES]]])
- Try to ensure that C function FUNCTION is available by checking
- whether a test C program can be linked with the library LIBRARY to
- get the function. LIBRARY is the base name of the library; e.g.,
- to check for `-lmp', use `mp' as the LIBRARY argument.
-
- ACTION-IF-FOUND is a list of shell commands to run if the link
- with the library succeeds; ACTION-IF-NOT-FOUND is a list of shell
- commands to run if the link fails. If ACTION-IF-FOUND and
- ACTION-IF-NOT-FOUND are not specified, the default action is to
- add `-lLIBRARY' to `LIBS' and define `HAVE_LIBLIBRARY' (in all
- capitals).
-
- If linking with LIBRARY results in unresolved symbols, which would
- be resolved by linking with additional libraries, give those
- libraries as the OTHER-LIBRARIES argument, separated by spaces:
- `-lX11 -lXt'. Otherwise this macro will fail to detect that
- LIBRARY is present, because linking the test program will always
- fail with unresolved symbols.
-
- - Macro: AC_HAVE_LIBRARY (LIBRARY, [, ACTION-IF-FOUND [,
- ACTION-IF-NOT-FOUND [, OTHER-LIBRARIES]]])
- This macro is equivalent to calling `AC_CHECK_LIB' with a FUNCTION
- argument of `main'. In addition, LIBRARY can be written as any of
- `foo', `-lfoo', or `libfoo.a'. In all of those cases, the
- compiler is passed `-lfoo'. However, LIBRARY can not be a shell
- variable; it must be a literal name. This macro is considered
- obsolete.
-
-
-File: autoconf.info, Node: Library Functions, Next: Header Files, Prev: Libraries, Up: Existing Tests
-
-Library Functions
-=================
-
- The following macros check for particular C library functions. If
-there is no macro specifically defined to check for a function you need,
-and you don't need to check for any special properties of it, then you
-can use one of the general function check macros.
-
-* Menu:
-
-* Particular Functions:: Special handling to find certain functions.
-* Generic Functions:: How to find other functions.
-
-
-File: autoconf.info, Node: Particular Functions, Next: Generic Functions, Up: Library Functions
-
-Particular Function Checks
---------------------------
-
- These macros check for particular C functions--whether they exist,
-and in some cases how they respond when given certain arguments.
-
- - Macro: AC_FUNC_ALLOCA
- Check how to get `alloca'. Tries to get a builtin version by
- checking for `alloca.h' or the predefined C preprocessor macros
- `__GNUC__' and `_AIX'. If this macro finds `alloca.h', it defines
- `HAVE_ALLOCA_H'.
-
- If those attempts fail, it looks for the function in the standard C
- library. If any of those methods succeed, it defines
- `HAVE_ALLOCA'. Otherwise, it sets the output variable `ALLOCA' to
- `alloca.o' and defines `C_ALLOCA' (so programs can periodically
- call `alloca(0)' to garbage collect). This variable is separate
- from `LIBOBJS' so multiple programs can share the value of
- `ALLOCA' without needing to create an actual library, in case only
- some of them use the code in `LIBOBJS'.
-
- This macro does not try to get `alloca' from the System V R3
- `libPW' or the System V R4 `libucb' because those libraries
- contain some 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'.
-
- Source files that use `alloca' should start with a piece of code
- like the following, to declare it properly. In some versions of
- AIX, the declaration of `alloca' must precede everything else
- except for comments and preprocessor directives. The `#pragma'
- directive is indented so that pre-ANSI C compilers will ignore it,
- rather than choke on it.
-
- /* AIX requires this to be the first thing in the file. */
- #ifdef __GNUC__
- # define alloca __builtin_alloca
- #else
- # if HAVE_ALLOCA_H
- # include <alloca.h>
- # else
- # ifdef _AIX
- #pragma alloca
- # else
- # ifndef alloca /* predefined by HP cc +Olibcalls */
- char *alloca ();
- # endif
- # endif
- # endif
- #endif
-
- - Macro: AC_FUNC_CLOSEDIR_VOID
- If the `closedir' function does not return a meaningful value,
- define `CLOSEDIR_VOID'. Otherwise, callers ought to check its
- return value for an error indicator.
-
- - Macro: AC_FUNC_GETLOADAVG
- Check how to get the system load averages. If the system has the
- `getloadavg' function, this macro defines `HAVE_GETLOADAVG', and
- adds to `LIBS' any libraries needed to get that function.
-
- Otherwise, it adds `getloadavg.o' to the output variable
- `LIBOBJS', and possibly defines several other C preprocessor
- macros and output variables:
-
- 1. It defines `SVR4', `DGUX', `UMAX', or `UMAX4_3' if on those
- systems.
-
- 2. If it finds `nlist.h', it defines `NLIST_STRUCT'.
-
- 3. If `struct nlist' has an `n_un' member, it defines
- `NLIST_NAME_UNION'.
-
- 4. If compiling `getloadavg.c' defines `LDAV_PRIVILEGED',
- programs need to be installed specially on this system for
- `getloadavg' to work, and this macro defines
- `GETLOADAVG_PRIVILEGED'.
-
- 5. This macro sets the output variable `NEED_SETGID'. The value
- is `true' if special installation is required, `false' if not.
- If `NEED_SETGID' is `true', this macro sets `KMEM_GROUP' to
- the name of the group that should own the installed program.
-
- - Macro: AC_FUNC_GETMNTENT
- Check for the `getmntent' in the `sun' and `seq' libraries, for
- Irix 4 and PTX, respectively. Then, if `getmntent' is available,
- define `HAVE_GETMNTENT'.
-
- - Macro: AC_FUNC_MEMCMP
- If the `memcmp' function is not available, or does not work on
- 8-bit data (like the one on SunOS 4.1.3), add `memcmp.o' to output
- variable `LIBOBJS'.
-
- - Macro: AC_FUNC_MMAP
- If the `mmap' function exists and works correctly on memory mapped
- files, define `HAVE_MMAP'.
-
- - Macro: AC_FUNC_SETVBUF_REVERSED
- If `setvbuf' takes the buffering type as its second argument and
- the buffer pointer as the third, instead of the other way around,
- define `SETVBUF_REVERSED'. This is the case on System V before
- release 3.
-
- - Macro: AC_FUNC_STRCOLL
- If the `strcoll' function exists and works correctly, define
- `HAVE_STRCOLL'. This does a bit more than
- `AC_CHECK_FUNCS(strcoll)', because some systems have incorrect
- definitions of `strcoll', which should not be used.
-
- - Macro: AC_FUNC_STRFTIME
- Check for `strftime' in the `intl' library, for SCO UNIX. Then,
- if `strftime' is available, define `HAVE_STRFTIME'.
-
- - Macro: AC_FUNC_UTIME_NULL
- If `utime(FILE, NULL)' sets FILE's timestamp to the present,
- define `HAVE_UTIME_NULL'.
-
- - Macro: AC_FUNC_VFORK
- If `vfork.h' is found, define `HAVE_VFORK_H'. If a working
- `vfork' is not found, define `vfork' to be `fork'. This macro
- checks for several known errors in implementations of `vfork' and
- considers the system to not have a working `vfork' if it detects
- any of them.
-
- - Macro: AC_FUNC_VPRINTF
- If `vprintf' is found, define `HAVE_VPRINTF'. Otherwise, if
- `_doprnt' is found, define `HAVE_DOPRNT'. (If `vprintf' is
- available, you may assume that `vfprintf' and `vsprintf' are also
- available.)
-
- - Macro: AC_FUNC_WAIT3
- If `wait3' is found and fills in the contents of its third argument
- (a `struct rusage *'), which HP-UX does not do, define
- `HAVE_WAIT3'.
-
-
-File: autoconf.info, Node: Generic Functions, Prev: Particular Functions, Up: Library Functions
-
-Generic Function Checks
------------------------
-
- These macros are used to find functions not covered by the particular
-test macros. If the functions might be in libraries other than the
-default C library, first call `AC_CHECK_LIB' for those libraries. If
-you need to check the behavior of a function as well as find out
-whether it is present, you have to write your own test for it (*note
-Writing Tests::.).
-
- - Macro: AC_CHECK_FUNC (FUNCTION, ACTION-IF-FOUND [,
- ACTION-IF-NOT-FOUND])
- If C function FUNCTION is available, run shell commands
- ACTION-IF-FOUND, otherwise ACTION-IF-NOT-FOUND. If you just want
- to define a symbol if the function is available, consider using
- `AC_CHECK_FUNCS' instead. This macro checks for functions with C
- linkage even when `AC_LANG_CPLUSPLUS' has been called, since C++ is
- more standardized than C is. (*note Language Choice::., for more
- information about selecting the language for checks.)
-
- - Macro: AC_CHECK_FUNCS (FUNCTION... [, ACTION-IF-FOUND [,
- ACTION-IF-NOT-FOUND]])
- For each given FUNCTION in the whitespace-separated argument list
- that is available, define `HAVE_FUNCTION' (in all capitals). If
- ACTION-IF-FOUND is given, it is additional shell code to execute
- when one of the functions is found. You can give it a value of
- `break' to break out of the loop on the first match. If
- ACTION-IF-NOT-FOUND is given, it is executed when one of the
- functions is not found.
-
- - Macro: AC_REPLACE_FUNCS (FUNCTION-NAME...)
- For each given FUNCTION-NAME in the whitespace-separated argument
- list that is not in the C library, add `FUNCTION-NAME.o' to the
- value of the output variable `LIBOBJS'.
-
-
-File: autoconf.info, Node: Header Files, Next: Structures, Prev: Library Functions, Up: Existing Tests
-
-Header Files
-============
-
- The following macros check for the presence of certain C header
-files. If there is no macro specifically defined to check for a header
-file you need, and you don't need to check for any special properties of
-it, then you can use one of the general header file check macros.
-
-* Menu:
-
-* Particular Headers:: Special handling to find certain headers.
-* Generic Headers:: How to find other headers.
-
-
-File: autoconf.info, Node: Particular Headers, Next: Generic Headers, Up: Header Files
-
-Particular Header Checks
-------------------------
-
- These macros check for particular system header files--whether they
-exist, and in some cases whether they declare certain symbols.
-
- - Macro: AC_DECL_SYS_SIGLIST
- Define `SYS_SIGLIST_DECLARED' if the variable `sys_siglist' is
- declared in a system header file, either `signal.h' or `unistd.h'.
-
- - Macro: AC_DIR_HEADER
- Like calling `AC_HEADER_DIRENT' and `AC_FUNC_CLOSEDIR_VOID', but
- defines a different set of C preprocessor macros to indicate which
- header file is found. This macro and the names it defines are
- considered obsolete. The names it defines are:
-
- `dirent.h'
- `DIRENT'
-
- `sys/ndir.h'
- `SYSNDIR'
-
- `sys/dir.h'
- `SYSDIR'
-
- `ndir.h'
- `NDIR'
-
- In addition, if the `closedir' function does not return a
- meaningful value, define `VOID_CLOSEDIR'.
-
- - Macro: AC_HEADER_DIRENT
- Check for the following header files, and for the first one that is
- found and defines `DIR', define the listed C preprocessor macro:
-
- `dirent.h'
- `HAVE_DIRENT_H'
-
- `sys/ndir.h'
- `HAVE_SYS_NDIR_H'
-
- `sys/dir.h'
- `HAVE_SYS_DIR_H'
-
- `ndir.h'
- `HAVE_NDIR_H'
-
- The directory library declarations in the source code should look
- something like the following:
-
- #if HAVE_DIRENT_H
- # include <dirent.h>
- # define NAMLEN(dirent) strlen((dirent)->d_name)
- #else
- # define dirent direct
- # define NAMLEN(dirent) (dirent)->d_namlen
- # if HAVE_SYS_NDIR_H
- # include <sys/ndir.h>
- # endif
- # if HAVE_SYS_DIR_H
- # include <sys/dir.h>
- # endif
- # if HAVE_NDIR_H
- # include <ndir.h>
- # endif
- #endif
-
- Using the above declarations, the program would declare variables
- to be type `struct dirent', not `struct direct', and would access
- the length of a directory entry name by passing a pointer to a
- `struct dirent' to the `NAMLEN' macro.
-
- This macro also checks for the SCO Xenix `dir' and `x' libraries.
-
- - Macro: AC_HEADER_MAJOR
- If `sys/types.h' does not define `major', `minor', and `makedev',
- but `sys/mkdev.h' does, define `MAJOR_IN_MKDEV'; otherwise, if
- `sys/sysmacros.h' does, define `MAJOR_IN_SYSMACROS'.
-
- - Macro: AC_HEADER_STDC
- Define `STDC_HEADERS' if the system has ANSI C header files.
- Specifically, this macro checks for `stdlib.h', `stdarg.h',
- `string.h', and `float.h'; if the system has those, it probably
- has the rest of the ANSI C header files. This macro also checks
- whether `string.h' declares `memchr' (and thus presumably the
- other `mem' functions), whether `stdlib.h' declare `free' (and
- thus presumably `malloc' and other related functions), and whether
- the `ctype.h' macros work on characters with the high bit set, as
- ANSI C requires.
-
- Use `STDC_HEADERS' instead of `__STDC__' to determine whether the
- system has ANSI-compliant header files (and probably C library
- functions) because many systems that have GCC do not have ANSI C
- header files.
-
- On systems without ANSI C headers, there is so much variation that
- it is probably easier to declare the functions you use than to
- figure out exactly what the system header files declare. Some
- systems contain a mix of functions ANSI and BSD; some are mostly
- ANSI but lack `memmove'; some define the BSD functions as macros in
- `string.h' or `strings.h'; some have only the BSD functions but
- `string.h'; some declare the memory functions in `memory.h', some
- in `string.h'; etc. It is probably sufficient to check for one
- string function and one memory function; if the library has the
- ANSI versions of those then it probably has most of the others.
- If you put the following in `configure.in':
-
- AC_HEADER_STDC
- AC_CHECK_FUNCS(strchr memcpy)
-
- then, in your code, you can put declarations like this:
-
- #if STDC_HEADERS
- # include <string.h>
- #else
- # ifndef HAVE_STRCHR
- # define strchr index
- # define strrchr rindex
- # endif
- char *strchr (), *strrchr ();
- # ifndef HAVE_MEMCPY
- # define memcpy(d, s, n) bcopy ((s), (d), (n))
- # define memmove(d, s, n) bcopy ((s), (d), (n))
- # endif
- #endif
-
- If you use a function like `memchr', `memset', `strtok', or
- `strspn', which have no BSD equivalent, then macros won't suffice;
- you must provide an implementation of each function. An easy way
- to incorporate your implementations only when needed (since the
- ones in system C libraries may be hand optimized) is to, taking
- `memchr' for example, put it in `memchr.c' and use
- `AC_REPLACE_FUNCS(memchr)'.
-
- - Macro: AC_HEADER_SYS_WAIT
- If `sys/wait.h' exists and is compatible with POSIX.1, define
- `HAVE_SYS_WAIT_H'. Incompatibility can occur if `sys/wait.h' does
- not exist, or if it uses the old BSD `union wait' instead of `int'
- to store a status value. If `sys/wait.h' is not POSIX.1
- compatible, then instead of including it, define the POSIX.1
- macros with their usual interpretations. Here is an example:
-
- #include <sys/types.h>
- #if HAVE_SYS_WAIT_H
- # include <sys/wait.h>
- #endif
- #ifndef WEXITSTATUS
- # define WEXITSTATUS(stat_val) ((unsigned)(stat_val) >> 8)
- #endif
- #ifndef WIFEXITED
- # define WIFEXITED(stat_val) (((stat_val) & 255) == 0)
- #endif
-
- - Macro: AC_MEMORY_H
- Define `NEED_MEMORY_H' if `memcpy', `memcmp', etc. are not
- declared in `string.h' and `memory.h' exists. This macro is
- obsolete; instead, use `AC_CHECK_HEADERS(memory.h)'. See the
- example for `AC_HEADER_STDC'.
-
- - Macro: AC_UNISTD_H
- Define `HAVE_UNISTD_H' if the system has `unistd.h'. This macro
- is obsolete; instead, use `AC_CHECK_HEADERS(unistd.h)'.
-
- The way to check if the system supports POSIX.1 is:
-
- #if HAVE_UNISTD_H
- # include <sys/types.h>
- # include <unistd.h>
- #endif
-
- #ifdef _POSIX_VERSION
- /* Code for POSIX.1 systems. */
- #endif
-
- `_POSIX_VERSION' is defined when `unistd.h' is included on POSIX.1
- systems. If there is no `unistd.h', it is definitely not a
- POSIX.1 system. However, some non-POSIX.1 systems do have
- `unistd.h'.
-
- - Macro: AC_USG
- Define `USG' if the system does not have `strings.h', `rindex',
- `bzero', etc. This implies that it has `string.h', `strrchr',
- `memset', etc.
-
- The symbol `USG' is obsolete. Instead of this macro, see the
- example for `AC_HEADER_STDC'.
-
-
-File: autoconf.info, Node: Generic Headers, Prev: Particular Headers, Up: Header Files
-
-Generic Header Checks
----------------------
-
- These macros are used to find system header files not covered by the
-particular test macros. If you need to check the contents of a header
-as well as find out whether it is present, you have to write your own
-test for it (*note Writing Tests::.).
-
- - Macro: AC_CHECK_HEADER (HEADER-FILE, ACTION-IF-FOUND [,
- ACTION-IF-NOT-FOUND])
- If the system header file HEADER-FILE exists, execute shell
- commands ACTION-IF-FOUND, otherwise execute ACTION-IF-NOT-FOUND.
- If you just want to define a symbol if the header file is
- available, consider using `AC_CHECK_HEADERS' instead.
-
- - Macro: AC_CHECK_HEADERS (HEADER-FILE... [, ACTION-IF-FOUND [,
- ACTION-IF-NOT-FOUND]])
- For each given system header file HEADER-FILE in the
- whitespace-separated argument list that exists, define
- `HAVE_HEADER-FILE' (in all capitals). If ACTION-IF-FOUND is
- given, it is additional shell code to execute when one of the
- header files is found. You can give it a value of `break' to
- break out of the loop on the first match. If ACTION-IF-NOT-FOUND
- is given, it is executed when one of the header files is not found.
-
-
-File: autoconf.info, Node: Structures, Next: Typedefs, Prev: Header Files, Up: Existing Tests
-
-Structures
-==========
-
- The following macros check for certain structures or structure
-members. To check structures not listed here, use `AC_EGREP_CPP'
-(*note Examining Declarations::.) or `AC_TRY_COMPILE' (*note Examining
-Syntax::.).
-
- - Macro: AC_HEADER_STAT
- If the macros `S_ISDIR', `S_ISREG' et al. defined in `sys/stat.h'
- do not work properly (returning false positives), define
- `STAT_MACROS_BROKEN'. This is the case on Tektronix UTekV, Amdahl
- UTS and Motorola System V/88.
-
- - Macro: AC_HEADER_TIME
- If a program may include both `time.h' and `sys/time.h', define
- `TIME_WITH_SYS_TIME'. On some older systems, `sys/time.h'
- includes `time.h', but `time.h' is not protected against multiple
- inclusion, so programs should not explicitly include both files.
- This macro is useful in programs that use, for example, `struct
- timeval' or `struct timezone' as well as `struct tm'. It is best
- used in conjunction with `HAVE_SYS_TIME_H', which can be checked
- for using `AC_CHECK_HEADERS(sys/time.h)'.
-
- #if TIME_WITH_SYS_TIME
- # include <sys/time.h>
- # include <time.h>
- #else
- # if HAVE_SYS_TIME_H
- # include <sys/time.h>
- # else
- # include <time.h>
- # endif
- #endif
-
- - Macro: AC_STRUCT_ST_BLKSIZE
- If `struct stat' contains an `st_blksize' member, define
- `HAVE_ST_BLKSIZE'.
-
- - Macro: AC_STRUCT_ST_BLOCKS
- If `struct stat' contains an `st_blocks' member, define
- `HAVE_ST_BLOCKS'. Otherwise, add `fileblocks.o' to the output
- variable `LIBOBJS'.
-
- - Macro: AC_STRUCT_ST_RDEV
- If `struct stat' contains an `st_rdev' member, define
- `HAVE_ST_RDEV'.
-
- - Macro: AC_STRUCT_TM
- If `time.h' does not define `struct tm', define `TM_IN_SYS_TIME',
- which means that including `sys/time.h' had better define `struct
- tm'.
-
- - Macro: AC_STRUCT_TIMEZONE
- Figure out how to get the current timezone. If `struct tm' has a
- `tm_zone' member, define `HAVE_TM_ZONE'. Otherwise, if the
- external array `tzname' is found, define `HAVE_TZNAME'.
-
-
-File: autoconf.info, Node: Typedefs, Next: Compiler Characteristics, Prev: Structures, Up: Existing Tests
-
-Typedefs
-========
-
- The following macros check for C typedefs. If there is no macro
-specifically defined to check for a typedef you need, and you don't need
-to check for any special properties of it, then you can use a general
-typedef check macro.
-
-* Menu:
-
-* Particular Typedefs:: Special handling to find certain types.
-* Generic Typedefs:: How to find other types.
-
-
-File: autoconf.info, Node: Particular Typedefs, Next: Generic Typedefs, Up: Typedefs
-
-Particular Typedef Checks
--------------------------
-
- These macros check for particular C typedefs in `sys/types.h' and
-`stdlib.h' (if it exists).
-
- - Macro: AC_TYPE_GETGROUPS
- Define `GETGROUPS_T' to be whichever of `gid_t' or `int' is the
- base type of the array argument to `getgroups'.
-
- - Macro: AC_TYPE_MODE_T
- If `mode_t' is not defined, define `mode_t' to be `int'.
-
- - Macro: AC_TYPE_OFF_T
- If `off_t' is not defined, define `off_t' to be `long'.
-
- - Macro: AC_TYPE_PID_T
- If `pid_t' is not defined, define `pid_t' to be `int'.
-
- - Macro: AC_TYPE_SIGNAL
- If `signal.h' declares `signal' as returning a pointer to a
- function returning `void', define `RETSIGTYPE' to be `void';
- otherwise, define it to be `int'.
-
- Define signal handlers as returning type `RETSIGTYPE':
-
- RETSIGTYPE
- hup_handler ()
- {
- ...
- }
-
- - Macro: AC_TYPE_SIZE_T
- If `size_t' is not defined, define `size_t' to be `unsigned'.
-
- - Macro: AC_TYPE_UID_T
- If `uid_t' is not defined, define `uid_t' to be `int' and `gid_t'
- to be `int'.
-
-
-File: autoconf.info, Node: Generic Typedefs, Prev: Particular Typedefs, Up: Typedefs
-
-Generic Typedef Checks
-----------------------
-
- This macro is used to check for typedefs not covered by the
-particular test macros.
-
- - Macro: AC_CHECK_TYPE (TYPE, DEFAULT)
- If the type TYPE is not defined in `sys/types.h' or `stdlib.h' (if
- it exists), define it to be the C (or C++) builtin type DEFAULT;
- e.g., `short' or `unsigned'.
-
-
-File: autoconf.info, Node: Compiler Characteristics, Next: System Services, Prev: Typedefs, Up: Existing Tests
-
-Compiler Characteristics
-========================
-
- The following macros check for C compiler or machine architecture
-features. To check for characteristics not listed here, use
-`AC_TRY_COMPILE' (*note Examining Syntax::.) or `AC_TRY_RUN' (*note Run
-Time::.)
-
- - Macro: AC_C_BIGENDIAN
- If words are stored with the most significant byte first (like
- Motorola and SPARC, but not Intel and VAX, CPUs), define
- `WORDS_BIGENDIAN'.
-
- - Macro: AC_C_CONST
- If the C compiler does not fully support the keyword `const',
- define `const' to be empty. Some C compilers that do not define
- `__STDC__' do support `const'; some compilers that define
- `__STDC__' do not completely support `const'. Programs can simply
- use `const' as if every C compiler supported it; for those that
- don't, the `Makefile' or configuration header file will define it
- as empty.
-
- - Macro: AC_C_INLINE
- If the C compiler is a version of GCC that supports the keyword
- `__inline' but not `inline' (such as some NeXT versions), define
- `inline' to be `__inline'.
-
- - Macro: AC_C_CHAR_UNSIGNED
- If the C type `char' is unsigned, define `__CHAR_UNSIGNED__',
- unless the C compiler predefines it.
-
- - Macro: AC_C_LONG_DOUBLE
- If the C compiler supports the `long double' type, define
- `HAVE_LONG_DOUBLE'. Some C compilers that do not define
- `__STDC__' do support the `long double' type; some compilers that
- define `__STDC__' do not support `long double'.
-
- - Macro: AC_CHECK_SIZEOF (TYPE)
- Define `SIZEOF_UCTYPE' to be the size in bytes of the C (or C++)
- builtin type TYPE, e.g. `int' or `char *'. If `type' is unknown
- to the compiler, it gets a size of 0. UCTYPE is TYPE, with
- lowercase converted to uppercase, spaces changed to underscores,
- and asterisks changed to `P'. For example, the call
- AC_CHECK_SIZEOF(int *)
-
- defines `SIZEOF_INT_P' to be 8 on DEC Alpha AXP systems.
-
- - Macro: AC_INT_16_BITS
- If the C type `int' is 16 bits wide, define `INT_16_BITS'. This
- macro is obsolete; it is more general to use
- `AC_CHECK_SIZEOF(int)' instead.
-
- - Macro: AC_LONG_64_BITS
- If the C type `long int' is 64 bits wide, define `LONG_64_BITS'.
- This macro is obsolete; it is more general to use
- `AC_CHECK_SIZEOF(long)' instead.
-
-
-File: autoconf.info, Node: System Services, Next: UNIX Variants, Prev: Compiler Characteristics, Up: Existing Tests
-
-System Services
-===============
-
- The following macros check for operating system services or
-capabilities.
-
- - Macro: AC_SYS_INTERPRETER
- Check whether the system supports starting scripts with a line of
- the form `#!/bin/csh' to select the interpreter to use for the
- script. After running this macro, shell code in `configure.in'
- can check the variable `ac_cv_sys_interpreter'; it will be set to
- `yes' if the system supports `#!', `no' if not.
-
- - Macro: AC_PATH_X
- Try to locate the X Window System include files and libraries. If
- the user gave the command line options `--x-includes=DIR' and
- `--x-libraries=DIR', use those directories. If either or both
- were not given, get the missing values by running `xmkmf' on a
- trivial `Imakefile' and examining the `Makefile' that it produces.
- If that fails (such as if `xmkmf' is not present), look for them
- in several directories where they often reside. If either method
- is successful, set the shell variables `x_includes' and
- `x_libraries' to their locations, unless they are in directories
- the compiler searches by default.
-
- If both methods fail, or the user gave the command line option
- `--without-x', set the shell variable `no_x' to `yes'; otherwise
- set it to the empty string.
-
- - Macro: AC_PATH_XTRA
- An enhanced version of `AC_PATH_X'. Add the C compiler flags that
- X needs to output variable `X_CFLAGS', and the X linker flags to
- `X_LIBS'. If X is not available, add `-DX_DISPLAY_MISSING' to
- `X_CFLAGS'.
-
- Also check for special libraries that some systems need in order to
- compile X programs. Add any that the system needs to output
- variable `X_EXTRA_LIBS'. And check for special X11R6 libraries
- that need to be linked with before `-lX11', and add any found to
- the output variable `X_PRE_LIBS'.
-
- - Macro: AC_SYS_LONG_FILE_NAMES
- If the system supports file names longer than 14 characters, define
- `HAVE_LONG_FILE_NAMES'.
-
- - Macro: AC_SYS_RESTARTABLE_SYSCALLS
- If the system automatically restarts a system call that is
- interrupted by a signal, define `HAVE_RESTARTABLE_SYSCALLS'.
-
-
-File: autoconf.info, Node: UNIX Variants, Prev: System Services, Up: Existing Tests
-
-UNIX Variants
-=============
-
- The following macros check for certain operating systems that need
-special treatment for some programs, due to exceptional oddities in
-their header files or libraries. These macros are warts; they will be
-replaced by a more systematic approach, based on the functions they make
-available or the environments they provide.
-
- - Macro: AC_AIX
- If on AIX, define `_ALL_SOURCE'. Allows the use of some BSD
- functions. Should be called before any macros that run the C
- compiler.
-
- - Macro: AC_DYNIX_SEQ
- If on Dynix/PTX (Sequent UNIX), add `-lseq' to output variable
- `LIBS'. This macro is obsolete; instead, use `AC_FUNC_GETMNTENT'.
-
- - Macro: AC_IRIX_SUN
- If on IRIX (Silicon Graphics UNIX), add `-lsun' to output variable
- `LIBS'. This macro is obsolete. If you were using it to get
- `getmntent', use `AC_FUNC_GETMNTENT' instead. If you used it for
- the NIS versions of the password and group functions, use
- `AC_CHECK_LIB(sun, getpwnam)'.
-
- - Macro: AC_ISC_POSIX
- If on a POSIXized ISC UNIX, define `_POSIX_SOURCE' and add
- `-posix' (for the GNU C compiler) or `-Xp' (for other C compilers)
- to output variable `CC'. This allows the use of POSIX facilities.
- Must be called after `AC_PROG_CC' and before any other macros
- that run the C compiler.
-
- - Macro: AC_MINIX
- If on Minix, define `_MINIX' and `_POSIX_SOURCE' and define
- `_POSIX_1_SOURCE' to be 2. This allows the use of POSIX
- facilities. Should be called before any macros that run the C
- compiler.
-
- - Macro: AC_SCO_INTL
- If on SCO UNIX, add `-lintl' to output variable `LIBS'. This
- macro is obsolete; instead, use `AC_FUNC_STRFTIME'.
-
- - Macro: AC_XENIX_DIR
- If on Xenix, add `-lx' to output variable `LIBS'. Also, if
- `dirent.h' is being used, add `-ldir' to `LIBS'. This macro is
- obsolete; use `AC_HEADER_DIRENT' instead.
-
-
-File: autoconf.info, Node: Writing Tests, Next: Results, Prev: Existing Tests, Up: Top
-
-Writing Tests
-*************
-
- If the existing feature tests don't do something you need, you have
-to write new ones. These macros are the building blocks. They provide
-ways for other macros to check whether various kinds of features are
-available and report the results.
-
- This chapter contains some suggestions and some of the reasons why
-the existing tests are written the way they are. You can also learn a
-lot about how to write Autoconf tests by looking at the existing ones.
-If something goes wrong in one or more of the Autoconf tests, this
-information can help you understand the assumptions behind them, which
-might help you figure out how to best solve the problem.
-
- These macros check the output of the C compiler system. They do not
-cache the results of their tests for future use (*note Caching
-Results::.), because they don't know enough about the information they
-are checking for to generate a cache variable name. They also do not
-print any messages, for the same reason. The checks for particular
-kinds of C features call these macros and do cache their results and
-print messages about what they're checking for.
-
-* Menu:
-
-* Examining Declarations:: Detecting header files and declarations.
-* Examining Syntax:: Detecting language syntax features.
-* Examining Libraries:: Detecting functions and global variables.
-* Run Time:: Testing for run-time features.
-* Portable Shell:: Shell script portability pitfalls.
-* Testing Values and Files:: Checking strings and files.
-* Multiple Cases:: Tests for several possible values.
-* Language Choice:: Selecting which language to use for testing.
-
-
-File: autoconf.info, Node: Examining Declarations, Next: Examining Syntax, Up: Writing Tests
-
-Examining Declarations
-======================
-
- The macro `AC_TRY_CPP' is used to check whether particular header
-files exist. You can check for one at a time, or more than one if you
-need several header files to all exist for some purpose.
-
- - Macro: AC_TRY_CPP (INCLUDES, ACTION-IF-TRUE [, ACTION-IF-FALSE])
- INCLUDES is C or C++ `#include' statements and declarations, on
- which shell variable, backquote, and backslash substitutions are
- performed. (Actually, it can be any C program, but other
- statements are probably not useful.) If the preprocessor produces
- no error messages while processing it, run shell commands
- ACTION-IF-TRUE. Otherwise run shell commands ACTION-IF-FALSE.
-
- This macro uses `CPPFLAGS', but not `CFLAGS', because `-g', `-O',
- etc. are not valid options to many C preprocessors.
-
- Here is now to find out whether a header file contains a particular
-declaration, such as a typedef, a structure, a structure member, or a
-function. Use `AC_EGREP_HEADER' instead of running `grep' directly on
-the header file; on some systems the symbol might be defined in another
-header file that the file you are checking `#include's.
-
- - Macro: AC_EGREP_HEADER (PATTERN, HEADER-FILE, ACTION-IF-FOUND [,
- ACTION-IF-NOT-FOUND])
- If the output of running the preprocessor on the system header file
- HEADER-FILE matches the `egrep' regular expression PATTERN,
- execute shell commands ACTION-IF-FOUND, otherwise execute
- ACTION-IF-NOT-FOUND.
-
- To check for C preprocessor symbols, either defined by header files
-or predefined by the C preprocessor, use `AC_EGREP_CPP'. Here is an
-example of the latter:
-
- AC_EGREP_CPP(yes,
- [#ifdef _AIX
- yes
- #endif
- ], is_aix=yes, is_aix=no)
-
- - Macro: AC_EGREP_CPP (PATTERN, PROGRAM, ACTION-IF-FOUND [,
- ACTION-IF-NOT-FOUND])
- PROGRAM is the text of a C or C++ program, on which shell
- variable, backquote, and backslash substitutions are performed.
- If the output of running the preprocessor on PROGRAM matches the
- `egrep' regular expression PATTERN, execute shell commands
- ACTION-IF-FOUND, otherwise execute ACTION-IF-NOT-FOUND.
-
- This macro calls `AC_PROG_CPP' or `AC_PROG_CXXCPP' (depending on
- which language is current, *note Language Choice::.), if it hasn't
- been called already.
-
-
-File: autoconf.info, Node: Examining Syntax, Next: Examining Libraries, Prev: Examining Declarations, Up: Writing Tests
-
-Examining Syntax
-================
-
- To check for a syntax feature of the C or C++ compiler, such as
-whether it recognizes a certain keyword, use `AC_TRY_COMPILE' to try to
-compile a small program that uses that feature. You can also use it to
-check for structures and structure members that are not present on all
-systems.
-
- - Macro: AC_TRY_COMPILE (INCLUDES, FUNCTION-BODY, ACTION-IF-FOUND [,
- ACTION-IF-NOT-FOUND])
- Create a test C program to see whether a function whose body
- consists of FUNCTION-BODY can be compiled; INCLUDES is any
- `#include' statements needed by the code in FUNCTION-BODY. If the
- file compiles successfully, run shell commands ACTION-IF-FOUND,
- otherwise run ACTION-IF-NOT-FOUND. This macro uses `CFLAGS' or
- `CXXFLAGS', and `CPPFLAGS', when compiling. It does not try to
- link; use `AC_TRY_LINK' if you need to do that (*note Examining
- Libraries::.).
-
-
-File: autoconf.info, Node: Examining Libraries, Next: Run Time, Prev: Examining Syntax, Up: Writing Tests
-
-Examining Libraries
-===================
-
- To check for a library, a function, or a global variable, Autoconf
-`configure' scripts try to compile and link a small program that uses
-it. This is unlike Metaconfig, which by default uses `nm' or `ar' on
-the C library to try to figure out which functions are available.
-Trying to link with the function is usually a more reliable approach
-because it avoids dealing with the variations in the options and output
-formats of `nm' and `ar' and in the location of the standard libraries.
-It also allows configuring for cross-compilation or checking a
-function's runtime behavior if needed. On the other hand, it can be
-slower than scanning the libraries once.
-
- A few systems have linkers that do not return a failure exit status
-when there are unresolved functions in the link. This bug makes the
-configuration scripts produced by Autoconf unusable on those systems.
-However, some of them can be given options that make the exit status
-correct. This is a problem that Autoconf does not currently handle
-automatically.
-
- `AC_TRY_LINK' is used to compile test programs to test for functions
-and global variables. It is also used (by `AC_CHECK_LIB') to check for
-libraries, by adding the library being checked for to `LIBS'
-temporarily and trying to link a small program.
-
- - Macro: AC_TRY_LINK (INCLUDES, FUNCTION-BODY, ACTION-IF-FOUND [,
- ACTION-IF-NOT-FOUND])
- Create a test C program to see whether a function whose body
- consists of FUNCTION-BODY can be compiled and linked; INCLUDES is
- any `#include' statements needed by the code in FUNCTION-BODY. If
- the file compiles and links successfully, run shell commands
- ACTION-IF-FOUND, otherwise run ACTION-IF-NOT-FOUND. This macro
- uses `CFLAGS' or `CXXFLAGS', `CPPFLAGS', `LDFLAGS', and `LIBS'
- when compiling.
-
- - Macro: AC_COMPILE_CHECK (ECHO-TEXT, INCLUDES, FUNCTION-BODY,
- ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND])
- This is an obsolete version of `AC_TRY_LINK', with the addition
- that it prints `checking for ECHO-TEXT' to the standard output
- first, if ECHO-TEXT is non-empty. Use `AC_MSG_CHECKING' and
- `AC_MSG_RESULT' instead to print messages (*note Printing
- Messages::.).
-
diff --git a/util/autoconf/autoconf.info-3 b/util/autoconf/autoconf.info-3
deleted file mode 100644
index 0cbd5db..0000000
--- a/util/autoconf/autoconf.info-3
+++ /dev/null
@@ -1,1198 +0,0 @@
-This is Info file autoconf.info, produced by Makeinfo-1.55 from the
-input file ./autoconf.texi.
-
-START-INFO-DIR-ENTRY
-* Autoconf: (autoconf). Create source code configuration scripts.
-END-INFO-DIR-ENTRY
-
- This file documents the GNU Autoconf package for creating scripts to
-configure source code packages using templates and an `m4' macro
-package.
-
- Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc.
-
- Permission is granted to make and distribute verbatim copies of this
-manual provided the copyright notice and this permission notice are
-preserved on all copies.
-
- Permission is granted to copy and distribute modified versions of
-this manual under the conditions for verbatim copying, provided that
-the entire resulting derived work is distributed under the terms of a
-permission notice identical to this one.
-
- Permission is granted to copy and distribute translations of this
-manual into another language, under the above conditions for modified
-versions, except that this permission notice may be stated in a
-translation approved by the Foundation.
-
-
-File: autoconf.info, Node: Run Time, Next: Portable Shell, Prev: Examining Libraries, Up: Writing Tests
-
-Checking Run Time Behavior
-==========================
-
- Sometimes you need to find out how a system performs at run time,
-such as whether a given function has a certain capability or bug. If
-you can, make such checks when your program runs instead of when it is
-configured. You can check for things like the machine's endianness when
-your program initializes itself.
-
- If you really need to test for a run-time behavior while configuring,
-you can write a test program to determine the result, and compile and
-run it using `AC_TRY_RUN'. Avoid running test programs if possible,
-because using them prevents people from configuring your package for
-cross-compiling.
-
-* Menu:
-
-* Test Programs:: Running test programs.
-* Guidelines:: General rules for writing test programs.
-* Test Functions:: Avoiding pitfalls in test programs.
-
-
-File: autoconf.info, Node: Test Programs, Next: Guidelines, Up: Run Time
-
-Running Test Programs
----------------------
-
- Use the following macro if you need to test run-time behavior of the
-system while configuring.
-
- - Macro: AC_TRY_RUN (PROGRAM, ACTION-IF-TRUE [, ACTION-IF-FALSE [,
- ACTION-IF-CROSS-COMPILING]])
- PROGRAM is the text of a C program, on which shell variable and
- backquote substitutions are performed. If it compiles and links
- successfully and returns an exit status of 0 when executed, run
- shell commands ACTION-IF-TRUE. Otherwise run shell commands
- ACTION-IF-FALSE; the exit status of the program is available in
- the shell variable `$?'. This macro uses `CFLAGS' or `CXXFLAGS',
- `CPPFLAGS', `LDFLAGS', and `LIBS' when compiling.
-
- If the C compiler being used does not produce executables that run
- on the system where `configure' is being run, then the test
- program is not run. If the optional shell commands
- ACTION-IF-CROSS-COMPILING are given, they are run instead and this
- macro calls `AC_C_CROSS' if it has not already been called.
- Otherwise, `configure' prints an error message and exits.
-
- Try to provide a pessimistic default value to use when
-cross-compiling makes run-time tests impossible. You do this by
-passing the optional last argument to `AC_TRY_RUN'. `autoconf' prints
-a warning message when creating `configure' each time it encounters a
-call to `AC_TRY_RUN' with no ACTION-IF-CROSS-COMPILING argument given.
-You may ignore the warning, though users will not be able to configure
-your package for cross-compiling. A few of the macros distributed with
-Autoconf produce this warning message.
-
- To configure for cross-compiling you can also choose a value for
-those parameters based on the canonical system name (*note Manual
-Configuration::.). Alternatively, set up a test results cache file with
-the correct values for the target system (*note Caching Results::.).
-
- To provide a default for calls of `AC_TRY_RUN' that are embedded in
-other macros, including a few of the ones that come with Autoconf, you
-can call `AC_C_CROSS' before running them. Then, if the shell variable
-`cross_compiling' is set to `yes', use an alternate method to get the
-results instead of calling the macros.
-
- - Macro: AC_C_CROSS
- If the C compiler being used does not produce executables that can
- run on the system where `configure' is being run, set the shell
- variable `cross_compiling' to `yes', otherwise `no'.
-
-
-File: autoconf.info, Node: Guidelines, Next: Test Functions, Prev: Test Programs, Up: Run Time
-
-Guidelines for Test Programs
-----------------------------
-
- Test programs should not write anything to the standard output. They
-should return 0 if the test succeeds, nonzero otherwise, so that success
-can be distinguished easily from a core dump or other failure;
-segmentation violations and other failures produce a nonzero exit
-status. Test programs should `exit', not `return', from `main',
-because on some systems (old Suns, at least) the argument to `return'
-in `main' is ignored.
-
- Test programs can use `#if' or `#ifdef' to check the values of
-preprocessor macros defined by tests that have already run. For
-example, if you call `AC_HEADER_STDC', then later on in `configure.in'
-you can have a test program that includes an ANSI C header file
-conditionally:
-
- #if STDC_HEADERS
- # include <stdlib.h>
- #endif
-
- If a test program needs to use or create a data file, give it a name
-that starts with `conftest', such as `conftestdata'. The `configure'
-script cleans up by running `rm -rf conftest*' after running test
-programs and if the script is interrupted.
-
-
-File: autoconf.info, Node: Test Functions, Prev: Guidelines, Up: Run Time
-
-Test Functions
---------------
-
- Function declarations in test programs should have a prototype
-conditionalized for C++. In practice, though, test programs rarely need
-functions that take arguments.
-
- #ifdef __cplusplus
- foo(int i)
- #else
- foo(i) int i;
- #endif
-
- Functions that test programs declare should also be conditionalized
-for C++, which requires `extern "C"' prototypes. Make sure to not
-include any header files containing clashing prototypes.
-
- #ifdef __cplusplus
- extern "C" void *malloc(size_t);
- #else
- char *malloc();
- #endif
-
- If a test program calls a function with invalid parameters (just to
-see whether it exists), organize the program to ensure that it never
-invokes that function. You can do this by calling it in another
-function that is never invoked. You can't do it by putting it after a
-call to `exit', because GCC version 2 knows that `exit' never returns
-and optimizes out any code that follows it in the same block.
-
- If you include any header files, make sure to call the functions
-relevant to them with the correct number of arguments, even if they are
-just 0, to avoid compilation errors due to prototypes. GCC version 2
-has internal prototypes for several functions that it automatically
-inlines; for example, `memcpy'. To avoid errors when checking for
-them, either pass them the correct number of arguments or redeclare them
-with a different return type (such as `char').
-
-
-File: autoconf.info, Node: Portable Shell, Next: Testing Values and Files, Prev: Run Time, Up: Writing Tests
-
-Portable Shell Programming
-==========================
-
- When writing your own checks, there are some shell script programming
-techniques you should avoid in order to make your code portable. The
-Bourne shell and upward-compatible shells like Bash and the Korn shell
-have evolved over the years, but to prevent trouble, do not take
-advantage of features that were added after UNIX version 7, circa 1977.
-You should not use shell functions, aliases, negated character classes,
-or other features that are not found in all Bourne-compatible shells;
-restrict yourself to the lowest common denominator. Even `unset' is
-not supported by all shells!
-
- The set of external programs you should run in a `configure' script
-is fairly small. *Note Utilities in Makefiles:
-(standards.info)Utilities in Makefiles, for the list. This restriction
-allows users to start out with a fairly small set of programs and build
-the rest, avoiding too many interdependencies between packages.
-
- Some of these external utilities have a portable subset of features,
-as well; for example, don't rely on `ln' having a `-f' option or `cat'
-having any options. `sed' scripts should not contain comments or use
-branch labels longer than 8 characters. Don't use `grep -s' to
-suppress output, because `grep -s' on System V does not suppress
-output, only error messages. Instead, redirect the standard output and
-standard error (in case the file doesn't exist) of `grep' to
-`/dev/null'. Check the exit status of `grep' to determine whether it
-found a match.
-
-
-File: autoconf.info, Node: Testing Values and Files, Next: Multiple Cases, Prev: Portable Shell, Up: Writing Tests
-
-Testing Values and Files
-========================
-
- `configure' scripts need to test properties of many files and
-strings. Here are some portability problems to watch out for when doing
-those tests.
-
- The `test' program is the way to perform many file and string tests.
-It is often invoked by the alternate name `[', but using that name in
-Autoconf code is asking for trouble since it is an `m4' quote character.
-
- If you need to make multiple checks using `test', combine them with
-the shell operators `&&' and `||' instead of using the `test' operators
-`-a' and `-o'. On System V, the precedence of `-a' and `-o' is wrong
-relative to the unary operators; consequently, POSIX does not specify
-them, so using them is nonportable. If you combine `&&' and `||' in
-the same statement, keep in mind that they have equal precedence.
-
- To enable `configure' scripts to support cross-compilation, they
-shouldn't do anything that tests features of the host system instead of
-the target system. But occasionally you may find it necessary to check
-whether some arbitrary file exists. To do so, use `test -f' or `test
--r'. Do not use `test -x', because 4.3BSD does not have it.
-
- Another nonportable shell programming construction is
- VAR=${VAR:-VALUE}
-
-The intent is to set VAR to VALUE only if it is not already set, but if
-VAR has any value, even the empty string, to leave it alone. Old BSD
-shells, including the Ultrix `sh', don't accept the colon, and complain
-and die. A portable equivalent is
- : ${VAR=VALUE}
-
-
-File: autoconf.info, Node: Multiple Cases, Next: Language Choice, Prev: Testing Values and Files, Up: Writing Tests
-
-Multiple Cases
-==============
-
- Some operations are accomplished in several possible ways, depending
-on the UNIX variant. Checking for them essentially requires a "case
-statement". Autoconf does not directly provide one; however, it is
-easy to simulate by using a shell variable to keep track of whether a
-way to perform the operation has been found yet.
-
- Here is an example that uses the shell variable `fstype' to keep
-track of whether the remaining cases need to be checked.
-
- AC_MSG_CHECKING(how to get filesystem type)
- fstype=no
- # The order of these tests is important.
- AC_TRY_CPP([#include <sys/statvfs.h>
- #include <sys/fstyp.h>], AC_DEFINE(FSTYPE_STATVFS) fstype=SVR4)
- if test $fstype = no; then
- AC_TRY_CPP([#include <sys/statfs.h>
- #include <sys/fstyp.h>], AC_DEFINE(FSTYPE_USG_STATFS) fstype=SVR3)
- fi
- if test $fstype = no; then
- AC_TRY_CPP([#include <sys/statfs.h>
- #include <sys/vmount.h>], AC_DEFINE(FSTYPE_AIX_STATFS) fstype=AIX)
- fi
- # (more cases omitted here)
- AC_MSG_RESULT($fstype)
-
-
-File: autoconf.info, Node: Language Choice, Prev: Multiple Cases, Up: Writing Tests
-
-Language Choice
-===============
-
- Packages that use both C and C++ need to test features of both
-compilers. Autoconf-generated `configure' scripts check for C features
-by default. The following macros determine which language's compiler
-is used in tests that follow in `configure.in'.
-
- - Macro: AC_LANG_C
- Do compilation tests using `CC' and `CPP' and use extension `.c'
- for test programs.
-
- - Macro: AC_LANG_CPLUSPLUS
- Do compilation tests using `CXX' and `CXXCPP' and use extension
- `.C' for test programs.
-
- - Macro: AC_LANG_SAVE
- Remember the current language (as set by `AC_LANG_C' or
- `AC_LANG_CPLUSPLUS') on a stack. Does not change which language is
- current. Use this macro and `AC_LANG_RESTORE' in macros that need
- to temporarily switch to a particular language.
-
- - Macro: AC_LANG_RESTORE
- Select the language that is saved on the top of the stack, as set
- by `AC_LANG_SAVE', and remove it from the stack. This macro is
- equivalent to either `AC_LANG_C' or `AC_LANG_CPLUSPLUS', whichever
- had been run most recently when `AC_LANG_SAVE' was last called.
-
- Do not call this macro more times than `AC_LANG_SAVE'.
-
- - Macro: AC_REQUIRE_CPP
- Ensure that whichever preprocessor would currently be used for
- tests has been found. Calls `AC_REQUIRE' (*note Prerequisite
- Macros::.) with an argument of either `AC_PROG_CPP' or
- `AC_PROG_CXXCPP', depending on which language is current.
-
-
-File: autoconf.info, Node: Results, Next: Writing Macros, Prev: Writing Tests, Up: Top
-
-Results of Tests
-****************
-
- Once `configure' has determined whether a feature exists, what can
-it do to record that information? There are four sorts of things it can
-do: define a C preprocessor symbol, set a variable in the output files,
-save the result in a cache file for future `configure' runs, and print
-a message letting the user know the result of the test.
-
-* Menu:
-
-* Defining Symbols:: Defining C preprocessor symbols.
-* Setting Output Variables:: Replacing variables in output files.
-* Caching Results:: Speeding up subsequent `configure' runs.
-* Printing Messages:: Notifying users of progress or problems.
-
-
-File: autoconf.info, Node: Defining Symbols, Next: Setting Output Variables, Up: Results
-
-Defining C Preprocessor Symbols
-===============================
-
- A common action to take in response to a feature test is to define a
-C preprocessor symbol indicating the results of the test. That is done
-by calling `AC_DEFINE' or `AC_DEFINE_UNQUOTED'.
-
- By default, `AC_OUTPUT' places the symbols defined by these macros
-into the output variable `DEFS', which contains an option
-`-DSYMBOL=VALUE' for each symbol defined. Unlike in Autoconf version
-1, there is no variable `DEFS' defined while `configure' is running.
-To check whether Autoconf macros have already defined a certain C
-preprocessor symbol, test the value of the appropriate cache variable,
-as in this example:
-
- AC_CHECK_FUNC(vprintf, AC_DEFINE(HAVE_VPRINTF))
- if test "$ac_cv_func_vprintf" != yes; then
- AC_CHECK_FUNC(_doprnt, AC_DEFINE(HAVE_DOPRNT))
- fi
-
- If `AC_CONFIG_HEADER' has been called, then instead of creating
-`DEFS', `AC_OUTPUT' creates a header file by substituting the correct
-values into `#define' statements in a template file. *Note
-Configuration Headers::, for more information about this kind of output.
-
- - Macro: AC_DEFINE (VARIABLE [, VALUE])
- Define C preprocessor variable VARIABLE. If VALUE is given, set
- VARIABLE to that value (verbatim), otherwise set it to 1. VALUE
- should not contain literal newlines, and if you are not using
- `AC_CONFIG_HEADER' it should not contain any `#' characters, as
- `make' tends to eat them. To use a shell variable (which you need
- to do in order to define a value containing the `m4' quote
- characters `[' or `]'), use `AC_DEFINE_UNQUOTED' instead. The
- following example defines the C preprocessor variable `EQUATION'
- to be the string constant `"$a > $b"':
-
- AC_DEFINE(EQUATION, "$a > $b")
-
- - Macro: AC_DEFINE_UNQUOTED (VARIABLE [, VALUE])
- Like `AC_DEFINE', but three shell expansions are
- performed--once--on VARIABLE and VALUE: variable expansion (`$'),
- command substitution (``'), and backslash escaping (`\'). Single
- and double quote characters in the value have no special meaning.
- Use this macro instead of `AC_DEFINE' when VARIABLE or VALUE is a
- shell variable. Examples:
-
- AC_DEFINE_UNQUOTED(config_machfile, "${machfile}")
- AC_DEFINE_UNQUOTED(GETGROUPS_T, $ac_cv_type_getgroups)
- AC_DEFINE_UNQUOTED(${ac_tr_hdr})
-
- Due to the syntactical bizarreness of the Bourne shell, do not use
-semicolons to separate `AC_DEFINE' or `AC_DEFINE_UNQUOTED' calls from
-other macro calls or shell code; that can cause syntax errors in the
-resulting `configure' script. Use either spaces or newlines. That is,
-do this:
-
- AC_CHECK_HEADER(elf.h, AC_DEFINE(SVR4) LIBS="$LIBS -lelf")
-
-or this:
-
- AC_CHECK_HEADER(elf.h,
- AC_DEFINE(SVR4)
- LIBS="$LIBS -lelf")
-
-instead of this:
-
- AC_CHECK_HEADER(elf.h, AC_DEFINE(SVR4); LIBS="$LIBS -lelf")
-
-
-File: autoconf.info, Node: Setting Output Variables, Next: Caching Results, Prev: Defining Symbols, Up: Results
-
-Setting Output Variables
-========================
-
- One way to record the results of tests is to set "output variables",
-which are shell variables whose values are substituted into files that
-`configure' outputs. The two macros below create new output variables.
-*Note Preset Output Variables::, for a list of output variables that
-are always available.
-
- - Macro: AC_SUBST (VARIABLE)
- Create an output variable from a shell variable. Make `AC_OUTPUT'
- substitute the variable VARIABLE into output files (typically one
- or more `Makefile's). This means that `AC_OUTPUT' will replace
- instances of `@VARIABLE@' in input files with the value that the
- shell variable VARIABLE has when `AC_OUTPUT' is called. The value
- of VARIABLE should not contain literal newlines.
-
- - Macro: AC_SUBST_FILE (VARIABLE)
- Another way to create an output variable from a shell variable.
- Make `AC_OUTPUT' insert (without substitutions) the contents of
- the file named by shell variable VARIABLE into output files. This
- means that `AC_OUTPUT' will replace instances of `@VARIABLE@' in
- output files (such as `Makefile.in') with the contents of the file
- that the shell variable VARIABLE names when `AC_OUTPUT' is called.
- Set the variable to `/dev/null' for cases that do not have a file
- to insert.
-
- This macro is useful for inserting `Makefile' fragments containing
- special dependencies or other `make' directives for particular host
- or target types into `Makefile's. For example, `configure.in'
- could contain:
-
- AC_SUBST_FILE(host_frag)dnl
- host_frag=$srcdir/conf/sun4.mh
-
- and then a `Makefile.in' could contain:
-
- @host_frag@
-
-
-File: autoconf.info, Node: Caching Results, Next: Printing Messages, Prev: Setting Output Variables, Up: Results
-
-Caching Results
-===============
-
- To avoid checking for the same features repeatedly in various
-`configure' scripts (or repeated runs of one script), `configure' saves
-the results of many of its checks in a "cache file". If, when a
-`configure' script runs, it finds a cache file, it reads from it the
-results from previous runs and avoids rerunning those checks. As a
-result, `configure' can run much faster than if it had to perform all
-of the checks every time.
-
- - Macro: AC_CACHE_VAL (CACHE-ID, COMMANDS-TO-SET-IT)
- Ensure that the results of the check identified by CACHE-ID are
- available. If the results of the check were in the cache file
- that was read, and `configure' was not given the `--quiet' or
- `--silent' option, print a message saying that the result was
- cached; otherwise, run the shell commands COMMANDS-TO-SET-IT.
- Those commands should have no side effects except for setting the
- variable CACHE-ID. In particular, they should not call
- `AC_DEFINE'; the code that follows the call to `AC_CACHE_VAL'
- should do that, based on the cached value. Also, they should not
- print any messages, for example with `AC_MSG_CHECKING'; do that
- before calling `AC_CACHE_VAL', so the messages are printed
- regardless of whether the results of the check are retrieved from
- the cache or determined by running the shell commands. If the
- shell commands are run to determine the value, the value will be
- saved in the cache file just before `configure' creates its output
- files. *Note Cache Variable Names::, for how to choose the name
- of the CACHE-ID variable.
-
-* Menu:
-
-* Cache Variable Names:: Shell variables used in caches.
-* Cache Files:: Files `configure' uses for caching.
-
-
-File: autoconf.info, Node: Cache Variable Names, Next: Cache Files, Up: Caching Results
-
-Cache Variable Names
---------------------
-
- The names of cache variables should have the following format:
-
- PACKAGE-PREFIX_cv_VALUE-TYPE_SPECIFIC-VALUE[_ADDITIONAL-OPTIONS]
-
-for example, `ac_cv_header_stat_broken' or
-`ac_cv_prog_gcc_traditional'. The parts of the variable name are:
-
-PACKAGE-PREFIX
- An abbreviation for your package or organization; the same prefix
- you begin local Autoconf macros with, except lowercase by
- convention. For cache values used by the distributed Autoconf
- macros, this value is `ac'.
-
-`_cv_'
- Indicates that this shell variable is a cache value.
-
-VALUE-TYPE
- A convention for classifying cache values, to produce a rational
- naming system. The values used in Autoconf are listed in *Note
- Macro Names::.
-
-SPECIFIC-VALUE
- Which member of the class of cache values this test applies to.
- For example, which function (`alloca'), program (`gcc'), or output
- variable (`INSTALL').
-
-ADDITIONAL-OPTIONS
- Any particular behavior of the specific member that this test
- applies to. For example, `broken' or `set'. This part of the
- name may be omitted if it does not apply.
-
- Like their names, the values that may be assigned to cache variables
-have a few restrictions. The values may not contain single quotes or
-curly braces. Usually, their values will be boolean (`yes' or `no') or
-the names of files or functions; so this is not an important
-restriction.
-
-
-File: autoconf.info, Node: Cache Files, Prev: Cache Variable Names, Up: Caching Results
-
-Cache Files
------------
-
- A cache file is a shell script that caches the results of configure
-tests run on one system so they can be shared between configure scripts
-and configure runs. It is not useful on other systems. If its contents
-are invalid for some reason, the user may delete or edit it.
-
- By default, configure uses `./config.cache' as the cache file,
-creating it if it does not exist already. `configure' accepts the
-`--cache-file=FILE' option to use a different cache file; that is what
-`configure' does when it calls `configure' scripts in subdirectories,
-so they share the cache. Giving `--cache-file=/dev/null' disables
-caching, for debugging `configure'. *Note Subdirectories::, for
-information on configuring subdirectories with the `AC_CONFIG_SUBDIRS'
-macro. `config.status' only pays attention to the cache file if it is
-given the `--recheck' option, which makes it rerun `configure'.
-
- It is wrong to try to distribute cache files for particular system
-types. There is too much room for error in doing that, and too much
-administrative overhead in maintaining them. For any features that
-can't be guessed automatically, use the standard method of the canonical
-system type and linking files (*note Manual Configuration::.).
-
- The cache file on a particular system will gradually accumulate
-whenever someone runs a `configure' script; it will be initially
-nonexistent. Running `configure' merges the new cache results with the
-existing cache file. The site initialization script can specify a
-site-wide cache file to use instead of the default, to make it work
-transparently, as long as the same C compiler is used every time (*note
-Site Defaults::.).
-
-
-File: autoconf.info, Node: Printing Messages, Prev: Caching Results, Up: Results
-
-Printing Messages
-=================
-
- `configure' scripts need to give users running them several kinds of
-information. The following macros print messages in ways appropriate
-for each kind. The arguments to all of them get enclosed in shell
-double quotes, so the shell performs variable and backquote substitution
-on them.
-
- These macros are all wrappers around the `echo' shell command.
-`configure' scripts should rarely need to run `echo' directly to print
-messages for the user. Using these macros makes it easy to change how
-and when each kind of message is printed; such changes need only be
-made to the macro definitions, and all of the callers change
-automatically.
-
- - Macro: AC_MSG_CHECKING (FEATURE-DESCRIPTION)
- Notify the user that `configure' is checking for a particular
- feature. This macro prints a message that starts with `checking '
- and ends with `...' and no newline. It must be followed by a call
- to `AC_MSG_RESULT' to print the result of the check and the
- newline. The FEATURE-DESCRIPTION should be something like
- `whether the Fortran compiler accepts C++ comments' or `for c89'.
-
- This macro prints nothing if `configure' is run with the `--quiet'
- or `--silent' option.
-
- - Macro: AC_MSG_RESULT (RESULT-DESCRIPTION)
- Notify the user of the results of a check. RESULT-DESCRIPTION is
- almost always the value of the cache variable for the check,
- typically `yes', `no', or a file name. This macro should follow a
- call to `AC_MSG_CHECKING', and the RESULT-DESCRIPTION should be
- the completion of the message printed by the call to
- `AC_MSG_CHECKING'.
-
- This macro prints nothing if `configure' is run with the `--quiet'
- or `--silent' option.
-
- - Macro: AC_MSG_ERROR (ERROR-DESCRIPTION)
- Notify the user of an error that prevents `configure' from
- completing. This macro prints an error message on the standard
- error stream and exits `configure' with a nonzero status.
- eRROR-DESCRIPTION should be something like `invalid value $HOME
- for \$HOME'.
-
- - Macro: AC_MSG_WARN (PROBLEM-DESCRIPTION)
- Notify the `configure' user of a possible problem. This macro
- prints the message on the standard error stream; `configure'
- continues running afterward, so macros that call `AC_MSG_WARN'
- should provide a default (back-up) behavior for the situations
- they warn about. PROBLEM-DESCRIPTION should be something like `ln
- -s seems to make hard links'.
-
- The following two macros are an obsolete alternative to
-`AC_MSG_CHECKING' and `AC_MSG_RESULT'.
-
- - Macro: AC_CHECKING (FEATURE-DESCRIPTION)
- This macro is similar to `AC_MSG_CHECKING', except that it prints a
- newline after the FEATURE-DESCRIPTION. It is useful mainly to
- print a general description of the overall purpose of a group of
- feature checks, e.g.,
-
- AC_CHECKING(if stack overflow is detectable)
-
- - Macro: AC_VERBOSE (RESULT-DESCRIPTION)
- This macro is similar to `AC_MSG_RESULT', except that it is meant
- to follow a call to `AC_CHECKING' instead of `AC_MSG_CHECKING'; it
- starts the message it prints with a tab. It is considered
- obsolete.
-
-
-File: autoconf.info, Node: Writing Macros, Next: Manual Configuration, Prev: Results, Up: Top
-
-Writing Macros
-**************
-
- When you write a feature test that could be applicable to more than
-one software package, the best thing to do is encapsulate it in a new
-macro. Here are some instructions and guidelines for writing Autoconf
-macros.
-
-* Menu:
-
-* Macro Definitions:: Basic format of an Autoconf macro.
-* Macro Names:: What to call your new macros.
-* Quoting:: Protecting macros from unwanted expansion.
-* Dependencies Between Macros:: What to do when macros depend on other macros.
-
-
-File: autoconf.info, Node: Macro Definitions, Next: Macro Names, Up: Writing Macros
-
-Macro Definitions
-=================
-
- Autoconf macros are defined using the `AC_DEFUN' macro, which is
-similar to the `m4' builtin `define' macro. In addition to defining a
-macro, `AC_DEFUN' adds to it some code which is used to constrain the
-order in which macros are called (*note Prerequisite Macros::.).
-
- An Autoconf macro definition looks like this:
-
- AC_DEFUN(MACRO-NAME, [MACRO-BODY])
-
-The square brackets here do not indicate optional text: they should
-literally be present in the macro definition to avoid macro expansion
-problems (*note Quoting::.). You can refer to any arguments passed to
-the macro as `$1', `$2', etc.
-
- To introduce comments in `m4', use the `m4' builtin `dnl'; it causes
-`m4' to discard the text through the next newline. It is not needed
-between macro definitions in `acsite.m4' and `aclocal.m4', because all
-output is discarded until `AC_INIT' is called.
-
- *Note How to define new macros: (m4.info)Definitions, for more
-complete information on writing `m4' macros.
-
-
-File: autoconf.info, Node: Macro Names, Next: Quoting, Prev: Macro Definitions, Up: Writing Macros
-
-Macro Names
-===========
-
- All of the Autoconf macros have all-uppercase names starting with
-`AC_' to prevent them from accidentally conflicting with other text.
-All shell variables that they use for internal purposes have
-mostly-lowercase names starting with `ac_'. To ensure that your macros
-don't conflict with present or future Autoconf macros, you should
-prefix your own macro names and any shell variables they use with some
-other sequence. Possibilities include your initials, or an abbreviation
-for the name of your organization or software package.
-
- Most of the Autoconf macros' names follow a structured naming
-convention that indicates the kind of feature check by the name. The
-macro names consist of several words, separated by underscores, going
-from most general to most specific. The names of their cache
-variables use the same convention (*note Cache Variable Names::., for
-more information on them).
-
- The first word of the name after `AC_' usually tells the category of
-feature being tested. Here are the categories used in Autoconf for
-specific test macros, the kind of macro that you are more likely to
-write. They are also used for cache variables, in all-lowercase. Use
-them where applicable; where they're not, invent your own categories.
-
-`C'
- C language builtin features.
-
-`DECL'
- Declarations of C variables in header files.
-
-`FUNC'
- Functions in libraries.
-
-`GROUP'
- UNIX group owners of files.
-
-`HEADER'
- Header files.
-
-`LIB'
- C libraries.
-
-`PATH'
- The full path names to files, including programs.
-
-`PROG'
- The base names of programs.
-
-`STRUCT'
- Definitions of C structures in header files.
-
-`SYS'
- Operating system features.
-
-`TYPE'
- C builtin or declared types.
-
-`VAR'
- C variables in libraries.
-
- After the category comes the name of the particular feature being
-tested. Any further words in the macro name indicate particular aspects
-of the feature. For example, `AC_FUNC_UTIME_NULL' checks the behavior
-of the `utime' function when called with a `NULL' pointer.
-
- A macro that is an internal subroutine of another macro should have a
-name that starts with the name of that other macro, followed by one or
-more words saying what the internal macro does. For example,
-`AC_PATH_X' has internal macros `AC_PATH_X_XMKMF' and
-`AC_PATH_X_DIRECT'.
-
-
-File: autoconf.info, Node: Quoting, Next: Dependencies Between Macros, Prev: Macro Names, Up: Writing Macros
-
-Quoting
-=======
-
- Macros that are called by other macros are evaluated by `m4' several
-times; each evaluation might require another layer of quotes to prevent
-unwanted expansions of macros or `m4' builtins, such as `define' and
-`$1'. Quotes are also required around macro arguments that contain
-commas, since commas separate the arguments from each other. It's a
-good idea to quote any macro arguments that contain newlines or calls
-to other macros, as well.
-
- Autoconf changes the `m4' quote characters from the default ``' and
-`'' to `[' and `]', because many of the macros use ``' and `'',
-mismatched. However, in a few places the macros need to use brackets
-(usually in C program text or regular expressions). In those places,
-they use the `m4' builtin command `changequote' to temporarily change
-the quote characters to `<<' and `>>'. (Sometimes, if they don't need
-to quote anything, they disable quoting entirely instead by setting the
-quote characters to empty strings.) Here is an example:
-
- AC_TRY_LINK(
- changequote(<<, >>)dnl
- <<#include <time.h>
- #ifndef tzname /* For SGI. */
- extern char *tzname[]; /* RS6000 and others reject char **tzname. */
- #endif>>,
- changequote([, ])dnl
- [atoi(*tzname);], ac_cv_var_tzname=yes, ac_cv_var_tzname=no)
-
- When you create a `configure' script using newly written macros,
-examine it carefully to check whether you need to add more quotes in
-your macros. If one or more words have disappeared in the `m4' output,
-you need more quotes. When in doubt, quote.
-
- However, it's also possible to put on too many layers of quotes. If
-this happens, the resulting `configure' script will contain unexpanded
-macros. The `autoconf' program checks for this problem by doing `grep
-AC_ configure'.
-
-
-File: autoconf.info, Node: Dependencies Between Macros, Prev: Quoting, Up: Writing Macros
-
-Dependencies Between Macros
-===========================
-
- Some Autoconf macros depend on other macros having been called first
-in order to work correctly. Autoconf provides a way to ensure that
-certain macros are called if needed and a way to warn the user if
-macros are called in an order that might cause incorrect operation.
-
-* Menu:
-
-* Prerequisite Macros:: Ensuring required information.
-* Suggested Ordering:: Warning about possible ordering problems.
-* Obsolete Macros:: Warning about old ways of doing things.
-
-
-File: autoconf.info, Node: Prerequisite Macros, Next: Suggested Ordering, Up: Dependencies Between Macros
-
-Prerequisite Macros
--------------------
-
- A macro that you write might need to use values that have previously
-been computed by other macros. For example, `AC_DECL_YYTEXT' examines
-the output of `flex' or `lex', so it depends on `AC_PROG_LEX' having
-been called first to set the shell variable `LEX'.
-
- Rather than forcing the user of the macros to keep track of the
-dependencies between them, you can use the `AC_REQUIRE' macro to do it
-automatically. `AC_REQUIRE' can ensure that a macro is only called if
-it is needed, and only called once.
-
- - Macro: AC_REQUIRE (MACRO-NAME)
- If the `m4' macro MACRO-NAME has not already been called, call it
- (without any arguments). Make sure to quote MACRO-NAME with
- square brackets. MACRO-NAME must have been defined using
- `AC_DEFUN' or else contain a call to `AC_PROVIDE' to indicate that
- it has been called.
-
- An alternative to using `AC_DEFUN' is to use `define' and call
-`AC_PROVIDE'. Because this technique does not prevent nested messages,
-it is considered obsolete.
-
- - Macro: AC_PROVIDE (THIS-MACRO-NAME)
- Record the fact that THIS-MACRO-NAME has been called.
- tHIS-MACRO-NAME should be the name of the macro that is calling
- `AC_PROVIDE'. An easy way to get it is from the `m4' builtin
- variable `$0', like this:
-
- AC_PROVIDE([$0])
-
-
-File: autoconf.info, Node: Suggested Ordering, Next: Obsolete Macros, Prev: Prerequisite Macros, Up: Dependencies Between Macros
-
-Suggested Ordering
-------------------
-
- Some macros should be run before another macro if both are called,
-but neither *requires* that the other be called. For example, a macro
-that changes the behavior of the C compiler should be called before any
-macros that run the C compiler. Many of these dependencies are noted in
-the documentation.
-
- Autoconf provides the `AC_BEFORE' macro to warn users when macros
-with this kind of dependency appear out of order in a `configure.in'
-file. The warning occurs when creating `configure' from
-`configure.in', not when running `configure'. For example,
-`AC_PROG_CPP' checks whether the C compiler can run the C preprocessor
-when given the `-E' option. It should therefore be called after any
-macros that change which C compiler is being used, such as
-`AC_PROG_CC'. So `AC_PROG_CC' contains:
-
- AC_BEFORE([$0], [AC_PROG_CPP])dnl
-
-This warns the user if a call to `AC_PROG_CPP' has already occurred
-when `AC_PROG_CC' is called.
-
- - Macro: AC_BEFORE (THIS-MACRO-NAME, CALLED-MACRO-NAME)
- Make `m4' print a warning message on the standard error output if
- CALLED-MACRO-NAME has already been called. THIS-MACRO-NAME should
- be the name of the macro that is calling `AC_BEFORE'. The macro
- CALLED-MACRO-NAME must have been defined using `AC_DEFUN' or else
- contain a call to `AC_PROVIDE' to indicate that it has been called.
-
-
-File: autoconf.info, Node: Obsolete Macros, Prev: Suggested Ordering, Up: Dependencies Between Macros
-
-Obsolete Macros
----------------
-
- Configuration and portability technology has evolved over the years.
-Often better ways of solving a particular problem are developed, or
-ad-hoc approaches are systematized. This process has occurred in many
-parts of Autoconf. One result is that some of the macros are now
-considered "obsolete"; they still work, but are no longer considered
-the best thing to do. Autoconf provides the `AC_OBSOLETE' macro to
-warn users producing `configure' scripts when they use obsolete macros,
-to encourage them to modernize. A sample call is:
-
- AC_OBSOLETE([$0], [; use AC_CHECK_HEADERS(unistd.h) instead])dnl
-
- - Macro: AC_OBSOLETE (THIS-MACRO-NAME [, SUGGESTION])
- Make `m4' print a message on the standard error output warning that
- THIS-MACRO-NAME is obsolete, and giving the file and line number
- where it was called. THIS-MACRO-NAME should be the name of the
- macro that is calling `AC_OBSOLETE'. If SUGGESTION is given, it
- is printed at the end of the warning message; for example, it can
- be a suggestion for what to use instead of THIS-MACRO-NAME.
-
-
-File: autoconf.info, Node: Manual Configuration, Next: Site Configuration, Prev: Writing Macros, Up: Top
-
-Manual Configuration
-********************
-
- A few kinds of features can't be guessed automatically by running
-test programs. For example, the details of the object file format, or
-special options that need to be passed to the compiler or linker. It is
-possible to check for such features using ad-hoc means, such as having
-`configure' check the output of the `uname' program, or looking for
-libraries that are unique to particular systems. However, Autoconf
-provides a uniform method for handling unguessable features.
-
-* Menu:
-
-* Specifying Names:: Specifying the system type.
-* Canonicalizing:: Getting the canonical system type.
-* System Type Variables:: Variables containing the system type.
-* Using System Type:: What to do with the system type.
-
-
-File: autoconf.info, Node: Specifying Names, Next: Canonicalizing, Up: Manual Configuration
-
-Specifying the System Type
-==========================
-
- Like other GNU `configure' scripts, Autoconf-generated `configure'
-scripts can make decisions based on a canonical name for the system
-type, which has the form:
-
- CPU-COMPANY-SYSTEM
-
- `configure' can usually guess the canonical name for the type of
-system it's running on. To do so it runs a script called
-`config.guess', which derives the name using the `uname' command or
-symbols predefined by the C preprocessor.
-
- Alternately, the user can specify the system type with command line
-arguments to `configure'. Doing so is necessary when cross-compiling.
-In the most complex case of cross-compiling, three system types are
-involved. The options to specify them are:
-
-`--build=BUILD-TYPE'
- the type of system on which the package is being configured and
- compiled (rarely needed);
-
-`--host=HOST-TYPE'
- the type of system on which the package will run;
-
-`--target=TARGET-TYPE'
- the type of system for which any compiler tools in the package will
- produce code.
-
-If the user gives `configure' a non-option argument, it is used as the
-default for the host, target, and build system types if the user does
-not specify them explicitly with options. The target and build types
-default to the host type if it is given and they are not. If you are
-cross-compiling, you still have to specify the names of the cross-tools
-you use, in particular the C compiler, on the `configure' command line,
-e.g.,
-
- CC=m68k-coff-gcc configure --target=m68k-coff
-
- `configure' recognizes short aliases for many system types; for
-example, `decstation' can be given on the command line instead of
-`mips-dec-ultrix4.2'. `configure' runs a script called `config.sub' to
-canonicalize system type aliases.
-
-
-File: autoconf.info, Node: Canonicalizing, Next: System Type Variables, Prev: Specifying Names, Up: Manual Configuration
-
-Getting the Canonical System Type
-=================================
-
- The following macros make the system type available to `configure'
-scripts. They run the shell script `config.guess' to determine any
-values for the host, target, and build types that they need and the user
-did not specify on the command line. They run `config.sub' to
-canonicalize any aliases the user gave. If you use these macros, you
-must distribute those two shell scripts along with your source code.
-*Note Output::, for information about the `AC_CONFIG_AUX_DIR' macro
-which you can use to control which directory `configure' looks for
-those scripts in. If you do not use either of these macros,
-`configure' ignores any `--host', `--target', and `--build' options
-given to it.
-
- - Macro: AC_CANONICAL_SYSTEM
- Determine the system type and set output variables to the names of
- the canonical system types. *Note System Type Variables::, for
- details about the variables this macro sets.
-
- - Macro: AC_CANONICAL_HOST
- Perform only the subset of `AC_CANONICAL_SYSTEM' relevant to the
- host type. This is all that is needed for programs that are not
- part of a compiler toolchain.
-
-
-File: autoconf.info, Node: System Type Variables, Next: Using System Type, Prev: Canonicalizing, Up: Manual Configuration
-
-System Type Variables
-=====================
-
- After calling `AC_CANONICAL_SYSTEM', the following output variables
-contain the system type information. After `AC_CANONICAL_HOST', only
-the `host' variables below are set.
-
-``build', `host', `target''
- the canonical system names;
-
-``build_alias', `host_alias', `target_alias''
- the names the user specified, or the canonical names if
- `config.guess' was used;
-
-``build_cpu', `build_vendor', `build_os''
-``host_cpu', `host_vendor', `host_os''
-``target_cpu', `target_vendor', `target_os''
- the individual parts of the canonical names (for convenience).
-
-
-File: autoconf.info, Node: Using System Type, Prev: System Type Variables, Up: Manual Configuration
-
-Using the System Type
-=====================
-
- How do you use a canonical system type? Usually, you use it in one
-or more `case' statements in `configure.in' to select system-specific C
-files. Then link those files, which have names based on the system
-name, to generic names, such as `host.h' or `target.c'. The `case'
-statement patterns can use shell wildcards to group several cases
-together, like in this fragment:
-
- case "$target" in
- i386-*-mach* | i386-*-gnu*) obj_format=aout emulation=mach bfd_gas=yes ;;
- i960-*-bout) obj_format=bout ;;
- esac
-
- - Macro: AC_LINK_FILES (SOURCE..., DEST...)
- Make `AC_OUTPUT' link each of the existing files SOURCE to the
- corresponding link name DEST. Makes a symbolic link if possible,
- otherwise a hard link. The DEST and SOURCE names should be
- relative to the top level source or build directory.
-
- For example, this call:
-
- AC_LINK_FILES(config/${machine}.h config/${obj_format}.h, host.h object.h)
-
- creates in the current directory `host.h', which is a link to
- `SRCDIR/config/${machine}.h', and `object.h', which is a link to
- `SRCDIR/config/${obj_format}.h'.
-
-
-File: autoconf.info, Node: Site Configuration, Next: Invoking configure, Prev: Manual Configuration, Up: Top
-
-Site Configuration
-******************
-
- `configure' scripts support several kinds of local configuration
-decisions. There are ways for users to specify where external software
-packages are, include or exclude optional features, install programs
-under modified names, and set default values for `configure' options.
-
-* Menu:
-
-* External Software:: Working with other optional software.
-* Package Options:: Selecting optional features.
-* Site Details:: Configuring site details.
-* Transforming Names:: Changing program names when installing.
-* Site Defaults:: Giving `configure' local defaults.
-
-
-File: autoconf.info, Node: External Software, Next: Package Options, Up: Site Configuration
-
-Working With External Software
-==============================
-
- Some packages require, or can optionally use, other software packages
-which are already installed. The user can give `configure' command
-line options to specify which such external software to use. The
-options have one of these forms:
-
- --with-PACKAGE[=ARG]
- --without-PACKAGE
-
- For example, `--with-gnu-ld' means work with the GNU linker instead
-of some other linker. `--with-x11' means work with X11.
-
- The user can give an argument by following the package name with `='
-and the argument. Giving an argument of `no' is for packages that are
-used by default; it says to *not* use the package. An argument that is
-neither `yes' nor `no' could include a name or number of a version of
-the other package, to specify more precisely which other package this
-program is supposed to work with. If no argument is given, it defaults
-to `yes'. `--without-PACKAGE' is equivalent to `--with-PACKAGE=no'.
-
- For each external software package that may be used, `configure.in'
-should call `AC_ARG_WITH' to detect whether the `configure' user asked
-to use it. Whether each package is used or not by default, and which
-arguments are valid, is up to you.
-
- - Macro: AC_ARG_WITH (PACKAGE, HELP-STRING, ACTION-IF-TRUE [,
- ACTION-IF-FALSE])
- If the user gave `configure' the option `--with-PACKAGE' or
- `--without-PACKAGE', run shell commands ACTION-IF-TRUE. Otherwise
- run shell commands ACTION-IF-FALSE. The name PACKAGE indicates
- another software package that this program should work with. It
- should consist only of alphanumeric characters and dashes.
-
- The option's argument is available to the shell commands
- ACTION-IF-TRUE in the shell variable `withval'.
-
- The argument HELP-STRING is a description of the option which
- looks like this:
- --with-readline support fancy command line editing
-
- HELP-STRING may be more than one line long, if more detail is
- needed. Just make sure the columns line up in `configure --help'.
- Avoid tabs in the help string. You'll need to enclose it in `['
- and `]' in order to produce the leading spaces.
-
- - Macro: AC_WITH (PACKAGE, ACTION-IF-TRUE [, ACTION-IF-FALSE])
- This is an obsolete version of `AC_ARG_WITH' that does not support
- providing a help string.
-
-
-File: autoconf.info, Node: Package Options, Next: Site Details, Prev: External Software, Up: Site Configuration
-
-Choosing Package Options
-========================
-
- If a software package has optional compile-time features, the user
-can give `configure' command line options to specify whether to compile
-them. The options have one of these forms:
-
- --enable-FEATURE[=ARG]
- --disable-FEATURE
-
- These options allow users to choose which optional features to build
-and install. `--enable-FEATURE' options should never make a feature
-behave differently or cause one feature to replace another. They
-should only cause parts of the program to be built rather than left out.
-
- The user can give an argument by following the feature name with `='
-and the argument. Giving an argument of `no' requests that the feature
-*not* be made available. A feature with an argument looks like
-`--enable-debug=stabs'. If no argument is given, it defaults to `yes'.
-`--disable-FEATURE' is equivalent to `--enable-FEATURE=no'.
-
- For each optional feature, `configure.in' should call
-`AC_ARG_ENABLE' to detect whether the `configure' user asked to include
-it. Whether each feature is included or not by default, and which
-arguments are valid, is up to you.
-
- - Macro: AC_ARG_ENABLE (FEATURE, HELP-STRING, ACTION-IF-TRUE [,
- ACTION-IF-FALSE])
- If the user gave `configure' the option `--enable-FEATURE' or
- `--disable-FEATURE', run shell commands ACTION-IF-TRUE. Otherwise
- run shell commands ACTION-IF-FALSE. The name FEATURE indicates an
- optional user-level facility. It should consist only of
- alphanumeric characters and dashes.
-
- The option's argument is available to the shell commands
- ACTION-IF-TRUE in the shell variable `enableval'. The HELP-STRING
- argument is like that of `AC_ARG_WITH' (*note External
- Software::.).
-
- - Macro: AC_ENABLE (FEATURE, ACTION-IF-TRUE [, ACTION-IF-FALSE])
- This is an obsolete version of `AC_ARG_ENABLE' that does not
- support providing a help string.
-
-
-File: autoconf.info, Node: Site Details, Next: Transforming Names, Prev: Package Options, Up: Site Configuration
-
-Configuring Site Details
-========================
-
- Some software packages require complex site-specific information.
-Some examples are host names to use for certain services, company
-names, and email addresses to contact. Since some configuration
-scripts generated by Metaconfig ask for such information interactively,
-people sometimes wonder how to get that information in
-Autoconf-generated configuration scripts, which aren't interactive.
-
- Such site configuration information should be put in a file that is
-edited *only by users*, not by programs. The location of the file can
-either be based on the `prefix' variable, or be a standard location
-such as the user's home directory. It could even be specified by an
-environment variable. The programs should examine that file at run
-time, rather than at compile time. That approach is more convenient
-for users and makes the configuration process simpler than getting the
-information while configuring. *Note Variables for Installation
-Directories: (standards)Directory Variables, for more information on
-where to put data files.
-
diff --git a/util/autoconf/autoconf.info-4 b/util/autoconf/autoconf.info-4
deleted file mode 100644
index f296435..0000000
--- a/util/autoconf/autoconf.info-4
+++ /dev/null
@@ -1,1123 +0,0 @@
-This is Info file autoconf.info, produced by Makeinfo-1.55 from the
-input file ./autoconf.texi.
-
-START-INFO-DIR-ENTRY
-* Autoconf: (autoconf). Create source code configuration scripts.
-END-INFO-DIR-ENTRY
-
- This file documents the GNU Autoconf package for creating scripts to
-configure source code packages using templates and an `m4' macro
-package.
-
- Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc.
-
- Permission is granted to make and distribute verbatim copies of this
-manual provided the copyright notice and this permission notice are
-preserved on all copies.
-
- Permission is granted to copy and distribute modified versions of
-this manual under the conditions for verbatim copying, provided that
-the entire resulting derived work is distributed under the terms of a
-permission notice identical to this one.
-
- Permission is granted to copy and distribute translations of this
-manual into another language, under the above conditions for modified
-versions, except that this permission notice may be stated in a
-translation approved by the Foundation.
-
-
-File: autoconf.info, Node: Transforming Names, Next: Site Defaults, Prev: Site Details, Up: Site Configuration
-
-Transforming Program Names When Installing
-==========================================
-
- Autoconf supports changing the names of programs when installing
-them. In order to use these transformations, `configure.in' must call
-the macro `AC_ARG_PROGRAM'.
-
- - Macro: AC_ARG_PROGRAM
- Place in output variable `program_transform_name' a sequence of
- `sed' commands for changing the names of installed programs.
-
- If any of the options described below are given to `configure',
- program names are transformed accordingly. Otherwise, if
- `AC_CANONICAL_SYSTEM' has been called and a `--target' value is
- given that differs from the host type (specified with `--host' or
- defaulted by `config.sub'), the target type followed by a dash is
- used as a prefix. Otherwise, no program name transformation is
- done.
-
-* Menu:
-
-* Transformation Options:: `configure' options to transforme names.
-* Transformation Examples:: Sample uses of transforming names.
-* Transformation Rules:: `Makefile' uses of transforming names.
-
-
-File: autoconf.info, Node: Transformation Options, Next: Transformation Examples, Up: Transforming Names
-
-Transformation Options
-----------------------
-
- You can specify name transformations by giving `configure' these
-command line options:
-
-`--program-prefix=PREFIX'
- prepend PREFIX to the names;
-
-`--program-suffix=SUFFIX'
- append SUFFIX to the names;
-
-`--program-transform-name=EXPRESSION'
- perform `sed' substitution EXPRESSION on the names.
-
-
-File: autoconf.info, Node: Transformation Examples, Next: Transformation Rules, Prev: Transformation Options, Up: Transforming Names
-
-Transformation Examples
------------------------
-
- These transformations are useful with programs that can be part of a
-cross-compilation development environment. For example, a
-cross-assembler running on a Sun 4 configured with
-`--target=i960-vxworks' is normally installed as `i960-vxworks-as',
-rather than `as', which could be confused with a native Sun 4 assembler.
-
- You can force a program name to begin with `g', if you don't want
-GNU programs installed on your system to shadow other programs with the
-same name. For example, if you configure GNU `diff' with
-`--program-prefix=g', then when you run `make install' it is installed
-as `/usr/local/bin/gdiff'.
-
- As a more sophistocated example, you could use
- --program-transform-name='s/^/g/; s/^gg/g/; s/^gless/less/'
-
-to prepend `g' to most of the program names in a source tree, excepting
-those like `gdb' that already have one and those like `less' and
-`lesskey' that aren't GNU programs. (That is assuming that you have a
-source tree containing those programs that is set up to use this
-feature.)
-
- One way to install multiple versions of some programs simultaneously
-is to append a version number to the name of one or both. For example,
-if you want to keep Autoconf version 1 around for awhile, you can
-configure Autoconf version 2 using `--program-suffix=2' to install the
-programs as `/usr/local/bin/autoconf2', `/usr/local/bin/autoheader2',
-etc.
-
-
-File: autoconf.info, Node: Transformation Rules, Prev: Transformation Examples, Up: Transforming Names
-
-Transformation Rules
---------------------
-
- Here is how to use the variable `program_transform_name' in a
-`Makefile.in':
-
- transform=@program_transform_name@
- install: all
- $(INSTALL_PROGRAM) myprog $(bindir)/`echo myprog|sed '$(transform)'`
-
- uninstall:
- rm -f $(bindir)/`echo myprog|sed '$(transform)'`
-
-If you have more than one program to install, you can do it in a loop:
-
- PROGRAMS=cp ls rm
- install:
- for p in $(PROGRAMS); do \
- $(INSTALL_PROGRAM) $$p $(bindir)/`echo $$p|sed '$(transform)'`; \
- done
-
- uninstall:
- for p in $(PROGRAMS); do \
- rm -f $(bindir)/`echo $$p|sed '$(transform)'`; \
- done
-
- Whether to do the transformations on documentation files (Texinfo or
-`man') is a tricky question; there seems to be no perfect answer, due
-to the several reasons for name transforming. Documentation is not
-usually particular to a specific architecture, and Texinfo files do not
-conflict with system documentation. But they might conflict with
-earlier versions of the same files, and `man' pages sometimes do
-conflict with system documentation. As a compromise, it is probably
-best to do name transformations on `man' pages but not on Texinfo
-manuals.
-
-
-File: autoconf.info, Node: Site Defaults, Prev: Transforming Names, Up: Site Configuration
-
-Setting Site Defaults
-=====================
-
- Autoconf-generated `configure' scripts allow your site to provide
-default values for some configuration values. You do this by creating
-site- and system-wide initialization files.
-
- If the environment variable `CONFIG_SITE' is set, `configure' uses
-its value as the name of a shell script to read. Otherwise, it reads
-the shell script `PREFIX/share/config.site' if it exists, then
-`PREFIX/etc/config.site' if it exists. Thus, settings in
-machine-specific files override those in machine-independent ones in
-case of conflict.
-
- Site files can be arbitrary shell scripts, but only certain kinds of
-code are really appropriate to be in them. Because `configure' reads
-any cache file after it has read any site files, a site file can define
-a default cache file to be shared between all Autoconf-generated
-`configure' scripts run on that system. If you set a default cache
-file in a site file, it is a good idea to also set the output variable
-`CC' in that site file, because the cache file is only valid for a
-particular compiler, but many systems have several available.
-
- Site files are also good places to set default values for other
-output variables, such as `CFLAGS', if you need to give them non-default
-values: anything you would normally do, repetitively, on the command
-line. If you use non-default values for PREFIX or EXEC_PREFIX
-(wherever you locate the site file), you can set them in the site file
-if you specify it with the `CONFIG_SITE' environment variable.
-
- You can set some cache values in the site file itself. Doing this is
-useful if you are cross-compiling, so it is impossible to check features
-that require running a test program. You could "prime the cache" by
-setting those values correctly for that system in
-`PREFIX/etc/config.site'. To find out the names of the cache variables
-you need to set, look for shell variables with `_cv_' in their names in
-the affected `configure' scripts, or in the Autoconf `m4' source code
-for those macros.
-
- The cache file is careful to not override any variables set in the
-site files. Similarly, you should not override command-line options in
-the site files. Your code should check that variables such as `prefix'
-and `cache_file' have their default values (as set near the top of
-`configure') before changing them.
-
- Here is a sample file `/usr/share/local/gnu/share/config.site'. The
-command `configure --prefix=/usr/share/local/gnu' would read this file
-(if `CONFIG_SITE' is not set to a different file).
-
- # config.site for configure
- #
- # Default --prefix and --exec-prefix.
- test "$prefix" = NONE && prefix=/usr/share/local/gnu
- test "$exec_prefix" = NONE && exec_prefix=/usr/local/gnu
- #
- # Give Autoconf 2.x generated configure scripts a shared default
- # cache file for feature test results, architecture-specific.
- if test "$cache_file" = ./config.cache; then
- cache_file="$prefix/var/config.cache"
- # A cache file is only valid for one C compiler.
- CC=gcc
- fi
-
-
-File: autoconf.info, Node: Invoking configure, Next: Invoking config.status, Prev: Site Configuration, Up: Top
-
-Running `configure' Scripts
-***************************
-
- Below are instructions on how to configure a package that uses a
-`configure' script, suitable for inclusion as an `INSTALL' file in the
-package. A plain-text version of `INSTALL' which you may use comes
-with Autoconf.
-
-* Menu:
-
-* Basic Installation:: Instructions for typical cases.
-* Compilers and Options:: Selecting compilers and optimization.
-* Build Directory:: Configuring in a different directory.
-* Installation Names:: Installing in different directories.
-* Optional Features:: Selecting optional features.
-* System Type:: Specifying the system type.
-* Sharing Defaults:: Setting site-wide defaults for `configure'.
-* Operation Controls:: Changing how `configure' runs.
-
-
-File: autoconf.info, Node: Basic Installation, Next: Compilers and Options, Up: Invoking configure
-
-Basic Installation
-==================
-
- These are generic installation instructions.
-
- The `configure' shell script attempts to guess correct values for
-various system-dependent variables used during compilation. It uses
-those values to create a `Makefile' in each directory of the package.
-It may also create one or more `.h' files containing system-dependent
-definitions. Finally, it creates a shell script `config.status' that
-you can run in the future to recreate the current configuration, a file
-`config.cache' that saves the results of its tests to speed up
-reconfiguring, and a file `config.log' containing compiler output
-(useful mainly for debugging `configure').
-
- If you need to do unusual things to compile the package, please try
-to figure out how `configure' could check whether to do them, and mail
-diffs or instructions to the address given in the `README' so they can
-be considered for the next release. If at some point `config.cache'
-contains results you don't want to keep, you may remove or edit it.
-
- The file `configure.in' is used to create `configure' by a program
-called `autoconf'. You only need `configure.in' if you want to change
-it or regenerate `configure' using a newer version of `autoconf'.
-
-The simplest way to compile this package is:
-
- 1. `cd' to the directory containing the package's source code and type
- `./configure' to configure the package for your system. If you're
- using `csh' on an old version of System V, you might need to type
- `sh ./configure' instead to prevent `csh' from trying to execute
- `configure' itself.
-
- Running `configure' takes awhile. While running, it prints some
- messages telling which features it is checking for.
-
- 2. Type `make' to compile the package.
-
- 3. Optionally, type `make check' to run any self-tests that come with
- the package.
-
- 4. Type `make install' to install the programs and any data files and
- documentation.
-
- 5. You can remove the program binaries and object files from the
- source directory by typing `make clean'. To also remove the files
- that `configure' created (so you can compile the package for a
- different kind of computer), type `make distclean'.
-
-
-File: autoconf.info, Node: Compilers and Options, Next: Build Directory, Prev: Basic Installation, Up: Invoking configure
-
-Compilers and Options
-=====================
-
- Some systems require unusual options for compilation or linking that
-the `configure' script does not know about. You can give `configure'
-initial values for variables by setting them in the environment. Using
-a Bourne-compatible shell, you can do that on the command line like
-this:
- CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
-
-Or on systems that have the `env' program, you can do it like this:
- env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
-
-
-File: autoconf.info, Node: Build Directory, Next: Installation Names, Prev: Compilers and Options, Up: Invoking configure
-
-Using a Different Build Directory
-=================================
-
- You can compile the package in a different directory from the one
-containing the source code. Doing so allows you to compile it on more
-than one kind of computer at the same time. To do this, you must use a
-version of `make' that supports the `VPATH' variable, such as GNU
-`make'. `cd' to the directory where you want the object files and
-executables to go and run the `configure' script. `configure'
-automatically checks for the source code in the directory that
-`configure' is in and in `..'.
-
-
-File: autoconf.info, Node: Installation Names, Next: Optional Features, Prev: Build Directory, Up: Invoking configure
-
-Installation Names
-==================
-
- By default, `make install' will install the package's files in
-`/usr/local/bin', `/usr/local/man', etc. You can specify an
-installation prefix other than `/usr/local' by giving `configure' the
-option `--prefix=PATH'.
-
- You can specify separate installation prefixes for
-architecture-specific files and architecture-independent files. If you
-give `configure' the option `--exec-prefix=PATH', the package will use
-PATH as the prefix for installing programs and libraries.
-Documentation and other data files will still use the regular prefix.
-
- If the package supports it, you can cause programs to be installed
-with an extra prefix or suffix on their names by giving `configure' the
-option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
-
-
-File: autoconf.info, Node: Optional Features, Next: System Type, Prev: Installation Names, Up: Invoking configure
-
-Optional Features
-=================
-
- Some packages pay attention to `--enable-FEATURE' options to
-`configure', where FEATURE indicates an optional part of the package.
-They may also pay attention to `--with-PACKAGE' options, where PACKAGE
-is something like `gnu-as' or `x' (for the X Window System). The
-`README' should mention any `--enable-' and `--with-' options that the
-package recognizes.
-
- For packages that use the X Window System, `configure' can usually
-find the X include and library files automatically, but if it doesn't,
-you can use the `configure' options `--x-includes=DIR' and
-`--x-libraries=DIR' to specify their locations.
-
-
-File: autoconf.info, Node: System Type, Next: Sharing Defaults, Prev: Optional Features, Up: Invoking configure
-
-Specifying the System Type
-==========================
-
- There may be some features `configure' can not figure out
-automatically, but needs to determine by the type of host the package
-will run on. Usually `configure' can figure that out, but if it prints
-a message saying it can not guess the host type, give it the
-`--host=TYPE' option. TYPE can either be a short name for the system
-type, such as `sun4', or a canonical name with three fields:
- CPU-COMPANY-SYSTEM
-
-See the file `config.sub' for the possible values of each field. If
-`config.sub' isn't included in this package, then this package doesn't
-need to know the host type.
-
- If you are building compiler tools for cross-compiling, you can also
-use the `--target=TYPE' option to select the type of system they will
-produce code for and the `--build=TYPE' option to select the type of
-system on which you are compiling the package.
-
-
-File: autoconf.info, Node: Sharing Defaults, Next: Operation Controls, Prev: System Type, Up: Invoking configure
-
-Sharing Defaults
-================
-
- If you want to set default values for `configure' scripts to share,
-you can create a site shell script called `config.site' that gives
-default values for variables like `CC', `cache_file', and `prefix'.
-`configure' looks for `PREFIX/share/config.site' if it exists, then
-`PREFIX/etc/config.site' if it exists. Or, you can set the
-`CONFIG_SITE' environment variable to the location of the site script.
-A warning: not all `configure' scripts look for a site script.
-
-
-File: autoconf.info, Node: Operation Controls, Prev: Sharing Defaults, Up: Invoking configure
-
-Operation Controls
-==================
-
- `configure' recognizes the following options to control how it
-operates.
-
-`--cache-file=FILE'
- Save the results of the tests in FILE instead of `config.cache'.
- Set FILE to `/dev/null' to disable caching, for debugging
- `configure'.
-
-`--help'
- Print a summary of the options to `configure', and exit.
-
-`--quiet'
-`--silent'
-`-q'
- Do not print messages saying which checks are being made.
-
-`--srcdir=DIR'
- Look for the package's source code in directory DIR. Usually
- `configure' can determine that directory automatically.
-
-`--version'
- Print the version of Autoconf used to generate the `configure'
- script, and exit.
-
-`configure' also accepts some other, not widely useful, options.
-
-
-File: autoconf.info, Node: Invoking config.status, Next: Questions, Prev: Invoking configure, Up: Top
-
-Recreating a Configuration
-**************************
-
- The `configure' script creates a file named `config.status' which
-describes which configuration options were specified when the package
-was last configured. This file is a shell script which, if run, will
-recreate the same configuration.
-
- You can give `config.status' the `--recheck' option to update
-itself. This option is useful if you change `configure', so that the
-results of some tests might be different from the previous run. The
-`--recheck' option re-runs `configure' with the same arguments you used
-before, plus the `--no-create' option, which prevent `configure' from
-running `config.status' and creating `Makefile' and other files, and
-the `--no-recursion' option, which prevents `configure' from running
-other `configure' scripts in subdirectories. (This is so other
-`Makefile' rules can run `config.status' when it changes; *note
-Automatic Remaking::., for an example).
-
- `config.status' also accepts the options `--help', which prints a
-summary of the options to `config.status', and `--version', which
-prints the version of Autoconf used to create the `configure' script
-that generated `config.status'.
-
- `config.status' checks several optional environment variables that
-can alter its behavior:
-
- - Variable: CONFIG_SHELL
- The shell with which to run `configure' for the `--recheck'
- option. It must be Bourne-compatible. The default is `/bin/sh'.
-
- - Variable: CONFIG_STATUS
- The file name to use for the shell script that records the
- configuration. The default is `./config.status'. This variable is
- useful when one package uses parts of another and the `configure'
- scripts shouldn't be merged because they are maintained separately.
-
- The following variables provide one way for separately distributed
-packages to share the values computed by `configure'. Doing so can be
-useful if some of the packages need a superset of the features that one
-of them, perhaps a common library, does. These variables allow a
-`config.status' file to create files other than the ones that its
-`configure.in' specifies, so it can be used for a different package.
-
- - Variable: CONFIG_FILES
- The files in which to perform `@VARIABLE@' substitutions. The
- default is the arguments given to `AC_OUTPUT' in `configure.in'.
-
- - Variable: CONFIG_HEADERS
- The files in which to substitute C `#define' statements. The
- default is the arguments given to `AC_CONFIG_HEADER'; if that
- macro was not called, `config.status' ignores this variable.
-
- These variables also allow you to write `Makefile' rules that
-regenerate only some of the files. For example, in the dependencies
-given above (*note Automatic Remaking::.), `config.status' is run twice
-when `configure.in' has changed. If that bothers you, you can make
-each run only regenerate the files for that rule:
-
- config.h: stamp-h
- stamp-h: config.h.in config.status
- CONFIG_FILES= CONFIG_HEADERS=config.h ./config.status
- echo > stamp-h
-
- Makefile: Makefile.in config.status
- CONFIG_FILES=Makefile CONFIG_HEADERS= ./config.status
-
-(If `configure.in' does not call `AC_CONFIG_HEADER', there is no need
-to set `CONFIG_HEADERS' in the `make' rules.)
-
-
-File: autoconf.info, Node: Questions, Next: Upgrading, Prev: Invoking config.status, Up: Top
-
-Questions About Autoconf
-************************
-
- Several questions about Autoconf come up occasionally. Here some of
-them are addressed.
-
-* Menu:
-
-* Distributing:: Distributing `configure' scripts.
-* Why GNU m4:: Why not use the standard `m4'?
-* Bootstrapping:: Autoconf and GNU `m4' require each other?
-* Why Not Imake:: Why GNU uses `configure' instead of Imake.
-
-
-File: autoconf.info, Node: Distributing, Next: Why GNU m4, Up: Questions
-
-Distributing `configure' Scripts
-================================
-
- What are the restrictions on distributing `configure'
- scripts that Autoconf generates? How does that affect my
- programs that use them?
-
- There are no restrictions on how the configuration scripts that
-Autoconf produces may be distributed or used. In Autoconf version 1,
-they were covered by the GNU General Public License. We still
-encourage software authors to distribute their work under terms like
-those of the GPL, but doing so is not required to use Autoconf.
-
- Of the other files that might be used with `configure',
-`config.h.in' is under whatever copyright you use for your
-`configure.in', since it is derived from that file and from the public
-domain file `acconfig.h'. `config.sub' and `config.guess' have an
-exception to the GPL when they are used with an Autoconf-generated
-`configure' script, which permits you to distribute them under the same
-terms as the rest of your package. `install-sh' is from the X
-Consortium and is not copyrighted.
-
-
-File: autoconf.info, Node: Why GNU m4, Next: Bootstrapping, Prev: Distributing, Up: Questions
-
-Why Require GNU `m4'?
-=====================
-
- Why does Autoconf require GNU `m4'?
-
- Many `m4' implementations have hard-coded limitations on the size
-and number of macros, which Autoconf exceeds. They also lack several
-builtin macros that it would be difficult to get along without in a
-sophisticated application like Autoconf, including:
-
- builtin
- indir
- patsubst
- __file__
- __line__
-
- Since only software maintainers need to use Autoconf, and since GNU
-`m4' is simple to configure and install, it seems reasonable to require
-GNU `m4' to be installed also. Many maintainers of GNU and other free
-software already have most of the GNU utilities installed, since they
-prefer them.
-
-
-File: autoconf.info, Node: Bootstrapping, Next: Why Not Imake, Prev: Why GNU m4, Up: Questions
-
-How Can I Bootstrap?
-====================
-
- If Autoconf requires GNU `m4' and GNU `m4' has an
- Autoconf `configure' script, how do I bootstrap? It seems
- like a chicken and egg problem!
-
- This is a misunderstanding. Although GNU `m4' does come with a
-`configure' script produced by Autoconf, Autoconf is not required in
-order to run the script and install GNU `m4'. Autoconf is only
-required if you want to change the `m4' `configure' script, which few
-people have to do (mainly its maintainer).
-
-
-File: autoconf.info, Node: Why Not Imake, Prev: Bootstrapping, Up: Questions
-
-Why Not Imake?
-==============
-
- Why not use Imake instead of `configure' scripts?
-
- Several people have written addressing this question, so I include
-adaptations of their explanations here.
-
- The following answer is based on one written by Richard Pixley:
-
- Autoconf generated scripts frequently work on machines which it has
-never been set up to handle before. That is, it does a good job of
-inferring a configuration for a new system. Imake cannot do this.
-
- Imake uses a common database of host specific data. For X11, this
-makes sense because the distribution is made as a collection of tools,
-by one central authority who has control over the database.
-
- GNU tools are not released this way. Each GNU tool has a maintainer;
-these maintainers are scattered across the world. Using a common
-database would be a maintenance nightmare. Autoconf may appear to be
-this kind of database, but in fact it is not. Instead of listing host
-dependencies, it lists program requirements.
-
- Imake is special-purpose. It is directed at building the X11
-distribution. By comparison to the GNU tools, this is a simple problem.
-If you view the GNU suite as a collection of native tools, then the
-problems are similar. But the GNU tools are more powerful than that.
-The development tools can be configured as cross tools in almost any
-host+target permutation. All of these configurations can be installed
-concurrently. They can even be configured to share host independent
-files across hosts. Imake doesn't address these issues.
-
- Imake templates are a form of standardization. The GNU coding
-standards address the same issues without necessarily imposing the same
-restrictions.
-
- Here is some further explanation, written by Per Bothner:
-
- One of the advantages of Imake is that it easy to generate large
-Makefiles using `cpp''s `#include' and macro mechanisms. However,
-`cpp' is not programmable: it has limited conditional facilities, and
-no looping. And `cpp' cannot inspect its environment.
-
- All of these problems are solved by using `sh' instead of `cpp'.
-The shell is fully programmable, has macro substitution, can execute
-(or source) other shell scripts, and can inspect its environment.
-
- Paul Eggert elaborates more:
-
- With Autoconf, installers need not assume that Imake itself is
-already installed and working well. This may not seem like much of an
-advantage to people who are accustomed to Imake. But on many hosts
-Imake is not installed or the default installation is not working well,
-and requiring Imake to install a package hinders the acceptance of that
-package on those hosts. For example, the Imake template and
-configuration files might not be installed properly on a host, or the
-Imake build procedure might wrongly assume that all source files are in
-one big directory tree, or the Imake configuration might assume one
-compiler whereas the package or the installer needs to use another, or
-there might be a version mismatch between the Imake expected by the
-package and the Imake suported by the host. These problems are much
-rarer with Autoconf, where each package comes with its own independent
-configuration processor.
-
- Also, Imake often suffers from unexpected interactions between
-`make' and the installer's C preprocessor. The fundamental problem
-here is that the C preprocessor was designed to preprocess C programs,
-not `Makefile's. This is much less of a problem with Autoconf, which
-uses the general-purpose preprocessor `m4', and where the package's
-author (rather than the installer) does the preprocessing in a standard
-way.
-
- Finally, Mark Eichin notes:
-
- Imake isn't all that extensible, either. In order to add new
-features to Imake, you need to provide you own project template, and
-duplicate most of the features of the existing one. This means that
-for a sophisticated project, using the vendor-provided Imake templates
-fails to provide any leverage--since they don't cover anything that
-your own project needs (unless it is an X11 program).
-
- On the other side, though:
-
- The one advantage that Imake has over `configure': `Imakefile's tend
-to be much shorter (likewise, less redundant) than `Makefile.in's.
-There is a fix to this, however--at least for the Kerberos V5 tree,
-we've modified things to call in common `post.in' and `pre.in'
-`Makefile' fragments for the entire tree. This means that a lot of
-common things don't have to be duplicated, even though they normally
-are in `configure' setups.
-
-
-File: autoconf.info, Node: Upgrading, Next: History, Prev: Questions, Up: Top
-
-Upgrading From Version 1
-************************
-
- Autoconf version 2 is mostly backward compatible with version 1.
-However, it introduces better ways to do some things, and doesn't
-support some of the ugly things in version 1. So, depending on how
-sophisticated your `configure.in' files are, you might have to do some
-manual work in order to upgrade to version 2. This chapter points out
-some problems to watch for when upgrading. Also, perhaps your
-`configure' scripts could benefit from some of the new features in
-version 2; the changes are summarized in the file `NEWS' in the
-Autoconf distribution.
-
- First, make sure you have GNU `m4' version 1.1 or higher installed,
-preferably 1.3 or higher. Versions before 1.1 have bugs that prevent
-them from working with Autoconf version 2. Versions 1.3 and later are
-much faster than earlier versions, because as of version 1.3, GNU `m4'
-has a more efficient implementation of diversions and can freeze its
-internal state in a file that it can read back quickly.
-
-* Menu:
-
-* Changed File Names:: Files you might rename.
-* Changed Makefiles:: New things to put in `Makefile.in'.
-* Changed Macros:: Macro calls you might replace.
-* Invoking autoupdate:: Replacing old macro names in `configure.in'.
-* Changed Results:: Changes in how to check test results.
-* Changed Macro Writing:: Better ways to write your own macros.
-
-
-File: autoconf.info, Node: Changed File Names, Next: Changed Makefiles, Up: Upgrading
-
-Changed File Names
-==================
-
- If you have an `aclocal.m4' installed with Autoconf (as opposed to
-in a particular package's source directory), you must rename it to
-`acsite.m4'. *Note Invoking autoconf::.
-
- If you distribute `install.sh' with your package, rename it to
-`install-sh' so `make' builtin rules won't inadvertantly create a file
-called `install' from it. `AC_PROG_INSTALL' looks for the script under
-both names, but it is best to use the new name.
-
- If you were using `config.h.top' or `config.h.bot', you still can,
-but you will have less clutter if you merge them into `acconfig.h'.
-*Note Invoking autoheader::.
-
-
-File: autoconf.info, Node: Changed Makefiles, Next: Changed Macros, Prev: Changed File Names, Up: Upgrading
-
-Changed Makefiles
-=================
-
- Add `@CFLAGS@', `@CPPFLAGS@', and `@LDFLAGS@' in your `Makefile.in'
-files, so they can take advantage of the values of those variables in
-the environment when `configure' is run. Doing this isn't necessary,
-but it's a convenience for users.
-
- Also add `@configure_input@' in a comment to each input file for
-`AC_OUTPUT', so that the output files will contain a comment saying
-they were produced by `configure'. Automatically selecting the right
-comment syntax for all the kinds of files that people call `AC_OUTPUT'
-on became too much work.
-
- Add `config.log' and `config.cache' to the list of files you remove
-in `distclean' targets.
-
- If you have the following in `Makefile.in':
-
- prefix = /usr/local
- exec_prefix = ${prefix}
-
-you must change it to:
-
- prefix = @prefix@
- exec_prefix = @exec_prefix@
-
-The old feature of replacing those variables without `@' characters
-around them has been removed.
-
-
-File: autoconf.info, Node: Changed Macros, Next: Invoking autoupdate, Prev: Changed Makefiles, Up: Upgrading
-
-Changed Macros
-==============
-
- Many of the macros were renamed in Autoconf version 2. You can still
-use the old names, but the new ones are clearer, and it's easier to find
-the documentation for them. *Note Old Macro Names::, for a table
-showing the new names for the old macros. Use the `autoupdate' program
-to convert your `configure.in' to using the new macro names. *Note
-Invoking autoupdate::.
-
- Some macros have been superseded by similar ones that do the job
-better, but are not call-compatible. If you get warnings about calling
-obsolete macros while running `autoconf', you may safely ignore them,
-but your `configure' script will generally work better if you follow
-the advice it prints about what to replace the obsolete macros with. In
-particular, the mechanism for reporting the results of tests has
-changed. If you were using `echo' or `AC_VERBOSE' (perhaps via
-`AC_COMPILE_CHECK'), your `configure' script's output will look better
-if you switch to `AC_MSG_CHECKING' and `AC_MSG_RESULT'. *Note Printing
-Messages::. Those macros work best in conjunction with cache
-variables. *Note Caching Results::.
-
-
-File: autoconf.info, Node: Invoking autoupdate, Next: Changed Results, Prev: Changed Macros, Up: Upgrading
-
-Using `autoupdate' to Modernize `configure'
-===========================================
-
- The `autoupdate' program updates a `configure.in' file that calls
-Autoconf macros by their old names to use the current macro names. In
-version 2 of Autoconf, most of the macros were renamed to use a more
-uniform and descriptive naming scheme. *Note Macro Names::, for a
-description of the new scheme. Although the old names still work
-(*note Old Macro Names::., for a list of the old macro names and the
-corresponding new names), you can make your `configure.in' files more
-readable and make it easier to use the current Autoconf documentation
-if you update them to use the new macro names.
-
- If given no arguments, `autoupdate' updates `configure.in', backing
-up the original version with the suffix `~' (or the value of the
-environment variable `SIMPLE_BACKUP_SUFFIX', if that is set). If you
-give `autoupdate' an argument, it reads that file instead of
-`configure.in' and writes the updated file to the standard output.
-
-`autoupdate' accepts the following options:
-
-`--help'
-`-h'
- Print a summary of the command line options and exit.
-
-`--macrodir=DIR'
-`-m DIR'
- Look for the Autoconf macro files in directory DIR instead of the
- default installation directory. You can also set the `AC_MACRODIR'
- environment variable to a directory; this option overrides the
- environment variable.
-
-`--version'
- Print the version number of `autoupdate' and exit.
-
-
-File: autoconf.info, Node: Changed Results, Next: Changed Macro Writing, Prev: Invoking autoupdate, Up: Upgrading
-
-Changed Results
-===============
-
- If you were checking the results of previous tests by examining the
-shell variable `DEFS', you need to switch to checking the values of the
-cache variables for those tests. `DEFS' no longer exists while
-`configure' is running; it is only created when generating output
-files. This difference from version 1 is because properly quoting the
-contents of that variable turned out to be too cumbersome and
-inefficient to do every time `AC_DEFINE' is called. *Note Cache
-Variable Names::.
-
- For example, here is a `configure.in' fragment written for Autoconf
-version 1:
-
- AC_HAVE_FUNCS(syslog)
- case "$DEFS" in
- *-DHAVE_SYSLOG*) ;;
- *) # syslog is not in the default libraries. See if it's in some other.
- saved_LIBS="$LIBS"
- for lib in bsd socket inet; do
- AC_CHECKING(for syslog in -l$lib)
- LIBS="$saved_LIBS -l$lib"
- AC_HAVE_FUNCS(syslog)
- case "$DEFS" in
- *-DHAVE_SYSLOG*) break ;;
- *) ;;
- esac
- LIBS="$saved_LIBS"
- done ;;
- esac
-
- Here is a way to write it for version 2:
-
- AC_CHECK_FUNCS(syslog)
- if test $ac_cv_func_syslog = no; then
- # syslog is not in the default libraries. See if it's in some other.
- for lib in bsd socket inet; do
- AC_CHECK_LIB($lib, syslog, [AC_DEFINE(HAVE_SYSLOG)
- LIBS="$LIBS $lib"; break])
- done
- fi
-
- If you were working around bugs in `AC_DEFINE_UNQUOTED' by adding
-backslashes before quotes, you need to remove them. It now works
-predictably, and does not treat quotes (except backquotes) specially.
-*Note Setting Output Variables::.
-
- All of the boolean shell variables set by Autoconf macros now use
-`yes' for the true value. Most of them use `no' for false, though for
-backward compatibility some use the empty string instead. If you were
-relying on a shell variable being set to something like 1 or `t' for
-true, you need to change your tests.
-
-
-File: autoconf.info, Node: Changed Macro Writing, Prev: Changed Results, Up: Upgrading
-
-Changed Macro Writing
-=====================
-
- When defining your own macros, you should now use `AC_DEFUN' instead
-of `define'. `AC_DEFUN' automatically calls `AC_PROVIDE' and ensures
-that macros called via `AC_REQUIRE' do not interrupt other macros, to
-prevent nested `checking...' messages on the screen. There's no actual
-harm in continuing to use the older way, but it's less convenient and
-attractive. *Note Macro Definitions::.
-
- You probably looked at the macros that came with Autoconf as a guide
-for how to do things. It would be a good idea to take a look at the new
-versions of them, as the style is somewhat improved and they take
-advantage of some new features.
-
- If you were doing tricky things with undocumented Autoconf internals
-(macros, variables, diversions), check whether you need to change
-anything to account for changes that have been made. Perhaps you can
-even use an officially supported technique in version 2 instead of
-kludging. Or perhaps not.
-
- To speed up your locally written feature tests, add caching to them.
-See whether any of your tests are of general enough usefulness to
-encapsulate into macros that you can share.
-
-
-File: autoconf.info, Node: History, Next: Old Macro Names, Prev: Upgrading, Up: Top
-
-History of Autoconf
-*******************
-
- You may be wondering, Why was Autoconf originally written? How did
-it get into its present form? (Why does it look like gorilla spit?) If
-you're not wondering, then this chapter contains no information useful
-to you, and you might as well skip it. If you *are* wondering, then
-let there be light...
-
-* Menu:
-
-* Genesis:: Prehistory and naming of `configure'.
-* Exodus:: The plagues of `m4' and Perl.
-* Leviticus:: The priestly code of portability arrives.
-* Numbers:: Growth and contributors.
-* Deuteronomy:: Approaching the promises of easy configuration.
-
-
-File: autoconf.info, Node: Genesis, Next: Exodus, Up: History
-
-Genesis
-=======
-
- In June 1991 I was maintaining many of the GNU utilities for the Free
-Software Foundation. As they were ported to more platforms and more
-programs were added, the number of `-D' options that users had to
-select in the `Makefile' (around 20) became burdensome. Especially for
-me--I had to test each new release on a bunch of different systems. So
-I wrote a little shell script to guess some of the correct settings for
-the fileutils package, and released it as part of fileutils 2.0. That
-`configure' script worked well enough that the next month I adapted it
-(by hand) to create similar `configure' scripts for several other GNU
-utilities packages. Brian Berliner also adapted one of my scripts for
-his CVS revision control system.
-
- Later that summer, I learned that Richard Stallman and Richard Pixley
-were developing similar scripts to use in the GNU compiler tools; so I
-adapted my `configure' scripts to support their evolving interface:
-using the file name `Makefile.in' as the templates; adding `+srcdir',
-the first option (of many); and creating `config.status' files.
-
-
-File: autoconf.info, Node: Exodus, Next: Leviticus, Prev: Genesis, Up: History
-
-Exodus
-======
-
- As I got feedback from users, I incorporated many improvements, using
-Emacs to search and replace, cut and paste, similar changes in each of
-the scripts. As I adapted more GNU utilities packages to use
-`configure' scripts, updating them all by hand became impractical.
-Rich Murphey, the maintainer of the GNU graphics utilities, sent me mail
-saying that the `configure' scripts were great, and asking if I had a
-tool for generating them that I could send him. No, I thought, but I
-should! So I started to work out how to generate them. And the
-journey from the slavery of hand-written `configure' scripts to the
-abundance and ease of Autoconf began.
-
- Cygnus `configure', which was being developed at around that time,
-is table driven; it is meant to deal mainly with a discrete number of
-system types with a small number of mainly unguessable features (such as
-details of the object file format). The automatic configuration system
-that Brian Fox had developed for Bash takes a similar approach. For
-general use, it seems to me a hopeless cause to try to maintain an
-up-to-date database of which features each variant of each operating
-system has. It's easier and more reliable to check for most features on
-the fly--especially on hybrid systems that people have hacked on
-locally or that have patches from vendors installed.
-
- I considered using an architecture similar to that of Cygnus
-`configure', where there is a single `configure' script that reads
-pieces of `configure.in' when run. But I didn't want to have to
-distribute all of the feature tests with every package, so I settled on
-having a different `configure' made from each `configure.in' by a
-preprocessor. That approach also offered more control and flexibility.
-
- I looked briefly into using the Metaconfig package, by Larry Wall,
-Harlan Stenn, and Raphael Manfredi, but I decided not to for several
-reasons. The `Configure' scripts it produces are interactive, which I
-find quite inconvenient; I didn't like the ways it checked for some
-features (such as library functions); I didn't know that it was still
-being maintained, and the `Configure' scripts I had seen didn't work on
-many modern systems (such as System V R4 and NeXT); it wasn't very
-flexible in what it could do in response to a feature's presence or
-absence; I found it confusing to learn; and it was too big and complex
-for my needs (I didn't realize then how much Autoconf would eventually
-have to grow).
-
- I considered using Perl to generate my style of `configure' scripts,
-but decided that `m4' was better suited to the job of simple textual
-substitutions: it gets in the way less, because output is implicit.
-Plus, everyone already has it. (Initially I didn't rely on the GNU
-extensions to `m4'.) Also, some of my friends at the University of
-Maryland had recently been putting `m4' front ends on several programs,
-including `tvtwm', and I was interested in trying out a new language.
-
-
-File: autoconf.info, Node: Leviticus, Next: Numbers, Prev: Exodus, Up: History
-
-Leviticus
-=========
-
- Since my `configure' scripts determine the system's capabilities
-automatically, with no interactive user intervention, I decided to call
-the program that generates them Autoconfig. But with a version number
-tacked on, that name would be too long for old UNIX file systems, so I
-shortened it to Autoconf.
-
- In the fall of 1991 I called together a group of fellow questers
-after the Holy Grail of portability (er, that is, alpha testers) to
-give me feedback as I encapsulated pieces of my handwritten scripts in
-`m4' macros and continued to add features and improve the techniques
-used in the checks. Prominent among the testers were Franc,ois Pinard,
-who came up with the idea of making an `autoconf' shell script to run
-`m4' and check for unresolved macro calls; Richard Pixley, who
-suggested running the compiler instead of searching the file system to
-find include files and symbols, for more accurate results; Karl Berry,
-who got Autoconf to configure TeX and added the macro index to the
-documentation; and Ian Taylor, who added support for creating a C
-header file as an alternative to putting `-D' options in a `Makefile',
-so he could use Autoconf for his UUCP package. The alpha testers
-cheerfully adjusted their files again and again as the names and
-calling conventions of the Autoconf macros changed from release to
-release. They all contributed many specific checks, great ideas, and
-bug fixes.
-
-
-File: autoconf.info, Node: Numbers, Next: Deuteronomy, Prev: Leviticus, Up: History
-
-Numbers
-=======
-
- In July 1992, after months of alpha testing, I released Autoconf 1.0,
-and converted many GNU packages to use it. I was surprised by how
-positive the reaction to it was. More people started using it than I
-could keep track of, including people working on software that wasn't
-part of the GNU Project (such as TCL, FSP, and Kerberos V5). Autoconf
-continued to improve rapidly, as many people using the `configure'
-scripts reported problems they encountered.
-
- Autoconf turned out to be a good torture test for `m4'
-implementations. UNIX `m4' started to dump core because of the length
-of the macros that Autoconf defined, and several bugs showed up in GNU
-`m4' as well. Eventually, we realized that we needed to use some
-features that only GNU `m4' has. 4.3BSD `m4', in particular, has an
-impoverished set of builtin macros; the System V version is better, but
-still doesn't provide everything we need.
-
- More development occurred as people put Autoconf under more stresses
-(and to uses I hadn't anticipated). Karl Berry added checks for X11.
-david zuhn contributed C++ support. Franc,ois Pinard made it diagnose
-invalid arguments. Jim Blandy bravely coerced it into configuring GNU
-Emacs, laying the groundwork for several later improvements. Roland
-McGrath got it to configure the GNU C Library, wrote the `autoheader'
-script to automate the creation of C header file templates, and added a
-`--verbose' option to `configure'. Noah Friedman added the
-`--macrodir' option and `AC_MACRODIR' environment variable. (He also
-coined the term "autoconfiscate" to mean "adapt a software package to
-use Autoconf".) Roland and Noah improved the quoting protection in
-`AC_DEFINE' and fixed many bugs, especially when I got sick of dealing
-with portability problems from February through June, 1993.
-
-
-File: autoconf.info, Node: Deuteronomy, Prev: Numbers, Up: History
-
-Deuteronomy
-===========
-
- A long wish list for major features had accumulated, and the effect
-of several years of patching by various people had left some residual
-cruft. In April 1994, while working for Cygnus Support, I began a major
-revision of Autoconf. I added most of the features of the Cygnus
-`configure' that Autoconf had lacked, largely by adapting the relevant
-parts of Cygnus `configure' with the help of david zuhn and Ken
-Raeburn. These features include support for using `config.sub',
-`config.guess', `--host', and `--target'; making links to files; and
-running `configure' scripts in subdirectories. Adding these features
-enabled Ken to convert GNU `as', and Rob Savoye to convert DejaGNU, to
-using Autoconf.
-
- I added more features in response to other peoples' requests. Many
-people had asked for `configure' scripts to share the results of the
-checks between runs, because (particularly when configuring a large
-source tree, like Cygnus does) they were frustratingly slow. Mike
-Haertel suggested adding site-specific initialization scripts. People
-distributing software that had to unpack on MS-DOS asked for a way to
-override the `.in' extension on the file names, which produced file
-names like `config.h.in' containing two dots. Jim Avera did an
-extensive examination of the problems with quoting in `AC_DEFINE' and
-`AC_SUBST'; his insights led to significant improvements. Richard
-Stallman asked that compiler output be sent to `config.log' instead of
-`/dev/null', to help people debug the Emacs `configure' script.
-
- I made some other changes because of my dissatisfaction with the
-quality of the program. I made the messages showing results of the
-checks less ambiguous, always printing a result. I regularized the
-names of the macros and cleaned up coding style inconsistencies. I
-added some auxiliary utilities that I had developed to help convert
-source code packages to use Autoconf. With the help of Franc,ois
-Pinard, I made the macros not interrupt each others' messages. (That
-feature revealed some performance bottlenecks in GNU `m4', which he
-hastily corrected!) I reorganized the documentation around problems
-people want to solve. And I began a testsuite, because experience had
-shown that Autoconf has a pronounced tendency to regress when we change
-it.
-
- Again, several alpha testers gave invaluable feedback, especially
-Franc,ois Pinard, Jim Meyering, Karl Berry, Rob Savoye, Ken Raeburn,
-and Mark Eichin.
-
- Finally, version 2.0 was ready. And there was much rejoicing. (And
-I have free time again. I think. Yeah, right.)
-
diff --git a/util/autoconf/autoconf.info-5 b/util/autoconf/autoconf.info-5
deleted file mode 100644
index b18e2b3..0000000
--- a/util/autoconf/autoconf.info-5
+++ /dev/null
@@ -1,607 +0,0 @@
-This is Info file autoconf.info, produced by Makeinfo-1.55 from the
-input file ./autoconf.texi.
-
-START-INFO-DIR-ENTRY
-* Autoconf: (autoconf). Create source code configuration scripts.
-END-INFO-DIR-ENTRY
-
- This file documents the GNU Autoconf package for creating scripts to
-configure source code packages using templates and an `m4' macro
-package.
-
- Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc.
-
- Permission is granted to make and distribute verbatim copies of this
-manual provided the copyright notice and this permission notice are
-preserved on all copies.
-
- Permission is granted to copy and distribute modified versions of
-this manual under the conditions for verbatim copying, provided that
-the entire resulting derived work is distributed under the terms of a
-permission notice identical to this one.
-
- Permission is granted to copy and distribute translations of this
-manual into another language, under the above conditions for modified
-versions, except that this permission notice may be stated in a
-translation approved by the Foundation.
-
-
-File: autoconf.info, Node: Old Macro Names, Next: Environment Variable Index, Prev: History, Up: Top
-
-Old Macro Names
-***************
-
- In version 2 of Autoconf, most of the macros were renamed to use a
-more uniform and descriptive naming scheme. Here are the old names of
-the macros that were renamed, followed by the current names of those
-macros. Although the old names are still accepted by the `autoconf'
-program for backward compatibility, the old names are considered
-obsolete. *Note Macro Names::, for a description of the new naming
-scheme.
-
-`AC_ALLOCA'
- `AC_FUNC_ALLOCA'
-
-`AC_ARG_ARRAY'
- removed because of limited usefulness
-
-`AC_CHAR_UNSIGNED'
- `AC_C_CHAR_UNSIGNED'
-
-`AC_CONST'
- `AC_C_CONST'
-
-`AC_CROSS_CHECK'
- `AC_C_CROSS'
-
-`AC_ERROR'
- `AC_MSG_ERROR'
-
-`AC_FIND_X'
- `AC_PATH_X'
-
-`AC_FIND_XTRA'
- `AC_PATH_XTRA'
-
-`AC_FUNC_CHECK'
- `AC_CHECK_FUNC'
-
-`AC_GCC_TRADITIONAL'
- `AC_PROG_GCC_TRADITIONAL'
-
-`AC_GETGROUPS_T'
- `AC_TYPE_GETGROUPS'
-
-`AC_GETLOADAVG'
- `AC_FUNC_GETLOADAVG'
-
-`AC_HAVE_FUNCS'
- `AC_CHECK_FUNCS'
-
-`AC_HAVE_HEADERS'
- `AC_CHECK_HEADERS'
-
-`AC_HAVE_POUNDBANG'
- `AC_SYS_INTERPRETER' (different calling convention)
-
-`AC_HEADER_CHECK'
- `AC_CHECK_HEADER'
-
-`AC_HEADER_EGREP'
- `AC_EGREP_HEADER'
-
-`AC_INLINE'
- `AC_C_INLINE'
-
-`AC_LN_S'
- `AC_PROG_LN_S'
-
-`AC_LONG_DOUBLE'
- `AC_C_LONG_DOUBLE'
-
-`AC_LONG_FILE_NAMES'
- `AC_SYS_LONG_FILE_NAMES'
-
-`AC_MAJOR_HEADER'
- `AC_HEADER_MAJOR'
-
-`AC_MINUS_C_MINUS_O'
- `AC_PROG_CC_C_O'
-
-`AC_MMAP'
- `AC_FUNC_MMAP'
-
-`AC_MODE_T'
- `AC_TYPE_MODE_T'
-
-`AC_OFF_T'
- `AC_TYPE_OFF_T'
-
-`AC_PID_T'
- `AC_TYPE_PID_T'
-
-`AC_PREFIX'
- `AC_PREFIX_PROGRAM'
-
-`AC_PROGRAMS_CHECK'
- `AC_CHECK_PROGS'
-
-`AC_PROGRAMS_PATH'
- `AC_PATH_PROGS'
-
-`AC_PROGRAM_CHECK'
- `AC_CHECK_PROG'
-
-`AC_PROGRAM_EGREP'
- `AC_EGREP_CPP'
-
-`AC_PROGRAM_PATH'
- `AC_PATH_PROG'
-
-`AC_REMOTE_TAPE'
- removed because of limited usefulness
-
-`AC_RESTARTABLE_SYSCALLS'
- `AC_SYS_RESTARTABLE_SYSCALLS'
-
-`AC_RETSIGTYPE'
- `AC_TYPE_SIGNAL'
-
-`AC_RSH'
- removed because of limited usefulness
-
-`AC_SETVBUF_REVERSED'
- `AC_FUNC_SETVBUF_REVERSED'
-
-`AC_SET_MAKE'
- `AC_PROG_MAKE_SET'
-
-`AC_SIZEOF_TYPE'
- `AC_CHECK_SIZEOF'
-
-`AC_SIZE_T'
- `AC_TYPE_SIZE_T'
-
-`AC_STAT_MACROS_BROKEN'
- `AC_HEADER_STAT'
-
-`AC_STDC_HEADERS'
- `AC_HEADER_STDC'
-
-`AC_STRCOLL'
- `AC_FUNC_STRCOLL'
-
-`AC_ST_BLKSIZE'
- `AC_STRUCT_ST_BLKSIZE'
-
-`AC_ST_BLOCKS'
- `AC_STRUCT_ST_BLOCKS'
-
-`AC_ST_RDEV'
- `AC_STRUCT_ST_RDEV'
-
-`AC_SYS_SIGLIST_DECLARED'
- `AC_DECL_SYS_SIGLIST'
-
-`AC_TEST_CPP'
- `AC_TRY_CPP'
-
-`AC_TEST_PROGRAM'
- `AC_TRY_RUN'
-
-`AC_TIMEZONE'
- `AC_STRUCT_TIMEZONE'
-
-`AC_TIME_WITH_SYS_TIME'
- `AC_HEADER_TIME'
-
-`AC_UID_T'
- `AC_TYPE_UID_T'
-
-`AC_UTIME_NULL'
- `AC_FUNC_UTIME_NULL'
-
-`AC_VFORK'
- `AC_FUNC_VFORK'
-
-`AC_VPRINTF'
- `AC_FUNC_VPRINTF'
-
-`AC_WAIT3'
- `AC_FUNC_WAIT3'
-
-`AC_WARN'
- `AC_MSG_WARN'
-
-`AC_WORDS_BIGENDIAN'
- `AC_C_BIGENDIAN'
-
-`AC_YYTEXT_POINTER'
- `AC_DECL_YYTEXT'
-
-
-File: autoconf.info, Node: Environment Variable Index, Next: Output Variable Index, Prev: Old Macro Names, Up: Top
-
-Environment Variable Index
-**************************
-
- This is an alphabetical list of the environment variables that
-Autoconf checks.
-
-* Menu:
-
-* AC_MACRODIR: Invoking autoupdate.
-* AC_MACRODIR: Invoking autoscan.
-* AC_MACRODIR: Invoking autoreconf.
-* AC_MACRODIR: Invoking ifnames.
-* AC_MACRODIR: Invoking autoheader.
-* AC_MACRODIR: Invoking autoconf.
-* CONFIG_FILES: Invoking config.status.
-* CONFIG_HEADERS: Invoking config.status.
-* CONFIG_SHELL: Invoking config.status.
-* CONFIG_SITE: Site Defaults.
-* CONFIG_STATUS: Invoking config.status.
-* SIMPLE_BACKUP_SUFFIX: Invoking autoupdate.
-
-
-File: autoconf.info, Node: Output Variable Index, Next: Preprocessor Symbol Index, Prev: Environment Variable Index, Up: Top
-
-Output Variable Index
-*********************
-
- This is an alphabetical list of the variables that Autoconf can
-substitute into files that it creates, typically one or more
-`Makefile's. *Note Setting Output Variables::, for more information on
-how this is done.
-
-* Menu:
-
-* ALLOCA: Particular Functions.
-* AWK: Particular Programs.
-* build: System Type Variables.
-* build_alias: System Type Variables.
-* build_cpu: System Type Variables.
-* build_os: System Type Variables.
-* build_vendor: System Type Variables.
-* CC: Particular Programs.
-* CC: UNIX Variants.
-* CC: Particular Programs.
-* CFLAGS: Preset Output Variables.
-* CFLAGS: Particular Programs.
-* configure_input: Preset Output Variables.
-* CPP: Particular Programs.
-* CPPFLAGS: Preset Output Variables.
-* CXX: Particular Programs.
-* CXXCPP: Particular Programs.
-* CXXFLAGS: Preset Output Variables.
-* CXXFLAGS: Particular Programs.
-* DEFS: Preset Output Variables.
-* exec_prefix: Preset Output Variables.
-* host: System Type Variables.
-* host_alias: System Type Variables.
-* host_cpu: System Type Variables.
-* host_os: System Type Variables.
-* host_vendor: System Type Variables.
-* INSTALL: Particular Programs.
-* INSTALL_DATA: Particular Programs.
-* INSTALL_PROGRAM: Particular Programs.
-* KMEM_GROUP: Particular Functions.
-* LDFLAGS: Preset Output Variables.
-* LEX: Particular Programs.
-* LEXLIB: Particular Programs.
-* LEX_OUTPUT_ROOT: Particular Programs.
-* LIBOBJS: Particular Functions.
-* LIBOBJS: Particular Functions.
-* LIBOBJS: Generic Functions.
-* LIBOBJS: Structures.
-* LIBS: UNIX Variants.
-* LIBS: UNIX Variants.
-* LIBS: Preset Output Variables.
-* LN_S: Particular Programs.
-* NEED_SETGID: Particular Functions.
-* prefix: Preset Output Variables.
-* program_transform_name: Transforming Names.
-* RANLIB: Particular Programs.
-* SET_MAKE: Output.
-* srcdir: Preset Output Variables.
-* subdirs: Subdirectories.
-* target: System Type Variables.
-* target_alias: System Type Variables.
-* target_cpu: System Type Variables.
-* target_os: System Type Variables.
-* target_vendor: System Type Variables.
-* top_srcdir: Preset Output Variables.
-* X_CFLAGS: System Services.
-* X_EXTRA_LIBS: System Services.
-* X_LIBS: System Services.
-* X_PRE_LIBS: System Services.
-* YACC: Particular Programs.
-
-
-File: autoconf.info, Node: Preprocessor Symbol Index, Next: Macro Index, Prev: Output Variable Index, Up: Top
-
-Preprocessor Symbol Index
-*************************
-
- This is an alphabetical list of the C preprocessor symbols that the
-Autoconf macros define. To work with Autoconf, C source code needs to
-use these names in `#if' directives.
-
-* Menu:
-
-* CLOSEDIR_VOID: Particular Functions.
-* const: Compiler Characteristics.
-* C_ALLOCA: Particular Functions.
-* DGUX: Particular Functions.
-* DIRENT: Particular Headers.
-* GETGROUPS_T: Particular Typedefs.
-* GETLODAVG_PRIVILEGED: Particular Functions.
-* gid_t: Particular Typedefs.
-* HAVE_FUNCTION: Generic Functions.
-* HAVE_HEADER: Generic Headers.
-* HAVE_ALLOCA_H: Particular Functions.
-* HAVE_CONFIG_H: Configuration Headers.
-* HAVE_DIRENT_H: Particular Headers.
-* HAVE_DOPRNT: Particular Functions.
-* HAVE_GETMNTENT: Particular Functions.
-* HAVE_LONG_DOUBLE: Compiler Characteristics.
-* HAVE_LONG_FILE_NAMES: System Services.
-* HAVE_MMAP: Particular Functions.
-* HAVE_NDIR_H: Particular Headers.
-* HAVE_RESTARTABLE_SYSCALLS: System Services.
-* HAVE_STRCOLL: Particular Functions.
-* HAVE_STRFTIME: Particular Functions.
-* HAVE_ST_BLKSIZE: Structures.
-* HAVE_ST_BLOCKS: Structures.
-* HAVE_ST_RDEV: Structures.
-* HAVE_SYS_DIR_H: Particular Headers.
-* HAVE_SYS_NDIR_H: Particular Headers.
-* HAVE_SYS_WAIT_H: Particular Headers.
-* HAVE_TM_ZONE: Structures.
-* HAVE_TZNAME: Structures.
-* HAVE_UNISTD_H: Particular Headers.
-* HAVE_UTIME_NULL: Particular Functions.
-* HAVE_VFORK_H: Particular Functions.
-* HAVE_VPRINTF: Particular Functions.
-* HAVE_WAIT3: Particular Functions.
-* inline: Compiler Characteristics.
-* INT_16_BITS: Compiler Characteristics.
-* LONG_64_BITS: Compiler Characteristics.
-* MAJOR_IN_MKDEV: Particular Headers.
-* MAJOR_IN_SYSMACROS: Particular Headers.
-* mode_t: Particular Typedefs.
-* NDIR: Particular Headers.
-* NEED_MEMORY_H: Particular Headers.
-* NEED_SETGID: Particular Functions.
-* NLIST_NAME_UNION: Particular Functions.
-* NLIST_STRUCT: Particular Functions.
-* NO_MINUS_C_MINUS_O: Particular Programs.
-* off_t: Particular Typedefs.
-* pid_t: Particular Typedefs.
-* RETSIGTYPE: Particular Typedefs.
-* SETVBUF_REVERSED: Particular Functions.
-* size_t: Particular Typedefs.
-* STDC_HEADERS: Particular Headers.
-* SVR4: Particular Functions.
-* SYSDIR: Particular Headers.
-* SYSNDIR: Particular Headers.
-* SYS_SIGLIST_DECLARED: Particular Headers.
-* TIME_WITH_SYS_TIME: Structures.
-* TM_IN_SYS_TIME: Structures.
-* uid_t: Particular Typedefs.
-* UMAX: Particular Functions.
-* UMAX4_3: Particular Functions.
-* USG: Particular Headers.
-* vfork: Particular Functions.
-* VOID_CLOSEDIR: Particular Headers.
-* WORDS_BIGENDIAN: Compiler Characteristics.
-* YYTEXT_POINTER: Particular Programs.
-* _ALL_SOURCE: UNIX Variants.
-* _MINIX: UNIX Variants.
-* _POSIX_1_SOURCE: UNIX Variants.
-* _POSIX_SOURCE: UNIX Variants.
-* _POSIX_SOURCE: UNIX Variants.
-* _POSIX_VERSION: Particular Headers.
-* __CHAR_UNSIGNED__: Compiler Characteristics.
-
-
-File: autoconf.info, Node: Macro Index, Prev: Preprocessor Symbol Index, Up: Top
-
-Macro Index
-***********
-
- This is an alphabetical list of the Autoconf macros. To make the
-list easier to use, the macros are listed without their preceding `AC_'.
-
-* Menu:
-
-* AIX: UNIX Variants.
-* ALLOCA: Old Macro Names.
-* ARG_ARRAY: Old Macro Names.
-* ARG_ENABLE: Package Options.
-* ARG_PROGRAM: Transforming Names.
-* ARG_WITH: External Software.
-* BEFORE: Suggested Ordering.
-* CACHE_VAL: Caching Results.
-* CANONICAL_HOST: Canonicalizing.
-* CANONICAL_SYSTEM: Canonicalizing.
-* CHAR_UNSIGNED: Old Macro Names.
-* CHECKING: Printing Messages.
-* CHECK_FUNC: Generic Functions.
-* CHECK_FUNCS: Generic Functions.
-* CHECK_HEADER: Generic Headers.
-* CHECK_HEADERS: Generic Headers.
-* CHECK_LIB: Libraries.
-* CHECK_PROG: Generic Programs.
-* CHECK_PROGS: Generic Programs.
-* CHECK_SIZEOF: Compiler Characteristics.
-* CHECK_TYPE: Generic Typedefs.
-* COMPILE_CHECK: Examining Libraries.
-* CONFIG_AUX_DIR: Input.
-* CONFIG_HEADER: Configuration Headers.
-* CONFIG_SUBDIRS: Subdirectories.
-* CONST: Old Macro Names.
-* CROSS_CHECK: Old Macro Names.
-* C_BIGENDIAN: Compiler Characteristics.
-* C_CHAR_UNSIGNED: Compiler Characteristics.
-* C_CONST: Compiler Characteristics.
-* C_CROSS: Test Programs.
-* C_INLINE: Compiler Characteristics.
-* C_LONG_DOUBLE: Compiler Characteristics.
-* DECL_SYS_SIGLIST: Particular Headers.
-* DECL_YYTEXT: Particular Programs.
-* DEFINE: Defining Symbols.
-* DEFINE_UNQUOTED: Defining Symbols.
-* DEFUN: Macro Definitions.
-* DIR_HEADER: Particular Headers.
-* DYNIX_SEQ: UNIX Variants.
-* EGREP_CPP: Examining Declarations.
-* EGREP_HEADER: Examining Declarations.
-* ENABLE: Package Options.
-* ERROR: Old Macro Names.
-* FIND_X: Old Macro Names.
-* FIND_XTRA: Old Macro Names.
-* FUNC_ALLOCA: Particular Functions.
-* FUNC_CHECK: Old Macro Names.
-* FUNC_CLOSEDIR_VOID: Particular Functions.
-* FUNC_GETLOADAVG: Particular Functions.
-* FUNC_GETMNTENT: Particular Functions.
-* FUNC_MEMCMP: Particular Functions.
-* FUNC_MMAP: Particular Functions.
-* FUNC_SETVBUF_REVERSED: Particular Functions.
-* FUNC_STRCOLL: Particular Functions.
-* FUNC_STRFTIME: Particular Functions.
-* FUNC_UTIME_NULL: Particular Functions.
-* FUNC_VFORK: Particular Functions.
-* FUNC_VPRINTF: Particular Functions.
-* FUNC_WAIT3: Particular Functions.
-* GCC_TRADITIONAL: Old Macro Names.
-* GETGROUPS_T: Old Macro Names.
-* GETLOADAVG: Old Macro Names.
-* HAVE_FUNCS: Old Macro Names.
-* HAVE_HEADERS: Old Macro Names.
-* HAVE_LIBRARY: Libraries.
-* HAVE_POUNDBANG: Old Macro Names.
-* HEADER_CHECK: Old Macro Names.
-* HEADER_DIRENT: Particular Headers.
-* HEADER_EGREP: Old Macro Names.
-* HEADER_MAJOR: Particular Headers.
-* HEADER_STAT: Structures.
-* HEADER_STDC: Particular Headers.
-* HEADER_SYS_WAIT: Particular Headers.
-* HEADER_TIME: Structures.
-* INIT: Input.
-* INLINE: Old Macro Names.
-* INT_16_BITS: Compiler Characteristics.
-* IRIX_SUN: UNIX Variants.
-* ISC_POSIX: UNIX Variants.
-* LANG_C: Language Choice.
-* LANG_CPLUSPLUS: Language Choice.
-* LANG_RESTORE: Language Choice.
-* LANG_SAVE: Language Choice.
-* LINK_FILES: Using System Type.
-* LN_S: Old Macro Names.
-* LONG_64_BITS: Compiler Characteristics.
-* LONG_DOUBLE: Old Macro Names.
-* LONG_FILE_NAMES: Old Macro Names.
-* MAJOR_HEADER: Old Macro Names.
-* MEMORY_H: Particular Headers.
-* MINIX: UNIX Variants.
-* MINUS_C_MINUS_O: Old Macro Names.
-* MMAP: Old Macro Names.
-* MODE_T: Old Macro Names.
-* MSG_CHECKING: Printing Messages.
-* MSG_ERROR: Printing Messages.
-* MSG_RESULT: Printing Messages.
-* MSG_WARN: Printing Messages.
-* OBSOLETE: Obsolete Macros.
-* OFF_T: Old Macro Names.
-* OUTPUT: Output.
-* PATH_PROG: Generic Programs.
-* PATH_PROGS: Generic Programs.
-* PATH_X: System Services.
-* PATH_XTRA: System Services.
-* PID_T: Old Macro Names.
-* PREFIX: Old Macro Names.
-* PREFIX_PROGRAM: Default Prefix.
-* PREREQ: Versions.
-* PROGRAMS_CHECK: Old Macro Names.
-* PROGRAMS_PATH: Old Macro Names.
-* PROGRAM_CHECK: Old Macro Names.
-* PROGRAM_EGREP: Old Macro Names.
-* PROGRAM_PATH: Old Macro Names.
-* PROG_AWK: Particular Programs.
-* PROG_CC: Particular Programs.
-* PROG_CC_C_O: Particular Programs.
-* PROG_CPP: Particular Programs.
-* PROG_CXX: Particular Programs.
-* PROG_CXXCPP: Particular Programs.
-* PROG_GCC_TRADITIONAL: Particular Programs.
-* PROG_INSTALL: Particular Programs.
-* PROG_LEX: Particular Programs.
-* PROG_LN_S: Particular Programs.
-* PROG_MAKE_SET: Output.
-* PROG_RANLIB: Particular Programs.
-* PROG_YACC: Particular Programs.
-* PROVIDE: Prerequisite Macros.
-* REMOTE_TAPE: Old Macro Names.
-* REPLACE_FUNCS: Generic Functions.
-* REQUIRE: Prerequisite Macros.
-* REQUIRE_CPP: Language Choice.
-* RESTARTABLE_SYSCALLS: Old Macro Names.
-* RETSIGTYPE: Old Macro Names.
-* REVISION: Versions.
-* RSH: Old Macro Names.
-* SCO_INTL: UNIX Variants.
-* SETVBUF_REVERSED: Old Macro Names.
-* SET_MAKE: Old Macro Names.
-* SIZEOF_TYPE: Old Macro Names.
-* SIZE_T: Old Macro Names.
-* STAT_MACROS_BROKEN: Structures.
-* STAT_MACROS_BROKEN: Old Macro Names.
-* STDC_HEADERS: Old Macro Names.
-* STRCOLL: Old Macro Names.
-* STRUCT_ST_BLKSIZE: Structures.
-* STRUCT_ST_BLOCKS: Structures.
-* STRUCT_ST_RDEV: Structures.
-* STRUCT_TIMEZONE: Structures.
-* STRUCT_TM: Structures.
-* ST_BLKSIZE: Old Macro Names.
-* ST_BLOCKS: Old Macro Names.
-* ST_RDEV: Old Macro Names.
-* SUBST: Setting Output Variables.
-* SUBST_FILE: Setting Output Variables.
-* SYS_INTERPRETER: System Services.
-* SYS_LONG_FILE_NAMES: System Services.
-* SYS_RESTARTABLE_SYSCALLS: System Services.
-* SYS_SIGLIST_DECLARED: Old Macro Names.
-* TEST_CPP: Old Macro Names.
-* TEST_PROGRAM: Old Macro Names.
-* TIMEZONE: Old Macro Names.
-* TIME_WITH_SYS_TIME: Old Macro Names.
-* TRY_COMPILE: Examining Syntax.
-* TRY_CPP: Examining Declarations.
-* TRY_LINK: Examining Libraries.
-* TRY_RUN: Test Programs.
-* TYPE_GETGROUPS: Particular Typedefs.
-* TYPE_MODE_T: Particular Typedefs.
-* TYPE_OFF_T: Particular Typedefs.
-* TYPE_PID_T: Particular Typedefs.
-* TYPE_SIGNAL: Particular Typedefs.
-* TYPE_SIZE_T: Particular Typedefs.
-* TYPE_UID_T: Particular Typedefs.
-* UID_T: Old Macro Names.
-* UNISTD_H: Particular Headers.
-* USG: Particular Headers.
-* UTIME_NULL: Old Macro Names.
-* VERBOSE: Printing Messages.
-* VFORK: Old Macro Names.
-* VPRINTF: Old Macro Names.
-* WAIT3: Old Macro Names.
-* WARN: Old Macro Names.
-* WITH: External Software.
-* WORDS_BIGENDIAN: Old Macro Names.
-* XENIX_DIR: UNIX Variants.
-* YYTEXT_POINTER: Old Macro Names.
-
-
diff --git a/util/autoconf/autoconf.m4 b/util/autoconf/autoconf.m4
deleted file mode 100644
index 2b17435..0000000
--- a/util/autoconf/autoconf.m4
+++ /dev/null
@@ -1,27 +0,0 @@
-dnl Driver that loads the Autoconf macro files.
-dnl Requires GNU m4.
-dnl This file is part of Autoconf.
-dnl Copyright (C) 1994 Free Software Foundation, Inc.
-dnl
-dnl This program is free software; you can redistribute it and/or modify
-dnl it under the terms of the GNU General Public License as published by
-dnl the Free Software Foundation; either version 2, or (at your option)
-dnl any later version.
-dnl
-dnl This program is distributed in the hope that it will be useful,
-dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
-dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-dnl GNU General Public License for more details.
-dnl
-dnl You should have received a copy of the GNU General Public License
-dnl along with this program; if not, write to the Free Software
-dnl Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-dnl
-dnl Written by David MacKenzie.
-dnl
-include(acgeneral.m4)dnl
-builtin(include, acspecific.m4)dnl
-builtin(include, acoldnames.m4)dnl
-dnl Do not sinclude acsite.m4 here, because it may not be installed
-dnl yet when Autoconf is frozen.
-dnl Do not sinclude ./aclocal.m4 here, to prevent it from being frozen.
diff --git a/util/autoconf/autoconf.sh b/util/autoconf/autoconf.sh
deleted file mode 100755
index 5ae95c7..0000000
--- a/util/autoconf/autoconf.sh
+++ /dev/null
@@ -1,152 +0,0 @@
-#!/bin/sh
-# autoconf -- create `configure' using m4 macros
-# Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-# If given no args, create `configure' from template file `configure.in'.
-# With one arg, create a configure script on standard output from
-# the given template file.
-
-usage="\
-Usage: autoconf [-h] [--help] [-m dir] [--macrodir=dir]
- [-l dir] [--localdir=dir] [--version] [template-file]"
-
-# NLS nuisances.
-# Only set `LANG' and `LC_ALL' to "C" if already set.
-# These must not be set unconditionally because not all systems understand
-# e.g. LANG=C (notably SCO).
-if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
-if test "${LANG+set}" = set; then LANG=C; export LANG; fi
-
-test -z "${AC_MACRODIR}" && AC_MACRODIR=@datadir@
-test -z "${M4}" && M4=@M4@
-case "${M4}" in
-/*) # Handle the case that m4 has moved since we were configured.
- # It may have been found originally in a build directory.
- test -f "${M4}" || M4=m4 ;;
-esac
-
-tmpout=/tmp/acout.$$
-localdir=
-show_version=no
-
-while test $# -gt 0 ; do
- case "${1}" in
- -h | --help | --h* )
- echo "${usage}" 1>&2; exit 0 ;;
- --localdir=* | --l*=* )
- localdir="`echo \"${1}\" | sed -e 's/^[^=]*=//'`"
- shift ;;
- -l | --localdir | --l*)
- shift
- test $# -eq 0 && { echo "${usage}" 1>&2; exit 1; }
- localdir="${1}"
- shift ;;
- --macrodir=* | --m*=* )
- AC_MACRODIR="`echo \"${1}\" | sed -e 's/^[^=]*=//'`"
- shift ;;
- -m | --macrodir | --m* )
- shift
- test $# -eq 0 && { echo "${usage}" 1>&2; exit 1; }
- AC_MACRODIR="${1}"
- shift ;;
- --version | --v* )
- show_version=yes; shift ;;
- -- ) # Stop option processing
- shift; break ;;
- - ) # Use stdin as input.
- break ;;
- -* )
- echo "${usage}" 1>&2; exit 1 ;;
- * )
- break ;;
- esac
-done
-
-if test $show_version = yes; then
- version=`sed -n 's/define.AC_ACVERSION.[ ]*\([0-9.]*\).*/\1/p' \
- $AC_MACRODIR/acgeneral.m4`
- echo "Autoconf version $version"
- exit 0
-fi
-
-case $# in
- 0) infile=configure.in ;;
- 1) infile="$1" ;;
- *) echo "$usage" >&2; exit 1 ;;
-esac
-
-trap 'rm -f $tmpin $tmpout; exit 1' 1 2 15
-
-tmpin=/tmp/acin.$$ # Always set this, to avoid bogus errors from some rm's.
-if test z$infile = z-; then
- infile=$tmpin
- cat > $infile
-elif test ! -r "$infile"; then
- echo "autoconf: ${infile}: No such file or directory" >&2
- exit 1
-fi
-
-if test -n "$localdir"; then
- use_localdir="-I$localdir -DAC_LOCALDIR=$localdir"
-else
- use_localdir=
-fi
-
-# Use the frozen version of Autoconf if available.
-r= f=
-# Some non-GNU m4's don't reject the --help option, so give them /dev/null.
-case `$M4 --help < /dev/null 2>&1` in
-*reload-state*) test -r $AC_MACRODIR/autoconf.m4f && { r=--reload f=f; } ;;
-*traditional*) ;;
-*) echo Autoconf requires GNU m4 1.1 or later >&2; rm -f $tmpin; exit 1 ;;
-esac
-
-$M4 -I$AC_MACRODIR $use_localdir $r autoconf.m4$f $infile > $tmpout ||
- { rm -f $tmpin $tmpout; exit 2; }
-
-# You could add your own prefixes to pattern if you wanted to check for
-# them too, e.g. pattern="AC_\|ILT_", except that UNIX sed doesn't do
-# alternation.
-pattern="AC_"
-
-status=0
-if grep "${pattern}" $tmpout > /dev/null 2>&1; then
- echo "autoconf: Undefined macros:" >&2
- grep "${pattern}" $tmpout | sed "s/.*\(${pattern}[_A-Z0-9]*\).*/\1/" |
- while read name; do
- grep -n $name $infile /dev/null
- done | sort -u >&2
- status=1
-fi
-
-if test $# -eq 0; then
- exec 4> configure; chmod +x configure
-else
- exec 4>&1
-fi
-
-# Put the real line numbers into configure to make config.log more helpful.
-awk '
-/__oline__/ { printf "%d:", NR + 1 }
- { print }
-' $tmpout | sed '
-/__oline__/s/^\([0-9][0-9]*\):\(.*\)__oline__\(.*\)$/\2\1\3/
-' >&4
-
-rm -f $tmpout
-
-exit $status
diff --git a/util/autoconf/autoconf.texi b/util/autoconf/autoconf.texi
deleted file mode 100644
index 3ec9655..0000000
--- a/util/autoconf/autoconf.texi
+++ /dev/null
@@ -1,5125 +0,0 @@
-\input texinfo @c -*-texinfo-*-
-@c %**start of header
-@setfilename autoconf.info
-@settitle Autoconf
-@c For double-sided printing, uncomment:
-@c @setchapternewpage odd
-@c %**end of header
-
-@set EDITION 2.1
-@set VERSION 2.1
-@set UPDATED November 1994
-
-@iftex
-@finalout
-@end iftex
-
-@ifinfo
-@format
-START-INFO-DIR-ENTRY
-* Autoconf: (autoconf). Create source code configuration scripts.
-END-INFO-DIR-ENTRY
-@end format
-
-This file documents the GNU Autoconf package for creating scripts to
-configure source code packages using templates and an @code{m4} macro
-package.
-
-Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc.
-
-Permission is granted to make and distribute verbatim copies of
-this manual provided the copyright notice and this permission notice
-are preserved on all copies.
-
-@ignore
-Permission is granted to process this file through TeX and print the
-results, provided the printed document carries copying permission
-notice identical to this one except for the removal of this paragraph
-(this paragraph not being relevant to the printed manual).
-
-@end ignore
-Permission is granted to copy and distribute modified versions of this
-manual under the conditions for verbatim copying, provided that the entire
-resulting derived work is distributed under the terms of a permission
-notice identical to this one.
-
-Permission is granted to copy and distribute translations of this manual
-into another language, under the above conditions for modified versions,
-except that this permission notice may be stated in a translation approved
-by the Foundation.
-@end ifinfo
-
-@titlepage
-@title Autoconf
-@subtitle Creating Automatic Configuration Scripts
-@subtitle Edition @value{EDITION}, for Autoconf version @value{VERSION}
-@subtitle @value{UPDATED}
-@author by David MacKenzie
-@c I think I've rewritten all of Noah and Roland's contributions by now.
-
-@page
-@vskip 0pt plus 1filll
-Copyright @copyright{} 1992, 1993, 1994 Free Software Foundation, Inc.
-
-Permission is granted to make and distribute verbatim copies of
-this manual provided the copyright notice and this permission notice
-are preserved on all copies.
-
-Permission is granted to copy and distribute modified versions of this
-manual under the conditions for verbatim copying, provided that the entire
-resulting derived work is distributed under the terms of a permission
-notice identical to this one.
-
-Permission is granted to copy and distribute translations of this manual
-into another language, under the above conditions for modified versions,
-except that this permission notice may be stated in a translation approved
-by the Foundation.
-@end titlepage
-
-@c Define an environment variable index.
-@defcodeindex ev
-@c Define an output variable index.
-@defcodeindex ov
-@c Define a CPP variable index.
-@defcodeindex cv
-@c Define a macro index that @@defmac doesn't write to.
-@defcodeindex ma
-
-@node Top, Introduction, , (dir)
-@comment node-name, next, previous, up
-
-@ifinfo
-This file documents the GNU Autoconf package for creating scripts to
-configure source code packages using templates and an @code{m4} macro
-package. This is edition @value{EDITION}, for Autoconf version @value{VERSION}.
-
-@end ifinfo
-
-@c The master menu, created with texinfo-master-menu, goes here.
-
-@menu
-* Introduction:: Autoconf's purpose, strengths, and weaknesses.
-* Making configure Scripts:: How to organize and produce Autoconf scripts.
-* Setup:: Initialization and output.
-* Existing Tests:: Macros that check for particular features.
-* Writing Tests:: How to write new feature checks.
-* Results:: What to do with results from feature checks.
-* Writing Macros:: Adding new macros to Autoconf.
-* Manual Configuration:: Selecting features that can't be guessed.
-* Site Configuration:: Local defaults for @code{configure}.
-* Invoking configure:: How to use the Autoconf output.
-* Invoking config.status:: Recreating a configuration.
-* Questions:: Questions about Autoconf, with answers.
-* Upgrading:: Tips for upgrading from version 1.
-* History:: History of Autoconf.
-* Old Macro Names:: Backward compatibility macros.
-* Environment Variable Index:: Index of environment variables used.
-* Output Variable Index:: Index of variables set in output files.
-* Preprocessor Symbol Index:: Index of C preprocessor symbols defined.
-* Macro Index:: Index of Autoconf macros.
-
- --- The Detailed Node Listing ---
-
-Making @code{configure} Scripts
-
-* Writing configure.in:: What to put in an Autoconf input file.
-* Invoking autoscan:: Semi-automatic @file{configure.in} writing.
-* Invoking ifnames:: Listing the conditionals in source code.
-* Invoking autoconf:: How to create configuration scripts.
-* Invoking autoreconf:: Remaking multiple @code{configure} scripts.
-
-Initialization and Output Files
-
-* Input:: Where Autoconf should find files.
-* Output:: Creating output files.
-* Makefile Substitutions:: Using output variables in @file{Makefile}s.
-* Configuration Headers:: Creating a configuration header file.
-* Subdirectories:: Configuring independent packages together.
-* Default Prefix:: Changing the default installation prefix.
-* Versions:: Version numbers in @code{configure}.
-
-Substitutions in Makefiles
-
-* Preset Output Variables:: Output variables that are always set.
-* Build Directories:: Compiling in a different directory.
-* Automatic Remaking:: Makefile rules for configuring.
-
-Configuration Header Files
-
-* Header Templates:: Input for the configuration headers.
-* Invoking autoheader:: How to create configuration templates.
-
-Existing Tests
-
-* Alternative Programs:: Selecting between alternative programs.
-* Libraries:: Library archives that might be missing.
-* Library Functions:: C library functions that might be missing.
-* Header Files:: Header files that might be missing.
-* Structures:: Structures or members that might be missing.
-* Typedefs:: @code{typedef}s that might be missing.
-* Compiler Characteristics:: C compiler or machine architecture features.
-* System Services:: Operating system services.
-* UNIX Variants:: Special kludges for specific UNIX variants.
-
-Alternative Programs
-
-* Particular Programs:: Special handling to find certain programs.
-* Generic Programs:: How to find other programs.
-
-Library Functions
-
-* Particular Functions:: Special handling to find certain functions.
-* Generic Functions:: How to find other functions.
-
-Header Files
-
-* Particular Headers:: Special handling to find certain headers.
-* Generic Headers:: How to find other headers.
-
-Typedefs
-
-* Particular Typedefs:: Special handling to find certain types.
-* Generic Typedefs:: How to find other types.
-
-Writing Tests
-
-* Examining Declarations:: Detecting header files and declarations.
-* Examining Syntax:: Detecting language syntax features.
-* Examining Libraries:: Detecting functions and global variables.
-* Run Time:: Testing for run-time features.
-* Portable Shell:: Shell script portability pitfalls.
-* Testing Values and Files:: Checking strings and files.
-* Multiple Cases:: Tests for several possible values.
-* Language Choice:: Selecting which language to use for testing.
-
-Checking Run Time Behavior
-
-* Test Programs:: Running test programs.
-* Guidelines:: General rules for writing test programs.
-* Test Functions:: Avoiding pitfalls in test programs.
-
-Results of Tests
-
-* Defining Symbols:: Defining C preprocessor symbols.
-* Setting Output Variables:: Replacing variables in output files.
-* Caching Results:: Speeding up subsequent @code{configure} runs.
-* Printing Messages:: Notifying users of progress or problems.
-
-Caching Results
-
-* Cache Variable Names:: Shell variables used in caches.
-* Cache Files:: Files @code{configure} uses for caching.
-
-Writing Macros
-
-* Macro Definitions:: Basic format of an Autoconf macro.
-* Macro Names:: What to call your new macros.
-* Quoting:: Protecting macros from unwanted expansion.
-* Dependencies Between Macros:: What to do when macros depend on other macros.
-
-Dependencies Between Macros
-
-* Prerequisite Macros:: Ensuring required information.
-* Suggested Ordering:: Warning about possible ordering problems.
-* Obsolete Macros:: Warning about old ways of doing things.
-
-Manual Configuration
-
-* Specifying Names:: Specifying the system type.
-* Canonicalizing:: Getting the canonical system type.
-* System Type Variables:: Variables containing the system type.
-* Using System Type:: What to do with the system type.
-
-Site Configuration
-
-* External Software:: Working with other optional software.
-* Package Options:: Selecting optional features.
-* Site Details:: Configuring site details.
-* Transforming Names:: Changing program names when installing.
-* Site Defaults:: Giving @code{configure} local defaults.
-
-Transforming Program Names When Installing
-
-* Transformation Options:: @code{configure} options to transforme names.
-* Transformation Examples:: Sample uses of transforming names.
-* Transformation Rules:: @file{Makefile} uses of transforming names.
-
-Running @code{configure} Scripts
-
-* Basic Installation:: Instructions for typical cases.
-* Compilers and Options:: Selecting compilers and optimization.
-* Build Directory:: Configuring in a different directory.
-* Installation Names:: Installing in different directories.
-* Optional Features:: Selecting optional features.
-* System Type:: Specifying the system type.
-* Sharing Defaults:: Setting site-wide defaults for @code{configure}.
-* Operation Controls:: Changing how @code{configure} runs.
-
-Questions About Autoconf
-
-* Distributing:: Distributing @code{configure} scripts.
-* Why GNU m4:: Why not use the standard @code{m4}?
-* Bootstrapping:: Autoconf and GNU @code{m4} require each other?
-* Why Not Imake:: Why GNU uses @code{configure} instead of Imake.
-
-Upgrading From Version 1
-
-* Changed File Names:: Files you might rename.
-* Changed Makefiles:: New things to put in @file{Makefile.in}.
-* Changed Macros:: Macro calls you might replace.
-* Invoking autoupdate:: Replacing old macro names in @code{configure.in}.
-* Changed Results:: Changes in how to check test results.
-* Changed Macro Writing:: Better ways to write your own macros.
-
-History of Autoconf
-
-* Genesis:: Prehistory and naming of @code{configure}.
-* Exodus:: The plagues of @code{m4} and Perl.
-* Leviticus:: The priestly code of portability arrives.
-* Numbers:: Growth and contributors.
-* Deuteronomy:: Approaching the promises of easy configuration.
-@end menu
-
-@node Introduction, Making configure Scripts, Top, Top
-@chapter Introduction
-
-@display
-A physicist, an engineer, and a computer scientist were
-discussing the nature of God. Surely a Physicist, said the
-physicist, because early in the Creation, God made Light; and you
-know, Maxwell's equations, the dual nature of electro-magnetic
-waves, the relativist consequences@dots{} An Engineer!, said the
-engineer, because before making Light, God split the Chaos into
-Land and Water; it takes a hell of an engineer to handle that big
-amount of mud, and orderly separation of solids from
-liquids@dots{} The computer scientist shouted: And the Chaos,
-where do you think it was coming from, hmm?
-
----Anonymous
-@end display
-@c (via Franc,ois Pinard)
-
-Autoconf is a tool for producing shell scripts that automatically
-configure software source code packages to adapt to many kinds of
-UNIX-like systems. The configuration scripts produced by Autoconf are
-independent of Autoconf when they are run, so their users do not need to
-have Autoconf.
-
-The configuration scripts produced by Autoconf require no manual user
-intervention when run; they do not normally even need an argument
-specifying the system type. Instead, they test for the presence of each
-feature that the software package they are for might need individually.
-(Before each check, they print a one-line message stating what they are
-checking for, so the user doesn't get too bored while waiting for the
-script to finish.) As a result, they deal well with systems that are
-hybrids or customized from the more common UNIX variants. There is no
-need to maintain files that list the features supported by each release
-of each variant of UNIX.
-
-For each software package that Autoconf is used with, it creates a
-configuration script from a template file that lists the
-system features that the package needs or can use. After the shell code to
-recognize and respond to a system feature has been written,
-Autoconf allows it to be shared by many software packages that can
-use (or need) that feature. If it later turns out that the shell code
-needs adjustment for some reason, it needs to be changed in only one
-place; all of the configuration scripts can be regenerated
-automatically to take advantage of the updated code.
-
-The Metaconfig package is similar in purpose to Autoconf, but
-the scripts it produces require manual user intervention, which is quite
-inconvenient when configuring large source trees. Unlike Metaconfig
-scripts, Autoconf scripts can support cross-compiling, if some care is
-taken in writing them.
-
-There are several jobs related to making portable software packages
-that Autoconf currently does not do. Among these are automatically
-creating @file{Makefile} files with all of the standard targets, and
-supplying replacements for standard library functions and header files on
-systems that lack them. Work is in progress to add those features in
-the future.
-
-Autoconf imposes some restrictions on the names of macros used with
-@code{#ifdef} in C programs (@pxref{Preprocessor Symbol Index}).
-
-Autoconf requires GNU @code{m4} in order to generate the scripts. It
-uses features that some UNIX versions of @code{m4} do not have. It also
-overflows internal limits of some versions of @code{m4}, including GNU
-@code{m4} 1.0. You must use version 1.1 or later of GNU @code{m4}.
-Using version 1.3 or later will be much faster than 1.1 or 1.2.
-
-@xref{Upgrading}, for information about upgrading from version 1.
-@xref{History}, for the story of Autoconf's development.
-@xref{Questions}, for answers to some common questions about Autoconf.
-
-Mail suggestions and bug reports for Autoconf to
-@code{bug-gnu-utils@@prep.ai.mit.edu}. Please include the Autoconf version
-number, which you can get by running @samp{autoconf --version}.
-
-@node Making configure Scripts, Setup, Introduction, Top
-@chapter Making @code{configure} Scripts
-
-The configuration scripts that Autoconf produces are by convention
-called @code{configure}. When run, @code{configure} creates several
-files, replacing configuration parameters in them with appropriate
-values. The files that @code{configure} creates are:
-
-@itemize @bullet
-@item
-one or more @file{Makefile} files, one in each subdirectory of the
-package (@pxref{Makefile Substitutions});
-
-@item
-optionally, a C header file, the name of which is configurable,
-containing @code{#define} directives (@pxref{Configuration Headers});
-
-@item
-a shell script called @file{config.status} that, when run, will recreate
-the files listed above (@pxref{Invoking config.status});
-
-@item
-a shell script called @file{config.cache} that saves the results of
-running many of the tests (@pxref{Cache Files});
-
-@item
-a file called @file{config.log} containing any messages produced by
-compilers, to help debugging if @code{configure} makes a mistake.
-@end itemize
-
-To create a @code{configure} script with Autoconf, you need to write an
-Autoconf input file @file{configure.in} and run @code{autoconf} on it.
-If you write your own feature tests to supplement those that come with
-Autoconf, you might also write files called @file{aclocal.m4} and
-@file{acsite.m4}. If you use a C header file to contain @code{#define}
-directives, you might also write @file{acconfig.h}, and you will
-distribute the Autoconf-generated file @file{config.h.in} with the
-package.
-
-Here is a diagram showing how the files that can be used in
-configuration are produced. Programs that are executed are suffixed by
-@samp{*}. Optional files are enclosed in square brackets (@samp{[]}).
-@code{autoconf} and @code{autoheader} also read the installed Autoconf
-macro files (by reading @file{autoconf.m4}).
-
-@noindent
-Files used in preparing a software package for distribution:
-@example
-@group
-your source files --> [autoscan*] --> [configure.scan] --> configure.in
-
-configure.in --. .------> autoconf* -----> configure
- +---+
-[aclocal.m4] --+ `---.
-[acsite.m4] ---' |
- +--> [autoheader*] -> [config.h.in]
-[acconfig.h] ----. |
- +-----'
-[config.h.top] --+
-[config.h.bot] --'
-
-Makefile.in -------------------------------> Makefile.in
-@end group
-@end example
-
-@noindent
-Files used in configuring a software package:
-@example
-@group
- .-------------> config.cache
-configure* ------------+-------------> config.log
- |
-[config.h.in] -. v .-> [config.h] -.
- +--> config.status* -+ +--> make*
-Makefile.in ---' `-> Makefile ---'
-@end group
-@end example
-
-@menu
-* Writing configure.in:: What to put in an Autoconf input file.
-* Invoking autoscan:: Semi-automatic @file{configure.in} writing.
-* Invoking ifnames:: Listing the conditionals in source code.
-* Invoking autoconf:: How to create configuration scripts.
-* Invoking autoreconf:: Remaking multiple @code{configure} scripts.
-@end menu
-
-@node Writing configure.in, Invoking autoscan, , Making configure Scripts
-@section Writing @file{configure.in}
-
-To produce a @code{configure} script for a software package, create a
-file called @file{configure.in} that contains invocations of the
-Autoconf macros that test the system features your package needs or can
-use. Autoconf macros already exist to check for many features; see
-@ref{Existing Tests}, for their descriptions. For most other
-features, you can use Autoconf template macros to produce custom checks;
-see @ref{Writing Tests}, for information about them. For especially
-tricky or specialized features, @file{configure.in} might need to
-contain some hand-crafted shell commands. The @code{autoscan}
-program can give you a good start in writing @file{configure.in}
-(@pxref{Invoking autoscan}, for more information).
-
-The order in which @file{configure.in} calls the Autoconf macros
-is not important, with a few exceptions. Every
-@file{configure.in} must contain a call to @code{AC_INIT} before
-the checks, and a call to @code{AC_OUTPUT} at the end
-(@pxref{Output}). Additionally, some macros rely on other macros
-having been called first, because they check previously set
-values of some variables to decide what to do. These macros are
-noted in the individual descriptions (@pxref{Existing Tests}),
-and they also warn you when creating @code{configure} if they are
-called out of order.
-
-To encourage consistency, here is a suggested order for calling the
-Autoconf macros. Generally speaking, the things near the end of this
-list could depend on things earlier in it. For example, library
-functions could be affected by typedefs and libraries.
-
-@display
-@group
-@code{AC_INIT(@var{file})}
-checks for programs
-checks for libraries
-checks for header files
-checks for typedefs
-checks for structures
-checks for compiler characteristics
-checks for library functions
-checks for system services
-@code{AC_OUTPUT(@r{[}@var{file@dots{}}@r{]})}
-@end group
-@end display
-
-It is best to put each macro call on its own line in
-@file{configure.in}. Most of the macros don't add extra newlines; they
-rely on the newline after the macro call to terminate the commands.
-This approach makes the generated @code{configure} script a little
-easier to read by not inserting lots of blank lines. It is generally
-safe to set shell variables on the same line as a macro call, because
-the shell allows assignments without intervening newlines.
-
-When calling macros that take arguments, there must not be any blank
-space between the macro name and the open parenthesis. Arguments can be
-more than one line long if they are enclosed within the @code{m4} quote
-characters @samp{[} and @samp{]}. If you have a long line such as a
-list of file names, you can generally use a backslash at the end of a
-line to continue it logically on the next line (this is implemented by
-the shell, not by anything special that Autoconf does).
-
-Some macros handle two cases: what to do if the given condition is met,
-and what to do if the condition is not met. In some places you might
-want to do something if a condition is true but do nothing if it's
-false, or vice versa. To omit the true case, pass an empty value for
-the @var{action-if-found} argument to the macro. To omit the false
-case, omit the @var{action-if-not-found} argument to the macro,
-including the comma before it.
-
-You can include comments in @file{configure.in} files by starting them
-with the @code{m4} builtin macro @code{dnl}, which discards text up
-through the next newline. These comments do not appear in the generated
-@code{configure} scripts. For example, it is helpful to begin
-@file{configure.in} files with a line like this:
-
-@example
-dnl Process this file with autoconf to produce a configure script.
-@end example
-
-@node Invoking autoscan, Invoking ifnames, Writing configure.in, Making configure Scripts
-@section Using @code{autoscan} to Create @file{configure.in}
-
-The @code{autoscan} program can help you create a @file{configure.in}
-file for a software package. @code{autoscan} examines source files in
-the directory tree rooted at a directory given as a command line
-argument, or the current directory if none is given. It searches the
-source files for common portability problems and creates a file
-@file{configure.scan} which is a preliminary @file{configure.in} for
-that package.
-
-You should manually examine @file{configure.scan} before renaming it to
-@file{configure.in}; it will probably need some adjustments.
-Occasionally @code{autoscan} outputs a macro in the wrong order relative
-to another macro, so that @code{autoconf} produces a warning; you need
-to move such macros manually. Also, if you want the package to use a
-configuration header file, you must add a call to
-@code{AC_CONFIG_HEADER} (@pxref{Configuration Headers}). You might also
-have to change or add some @code{#if} directives to your program in
-order to make it work with Autoconf (@pxref{Invoking ifnames}, for
-information about a program that can help with that job).
-
-@code{autoscan} uses several data files, which are installed along with the
-distributed Autoconf macro files, to determine which macros to output
-when it finds particular symbols in a package's source files. These
-files all have the same format. Each line consists of a symbol,
-whitespace, and the Autoconf macro to output if that symbol is
-encountered. Lines starting with @samp{#} are comments.
-
-@code{autoscan} is only installed if you already have Perl installed.
-@code{autoscan} accepts the following options:
-
-@table @code
-@item --help
-Print a summary of the command line options and exit.
-
-@item --macrodir=@var{dir}
-@evindex AC_MACRODIR
-Look for the data files in directory @var{dir} instead of the default
-installation directory. You can also set the @code{AC_MACRODIR}
-environment variable to a directory; this option overrides the
-environment variable.
-
-@item --verbose
-Print the names of the files it examines and the potentially interesting
-symbols it finds in them. This output can be voluminous.
-
-@item --version
-Print the version number of Autoconf and exit.
-@end table
-
-@node Invoking ifnames, Invoking autoconf, Invoking autoscan, Making configure Scripts
-@section Using @code{ifnames} to List Conditionals
-
-@code{ifnames} can help when writing a @file{configure.in} for a
-software package. It prints the identifiers that the package already
-uses in C preprocessor conditionals. If a package has already been set
-up to have some portability, this program can help you figure out what
-its @code{configure} needs to check for. It may help fill in some gaps
-in a @file{configure.in} generated by @code{autoscan} (@pxref{Invoking
-autoscan}).
-
-@code{ifnames} scans all of the C source files named on the command line
-(or the standard input, if none are given) and writes to the standard
-output a sorted list of all the identifiers that appear in those files
-in @code{#if}, @code{#elif}, @code{#ifdef}, or @code{#ifndef}
-directives. It prints each identifier on a line, followed by a
-space-separated list of the files in which that identifier occurs.
-
-@noindent
-@code{ifnames} accepts the following options:
-
-@table @code
-@item --help
-@itemx -h
-Print a summary of the command line options and exit.
-
-@item --macrodir=@var{dir}
-@itemx -m @var{dir}
-@evindex AC_MACRODIR
-Look for the Autoconf macro files in directory @var{dir} instead of the
-default installation directory. Only used to get the version number.
-You can also set the @code{AC_MACRODIR}
-environment variable to a directory; this option overrides the
-environment variable.
-
-@item --version
-Print the version number of Autoconf and exit.
-@end table
-
-@node Invoking autoconf, Invoking autoreconf, Invoking ifnames, Making configure Scripts
-@section Using @code{autoconf} to Create @code{configure}
-
-To create @code{configure} from @file{configure.in}, run the
-@code{autoconf} program with no arguments. @code{autoconf} processes
-@file{configure.in} with the @code{m4} macro processor, using the
-Autoconf macros. If you give @code{autoconf} an argument, it reads that
-file instead of @file{configure.in} and writes the configuration script
-to the standard output instead of to @code{configure}. If you give
-@code{autoconf} the argument @samp{-}, it reads the standard input
-instead of @file{configure.in} and writes the configuration script on
-the standard output.
-
-The Autoconf macros are defined in several files. Some of the files are
-distributed with Autoconf; @code{autoconf} reads them first. Then it
-looks for the optional file @file{acsite.m4} in the directory that
-contains the distributed Autoconf macro files, and for the optional file
-@file{aclocal.m4} in the current directory. Those files can contain
-your site's or the package's own Autoconf macro definitions
-(@pxref{Writing Macros}, for more information). If a macro is defined
-in more than one of the files that @code{autoconf} reads, the last
-definition it reads overrides the earlier ones.
-
-@code{autoconf} accepts the following options:
-
-@table @code
-@item --help
-@itemx -h
-Print a summary of the command line options and exit.
-
-@item --localdir=@var{dir}
-@itemx -l @var{dir}
-Look for the package file @file{aclocal.m4} in directory @var{dir}
-instead of in the current directory.
-
-@item --macrodir=@var{dir}
-@itemx -m @var{dir}
-@evindex AC_MACRODIR
-Look for the installed macro files in directory @var{dir}. You can also
-set the @code{AC_MACRODIR} environment variable to a directory; this
-option overrides the environment variable.
-
-@item --version
-Print the version number of Autoconf and exit.
-@end table
-
-@node Invoking autoreconf, , Invoking autoconf, Making configure Scripts
-@section Using @code{autoreconf} to Update @code{configure} Scripts
-
-If you have a lot of Autoconf-generated @code{configure} scripts, the
-@code{autoreconf} program can save you some work. It runs
-@code{autoconf} (and @code{autoheader}, where appropriate) repeatedly to
-remake the Autoconf @code{configure} scripts and configuration header
-templates in the directory tree rooted at the current directory. By
-default, it only remakes those files that are older than their
-@file{configure.in} or (if present) @file{aclocal.m4}. Since
-@code{autoheader} does not change the timestamp of its output file if
-the file wouldn't be changing, this is not necessarily the minimum
-amount of work. If you install a new version of Autoconf, you can make
-@code{autoreconf} remake @emph{all} of the files by giving it the
-@samp{--force} option.
-
-If you give @code{autoreconf} the @samp{--macrodir=@var{dir}} or
-@samp{--localdir=@var{dir}} options, it passes them down to
-@code{autoconf} and @code{autoheader} (with relative paths adjusted
-properly).
-
-@xref{Automatic Remaking}, for @file{Makefile} rules to automatically
-remake @code{configure} scripts when their source files change. That
-method handles the timestamps of configuration header templates
-properly, but does not pass @samp{--macrodir=@var{dir}} or
-@samp{--localdir=@var{dir}}.
-
-@noindent
-@code{autoreconf} accepts the following options:
-
-@table @code
-@item --help
-@itemx -h
-Print a summary of the command line options and exit.
-
-@item --force
-@itemx -f
-Remake even @file{configure} scripts and configuration headers that are
-newer than their input files (@file{configure.in} and, if present,
-@file{aclocal.m4}).
-
-@item --localdir=@var{dir}
-@itemx -l @var{dir}
-Look for the package files @file{aclocal.m4} and @file{acconfig.h} (but
-not @file{@var{file}.top} and @file{@var{file}.bot}) in directory
-@var{dir} instead of in the directory containing each @file{configure.in}.
-
-@item --macrodir=@var{dir}
-@itemx -m @var{dir}
-@evindex AC_MACRODIR
-Look for the Autoconf macro files in directory @var{dir} instead of the
-default installation directory.
-You can also set the @code{AC_MACRODIR}
-environment variable to a directory; this option overrides the
-environment variable.
-
-@item --verbose
-Print the name of each directory where @code{autoreconf} runs
-@code{autoconf} (and @code{autoheader}, if appropriate).
-
-@item --version
-Print the version number of Autoconf and exit.
-@end table
-
-@node Setup, Existing Tests, Making configure Scripts, Top
-@chapter Initialization and Output Files
-
-Autoconf-generated @code{configure} scripts need some information about
-how to initialize, such as how to find the package's source files; and
-about the output files to produce. The following sections describe
-initialization and creating output files.
-
-@menu
-* Input:: Where Autoconf should find files.
-* Output:: Creating output files.
-* Makefile Substitutions:: Using output variables in @file{Makefile}s.
-* Configuration Headers:: Creating a configuration header file.
-* Subdirectories:: Configuring independent packages together.
-* Default Prefix:: Changing the default installation prefix.
-* Versions:: Version numbers in @code{configure}.
-@end menu
-
-@node Input, Output, , Setup
-@section Finding @code{configure} Input
-
-Every @code{configure} script must call @code{AC_INIT} before doing
-anything else. The only other required macro is @code{AC_OUTPUT}
-(@pxref{Output}).
-
-@defmac AC_INIT (@var{unique-file-in-source-dir})
-@maindex INIT
-Process any command-line arguments and find the source code directory.
-@var{unique-file-in-source-dir} is some file that is in the package's
-source directory; @code{configure} checks for this file's existence to
-make sure that the directory that it is told contains the source code in
-fact does (@pxref{Invoking configure}, for more information).
-@end defmac
-
-Packages that do manual configuration or use the @code{install} program
-might need to tell @code{configure} where to find some other shell
-scripts by calling @code{AC_CONFIG_AUX_DIR}, though the default places
-it looks are correct for most cases.
-
-@defmac AC_CONFIG_AUX_DIR(@var{dir})
-@maindex CONFIG_AUX_DIR
-Use the @file{install-sh}, @file{config.sub}, @file{config.guess}, and
-Cygnus @code{configure} scripts that are in directory @var{dir}. These
-are auxiliary files used in configuration. @var{dir} can be either
-absolute or relative to @file{@var{srcdir}}. The default is
-@file{@var{srcdir}} or @file{@var{srcdir}/..} or
-@file{@var{srcdir}/../..}, whichever is the first that contains
-@file{install-sh}. The other files are not checked for, so that using
-@code{AC_PROG_INSTALL} does not automatically require distributing the
-other auxiliary files. It checks for @file{install.sh} also, but that
-name is obsolete because some @code{make} programs have a rule that
-creates @file{install} from it if there is no @file{Makefile}.
-@end defmac
-
-@node Output, Makefile Substitutions, Input, Setup
-@section Creating Output Files
-
-Every Autoconf-generated @code{configure} script must finish by calling
-@code{AC_OUTPUT}. It is the macro that creates the @file{Makefile}s and
-optional other files resulting from configuration. The only other
-required macro is @code{AC_INIT} (@pxref{Input}).
-
-@defmac AC_OUTPUT (@r{[}@var{file}@dots{}@r{] [,}@var{extra-cmds}@r{] [,}@var{init-cmds}@r{]})
-@maindex OUTPUT
-Create output files. The @var{file}@dots{} argument is a
-whitespace-separated list of output files; it may be empty. This macro
-creates each file @file{@var{file}} by copying an input file (by default
-named @file{@var{file}.in}), substituting the output variable values.
-@xref{Makefile Substitutions}, for more information on using output variables.
-@xref{Setting Output Variables}, for more information on creating them. This
-macro creates the directory that the file is in if it doesn't exist (but
-not the parents of that directory). Usually, @file{Makefile}s are
-created this way, but other files, such as @file{.gdbinit}, can be
-specified as well.
-
-If @code{AC_CONFIG_HEADER}, @code{AC_LINK_FILES}, or
-@code{AC_CONFIG_SUBDIRS} has been called, this macro also creates the
-files named as their arguments.
-
-A typical call to @code{AC_OUTPUT} looks like this:
-@example
-AC_OUTPUT(Makefile src/Makefile man/Makefile X/Imakefile)
-@end example
-
-You can override an input file name by appending it to @var{file},
-separated by a colon. For example,
-@example
-AC_OUTPUT(Makefile:templates/top.mk lib/Makefile:templates/lib.mk)
-@end example
-
-If you pass @var{extra-cmds}, those commands will be inserted into
-@file{config.status} to be run after all its other processing. If
-@var{init-cmds} are given, they are inserted just before
-@var{extra-cmds}, with shell variable, command, and backslash
-substitutions performed on them in @code{configure}. You can use
-@var{init-cmds} to pass variables from @code{configure} to the
-@var{extra-cmds}.
-@end defmac
-
-If you run @code{make} on subdirectories, you should run it using the
-@code{make} variable @code{MAKE}. Most versions of @code{make} set
-@code{MAKE} to the name of the @code{make} program plus any options it
-was given. (But many do not include in it the values of any variables
-set on the command line, so those are not passed on automatically.)
-Some old versions of @code{make} do not set this variable. The
-following macro allows you to use it even with those versions.
-
-@defmac AC_PROG_MAKE_SET
-@maindex PROG_MAKE_SET
-@ovindex SET_MAKE
-If @code{make} predefines the variable @code{MAKE}, define output
-variable @code{SET_MAKE} to be empty. Otherwise, define @code{SET_MAKE}
-to contain @samp{MAKE=make}. Calls @code{AC_SUBST} for @code{SET_MAKE}.
-@end defmac
-
-To use this macro, place a line like this in each @file{Makefile.in}
-that runs @code{MAKE} on other directories:
-
-@example
-@@SET_MAKE@@
-@end example
-
-@node Makefile Substitutions, Configuration Headers, Output, Setup
-@section Substitutions in Makefiles
-
-Each subdirectory in a distribution that contains something to be
-compiled or installed should come with a file @file{Makefile.in}, from
-which @code{configure} will create a @file{Makefile} in that directory.
-To create a @file{Makefile}, @code{configure} performs a simple variable
-substitution, replacing occurrences of @samp{@@@var{variable}@@} in
-@file{Makefile.in} with the value that @code{configure} has determined
-for that variable. Variables that are substituted into output files in
-this way are called @dfn{output variables}. They are ordinary shell
-variables that are set in @code{configure}. To make @code{configure}
-substitute a particular variable into the output files, the macro
-@code{AC_SUBST} must be called with that variable name as an argument.
-Any occurrences of @samp{@@@var{variable}@@} for other variables are
-left unchanged. @xref{Setting Output Variables}, for more information on
-creating output variables with @code{AC_SUBST}.
-
-A software package that uses a @code{configure} script should be
-distributed with a file @file{Makefile.in}, but no @file{Makefile}; that
-way, the user has to properly configure the package for the local system
-before compiling it.
-
-@xref{Makefile Conventions, , Makefile Conventions, standards.info, The
-GNU Coding Standards}, for more information on what to put in
-@file{Makefile}s.
-
-@menu
-* Preset Output Variables:: Output variables that are always set.
-* Build Directories:: Compiling in a different directory.
-* Automatic Remaking:: Makefile rules for configuring.
-@end menu
-
-@node Preset Output Variables, Build Directories, , Makefile Substitutions
-@subsection Preset Output Variables
-
-Some output variables are preset by the Autoconf macros. Some of the
-Autoconf macros set additional output variables, which are mentioned in
-the descriptions for those macros. @xref{Output Variable Index}, for a
-complete list of output variables. Here is what each of the preset ones
-contains.
-
-@defvar configure_input
-@ovindex configure_input
-A comment saying that the file was generated automatically by
-@code{configure} and giving the name of the input file.
-@code{AC_OUTPUT} adds a comment line containing this variable to the top
-of every @file{Makefile} it creates. For other files, you should
-reference this variable in a comment at the top of each input file. For
-example, an input shell script should begin like this:
-
-@example
-#!/bin/sh
-# @@configure_input@@
-@end example
-
-@noindent
-The presence of that line also reminds people editing the file that it
-needs to be processed by @code{configure} in order to be used.
-@end defvar
-
-@defvar exec_prefix
-@ovindex exec_prefix
-The installation prefix for architecture-dependent files.
-@end defvar
-
-@defvar prefix
-@ovindex prefix
-The installation prefix for architecture-independent files.
-@end defvar
-
-@defvar srcdir
-@ovindex srcdir
-The directory that contains the source code for that @file{Makefile}.
-@end defvar
-
-@defvar top_srcdir
-@ovindex top_srcdir
-The top-level source code directory for the package. In the top-level
-directory, this is the same as @code{srcdir}.
-@end defvar
-
-@defvar CFLAGS
-@ovindex CFLAGS
-Debugging and optimization options for the C compiler. If it is not set
-in the environment when @code{configure} runs, the default value is set
-when you call @code{AC_PROG_CC} (or empty if you don't). @code{configure}
-uses this variable when compiling programs to test for C features.
-@end defvar
-
-@defvar CPPFLAGS
-@ovindex CPPFLAGS
-Header file search directory (@samp{-I@var{dir}}) and any other
-miscellaneous options for the C preprocessor and compiler. If it is not
-set in the environment when @code{configure} runs, the default value is
-empty. @code{configure} uses this variable when compiling or
-preprocessing programs to test for C features.
-@end defvar
-
-@defvar CXXFLAGS
-@ovindex CXXFLAGS
-Debugging and optimization options for the C++ compiler. If it is not
-set in the environment when @code{configure} runs, the default value is
-set when you call @code{AC_PROG_CXX} (or empty if you don't).
-@code{configure} uses this variable when compiling programs to test for
-C++ features.
-@end defvar
-
-@defvar DEFS
-@ovindex DEFS
-@samp{-D} options to pass to the C compiler. If @code{AC_CONFIG_HEADER}
-is called, @code{configure} replaces @samp{@@DEFS@@} with
-@samp{-DHAVE_CONFIG_H} instead (@pxref{Configuration Headers}). This
-variable is not defined while @code{configure} is performing its tests,
-only when creating the output files. @xref{Setting Output Variables}, for
-how to check the results of previous tests.
-@end defvar
-
-@defvar LDFLAGS
-@ovindex LDFLAGS
-Stripping (@samp{-s}) and any other miscellaneous options for the
-linker. If it is not set in the environment when @code{configure} runs,
-the default value is empty. @code{configure} uses this variable when
-linking programs to test for C features.
-@end defvar
-
-@defvar LIBS
-@ovindex LIBS
-@samp{-l} and @samp{-L} options to pass to the linker.
-@end defvar
-
-@node Build Directories, Automatic Remaking, Preset Output Variables, Makefile Substitutions
-@subsection Build Directories
-
-You might want to compile a software package in a different directory
-from the one that contains the source code. Doing this allows you to
-compile the package for several architectures simultaneously from the
-same copy of the source code and keep multiple sets of object files on
-disk.
-
-To support doing this, @code{make} uses the @code{VPATH} variable to
-find the files that are in the source directory. GNU @code{make} and
-most other recent @code{make} programs can do this. Older @code{make}
-programs do not support @code{VPATH}; when using them, the source code
-must be in the same directory as the object files.
-
-To support @code{VPATH}, each @file{Makefile.in} should contain two
-lines that look like:
-
-@example
-srcdir = @@srcdir@@
-VPATH = @@srcdir@@
-@end example
-
-Do not set @code{VPATH} to the value of another variable, for example
-@samp{VPATH = $(srcdir)}, because some versions of @code{make} do not do
-variable substitutions on the value of @code{VPATH}.
-
-@code{configure} substitutes in the correct value for @code{srcdir} when
-it produces @file{Makefile.in}.
-
-Do not use the @code{make} variable @code{$<}, which expands to the
-pathname of the file in the source directory (found with @code{VPATH}),
-except in implicit rules. (An implicit rule is one such as @samp{.c.o},
-which tells how to create a @file{.o} file from a @file{.c} file.) Some
-versions of @code{make} do not set @code{$<} in explicit rules; they
-expand it to an empty value.
-
-Instead, @file{Makefile} command lines should always refer to source
-files by prefixing them with @samp{$(srcdir)/}. For example:
-
-@example
-time.info: time.texinfo
- $(MAKEINFO) $(srcdir)/time.texinfo
-@end example
-
-@node Automatic Remaking, , Build Directories, Makefile Substitutions
-@subsection Automatic Remaking
-
-You can put rules like the following in the top-level @file{Makefile.in}
-for a package to automatically update the configuration information when
-you change the configuration files. This example includes all of the
-optional files, such as @file{aclocal.m4} and those related to
-configuration header files. Omit from the @file{Makefile.in} rules any
-of these files that your package does not use.
-
-The @samp{$@{srcdir@}/} prefix is included because of limitations in the
-@code{VPATH} mechanism.
-
-The @file{stamp-} files are necessary because the timestamps of
-@file{config.h.in} and @file{config.h} will not be changed if remaking
-them does not change their contents. This feature avoids unnecessary
-recompilation. You should include the file @file{stamp-h.in} your
-package's distribution, so @code{make} will consider @file{config.h.in}
-up to date. On some old BSD systems, @code{touch} or any command that
-results in an empty file does not update the timestamps, so use a
-command like @code{date} as a workaround.
-
-@example
-@group
-$@{srcdir@}/configure: configure.in aclocal.m4
- cd $@{srcdir@} && autoconf
-
-# autoheader might not change config.h.in, so touch a stamp file.
-$@{srcdir@}/config.h.in: stamp-h.in
-$@{srcdir@}/stamp-h.in: configure.in aclocal.m4 acconfig.h \
- config.h.top config.h.bot
- cd $@{srcdir@} && autoheader
- date > $@{srcdir@}/stamp-h.in
-
-config.h: stamp-h
-stamp-h: config.h.in config.status
- ./config.status
-
-Makefile: Makefile.in config.status
- ./config.status
-
-config.status: configure
- ./config.status --recheck
-@end group
-@end example
-
-In addition, you should pass @samp{date > stamp-h} in the @var{extra-cmds}
-argument to @code{AC_OUTPUT}, so @file{config.status} will ensure that
-@file{config.h} is considered up to date. @xref{Output}, for more
-information about @code{AC_OUTPUT}.
-
-@xref{Invoking config.status}, for more examples of handling
-configuration-related dependencies.
-
-@node Configuration Headers, Subdirectories, Makefile Substitutions, Setup
-@section Configuration Header Files
-
-When a package tests more than a few C preprocessor symbols, the command
-lines to pass @samp{-D} options to the compiler can get quite long.
-This causes two problems. One is that the @code{make} output is hard to
-visually scan for errors. More seriously, the command lines can exceed
-the length limits of some operating systems. As an alternative to
-passing @samp{-D} options to the compiler, @code{configure} scripts can
-create a C header file containing @samp{#define} directives. The
-@code{AC_CONFIG_HEADER} macro selects this kind of output. It should be
-called right after @code{AC_INIT}.
-
-The package should @samp{#include} the configuration header file before
-any other header files, to prevent inconsistencies in declarations (for
-example, if it redefines @code{const}). Use @samp{#include <config.h>}
-instead of @samp{#include "config.h"}, and pass the C compiler a
-@samp{-I.} option (or @samp{-I..}; whichever directory contains
-@file{config.h}). That way, even if the source directory is configured
-itself (perhaps to make a distribution), other build directories can
-also be configured without finding the @file{config.h} from the source
-directory.
-
-@defmac AC_CONFIG_HEADER (@var{header-to-create} @dots{})
-@maindex CONFIG_HEADER
-@cvindex HAVE_CONFIG_H
-Make @code{AC_OUTPUT} create the file(s) in the whitespace-separated
-list @var{header-to-create} containing C preprocessor @code{#define}
-statements, and replace @samp{@@DEFS@@} in generated files with
-@samp{-DHAVE_CONFIG_H} instead of the value of @code{DEFS}. The usual
-name for @var{header-to-create} is @file{config.h}.
-
-If @var{header-to-create} already exists and its contents are identical
-to what @code{AC_OUTPUT} would put in it, it is left alone. Doing this
-allows some changes in configuration without needlessly causing object
-files that depend on the header file to be recompiled.
-
-Usually the input file is named @file{@var{header-to-create}.in};
-however, you can override the input file name by appending it to
-@var{header-to-create}, separated by a colon. For example,
-@example
-AC_CONFIG_HEADER(defines.h:defines.hin)
-@end example
-@noindent
-Doing this allows you to keep your filenames acceptable to MS-DOS.
-@end defmac
-
-@menu
-* Header Templates:: Input for the configuration headers.
-* Invoking autoheader:: How to create configuration templates.
-@end menu
-
-@node Header Templates, Invoking autoheader, , Configuration Headers
-@subsection Configuration Header Templates
-
-Your distribution should contain a template file that looks as you want
-the final header file to look, including comments, with default values
-in the @code{#define} statements. For example, suppose your
-@file{configure.in} makes these calls:
-
-@example
-AC_CONFIG_HEADER(conf.h)
-AC_CHECK_HEADERS(unistd.h)
-@end example
-
-@noindent
-Then you could have code like the following in @file{conf.h.in}.
-On systems that have @file{unistd.h}, @code{configure} will change the 0
-to a 1. On other systems, it will leave the line unchanged.
-
-@example
-@group
-/* Define as 1 if you have unistd.h. */
-#define HAVE_UNISTD_H 0
-@end group
-@end example
-
-Alternately, if your code tests for configuration options using
-@code{#ifdef} instead of @code{#if}, a default value can be to
-@code{#undef} the variable instead of to define it to a value. On
-systems that have @file{unistd.h}, @code{configure} will change the
-second line to read @samp{#define HAVE_UNISTD_H 1}. On other systems,
-it will comment that line out (in case the system predefines that
-symbol).
-
-@example
-@group
-/* Define if you have unistd.h. */
-#undef HAVE_UNISTD_H
-@end group
-@end example
-
-@node Invoking autoheader, , Header Templates, Configuration Headers
-@subsection Using @code{autoheader} to Create @file{config.h.in}
-
-The @code{autoheader} program can create a template file of C
-@samp{#define} statements for @code{configure} to use. If
-@file{configure.in} invokes @code{AC_CONFIG_HEADER(@var{file})},
-@code{autoheader} creates @file{@var{file}.in}. Otherwise,
-@code{autoheader} creates @file{config.h.in}.
-
-If you give @code{autoheader} an argument, it uses that file instead of
-@file{configure.in} and writes the header file to the standard output
-instead of to @file{config.h.in}. If you give @code{autoheader} an
-argument of @samp{-}, it reads the standard input instead of
-@file{configure.in} and writes the header file to the standard output.
-
-@code{autoheader} scans @file{configure.in} and figures out which C
-preprocessor symbols it might define. It copies comments and
-@code{#define} and @code{#undef} statements from a file called
-@file{acconfig.h}, which comes with and is installed with Autoconf. It
-also uses a file called @file{acconfig.h} in the current directory, if
-present. If you @code{AC_DEFINE} any additional symbols, you must
-create that file with entries for them. For symbols defined by
-@code{AC_CHECK_HEADERS}, @code{AC_CHECK_FUNCS}, @code{AC_CHECK_SIZEOF},
-or @code{AC_CHECK_LIB}, @code{autoheader} generates comments and
-@code{#undef} statements itself rather than copying them from a file,
-since the possible symbols are effectively limitless.
-
-The file that @code{autoheader} creates contains mainly @code{#define}
-and @code{#undef} statements and their accompanying comments. If
-@file{./acconfig.h} contains the string @samp{@@TOP@@},
-@code{autoheader} copies the lines before the line containing
-@samp{@@TOP@@} into the top of the file that it generates. Similarly,
-if @file{./acconfig.h} contains the string @samp{@@BOTTOM@@},
-@code{autoheader} copies the lines after that line to the end of the
-file it generates. Either or both of those strings may be omitted.
-
-An alternate way to produce the same effect is to create the files
-@file{@var{file}.top} (typically @file{config.h.top}) and/or
-@file{@var{file}.bot} in the current directory. If they exist,
-@code{autoheader} copies them to the beginning and end, respectively, of
-its output. Their use is discouraged because they have file names that
-contain two periods, and so can not be stored on MS-DOS; also, they are
-two more files to clutter up the directory. But if you use the
-@samp{--localdir=@var{dir}} option to use an @file{acconfig.h} in another
-directory, they give you a way to put custom boilerplate in each
-individual @file{config.h.in}.
-
-@code{autoheader} accepts the following options:
-
-@table @code
-@item --help
-@itemx -h
-Print a summary of the command line options and exit.
-
-@item --localdir=@var{dir}
-@itemx -l @var{dir}
-Look for the package files @file{aclocal.m4} and @file{acconfig.h} (but
-not @file{@var{file}.top} and @file{@var{file}.bot}) in directory
-@var{dir} instead of in the current directory.
-
-@item --macrodir=@var{dir}
-@itemx -m @var{dir}
-@evindex AC_MACRODIR
-Look for the installed macro files and @file{acconfig.h} in directory
-@var{dir}. You can also set the @code{AC_MACRODIR} environment variable
-to a directory; this option overrides the environment variable.
-
-@item --version
-Print the version number of Autoconf and exit.
-@end table
-
-@node Subdirectories, Default Prefix, Configuration Headers, Setup
-@section Configuring Other Packages in Subdirectories
-
-In most situations, calling @code{AC_OUTPUT} is sufficient to produce
-@file{Makefile}s in subdirectories. However, @code{configure} scripts
-that control more than one independent package can use
-@code{AC_CONFIG_SUBDIRS} to run @code{configure} scripts for other
-packages in subdirectories.
-
-@defmac AC_CONFIG_SUBDIRS (@var{dir} @dots{})
-@maindex CONFIG_SUBDIRS
-@ovindex subdirs
-Make @code{AC_OUTPUT} run @code{configure} in each subdirectory
-@var{dir} in the given whitespace-separated list. If a given @var{dir}
-is not found, no error is reported, so a @code{configure} script can
-configure whichever parts of a large source tree are present. If a
-given @var{dir} contains @file{configure.in} but no @code{configure},
-the Cygnus @code{configure} script found by @code{AC_CONFIG_AUXDIR} is
-used. The subdirectory @code{configure} scripts are given the same
-command line options that were given to this @code{configure} script,
-with minor changes if needed (e.g., to adjust a relative path for the
-cache file or source directory). This macro also sets the output
-variable @code{subdirs} to the list of directories @samp{@var{dir}
-@dots{}}. @file{Makefile} rules can use this variable to determine
-which subdirectories to recurse into.
-@end defmac
-
-@node Default Prefix, Versions, Subdirectories, Setup
-@section Default Prefix
-
-By default, @code{configure} sets the prefix for files it installs to
-@file{/usr/local}. The user of @code{configure} can select a different
-prefix using the @samp{--prefix} and @samp{--exec-prefix} options.
-There are two ways to change the default: when creating
-@code{configure}, and when running it.
-
-Some software packages might want to install in a directory besides
-@file{/usr/local} by default. To accomplish that, use the
-@code{AC_PREFIX_DEFAULT} macro.
-
-@defmac AC_PREFIX_DEFAULT (@var{prefix})
-Set the default installation prefix to @var{prefix} instead of @file{/usr/local}.
-@end defmac
-
-It may be convenient for users to have @code{configure} guess the
-installation prefix from the location of a related program that they
-have already installed. If you wish to do that, you can call
-@code{AC_PREFIX_PROGRAM}.
-
-@defmac AC_PREFIX_PROGRAM (@var{program})
-@maindex PREFIX_PROGRAM
-If the user did not specify an installation prefix (using the
-@samp{--prefix} option), guess a value for it by looking for
-@var{program} in @code{PATH}, the way the shell does. If @var{program}
-is found, set the prefix to the parent of the directory containing
-@var{program}; otherwise leave the prefix specified in
-@file{Makefile.in} unchanged. For example, if @var{program} is
-@code{gcc} and the @code{PATH} contains @file{/usr/local/gnu/bin/gcc},
-set the prefix to @file{/usr/local/gnu}.
-@end defmac
-
-@node Versions, , Default Prefix, Setup
-@section Version Numbers in @code{configure}
-
-The following macros manage version numbers for @code{configure}
-scripts. Using them is optional.
-
-@defmac AC_PREREQ (@var{version})
-@maindex PREREQ
-Ensure that a recent enough version of Autoconf is being used. If the
-version of Autoconf being used to create @code{configure} is earlier
-than @var{version}, print an error message on the standard error output
-and do not create @code{configure}. For example:
-
-@example
-AC_PREREQ(1.8)
-@end example
-
-This macro is useful if your @file{configure.in} relies on non-obvious
-behavior that changed between Autoconf releases. If it merely needs
-recently added macros, then @code{AC_PREREQ} is less useful, because the
-@code{autoconf} program already tells the user which macros are not
-found. The same thing happens if @file{configure.in} is processed by a
-version of Autoconf older than when @code{AC_PREREQ} was added.
-@end defmac
-
-@defmac AC_REVISION (@var{revision-info})
-@maindex REVISION
-Copy revision stamp @var{revision-info} into the @code{configure}
-script, with any dollar signs or double-quotes removed. This macro lets
-you put a revision stamp from @file{configure.in} into @code{configure}
-without RCS or CVS changing it when you check in @code{configure}. That
-way, you can determine easily which revision of @file{configure.in} a
-particular @code{configure} corresponds to.
-
-It is a good idea to call this macro before @code{AC_INIT} so that the
-revision number is near the top of both @file{configure.in} and
-@code{configure}. To support doing that, the @code{AC_REVISION} output
-begins with @samp{#!/bin/sh}, like the normal start of a
-@code{configure} script does.
-
-For example, this line in @file{configure.in}:
-
-@c The asis prevents RCS from changing the example in the manual.
-@example
-AC_REVISION($@asis{Revision: 1.30 }$)dnl
-@end example
-
-@noindent
-produces this in @code{configure}:
-
-@example
-#!/bin/sh
-# From configure.in Revision: 1.30
-@end example
-@end defmac
-
-@node Existing Tests, Writing Tests, Setup, Top
-@chapter Existing Tests
-
-These macros test for particular system features that packages
-might need or want to use. If you need to test for a kind of feature
-that none of these macros check for, you can probably do it by calling
-primitive test macros with appropriate arguments (@pxref{Writing Tests}).
-
-These tests print messages telling the user which feature they're
-checking for, and what they find. They cache their results for future
-@code{configure} runs (@pxref{Caching Results}).
-
-Some of these macros set output variables. @xref{Makefile
-Substitutions}, for how to get their values. The phrase ``define
-@var{name}'' is used below as a shorthand to mean ``define C
-preprocessor symbol @var{name} to the value 1''. @xref{Defining
-Symbols}, for how to get those symbol definitions into your program.
-
-@menu
-* Alternative Programs:: Selecting between alternative programs.
-* Libraries:: Library archives that might be missing.
-* Library Functions:: C library functions that might be missing.
-* Header Files:: Header files that might be missing.
-* Structures:: Structures or members that might be missing.
-* Typedefs:: @code{typedef}s that might be missing.
-* Compiler Characteristics:: C compiler or machine architecture features.
-* System Services:: Operating system services.
-* UNIX Variants:: Special kludges for specific UNIX variants.
-@end menu
-
-@node Alternative Programs, Libraries, , Existing Tests
-@section Alternative Programs
-
-These macros check for the presence or behavior of particular programs.
-They are used to choose between several alternative programs and to
-decide what to do once one has been chosen.
-If there is no macro specifically defined to check for a program you need,
-and you don't need to check for any special properties of
-it, then you can use one of the general program check macros.
-
-@menu
-* Particular Programs:: Special handling to find certain programs.
-* Generic Programs:: How to find other programs.
-@end menu
-
-@node Particular Programs, Generic Programs, , Alternative Programs
-@subsection Particular Program Checks
-
-These macros check for particular programs---whether they exist, and
-in some cases whether they support certain features.
-
-@defmac AC_DECL_YYTEXT
-@maindex DECL_YYTEXT
-@cvindex YYTEXT_POINTER
-@ovindex LEX_OUTPUT_ROOT
-Define @code{YYTEXT_POINTER} if @code{yytext} is a @samp{char *} instead
-of a @samp{char []}. Also set output variable @code{LEX_OUTPUT_ROOT} to
-the base of the file name that the lexer generates; usually
-@file{lex.yy}, but sometimes something else. These results vary
-according to whether @code{lex} or @code{flex} is being used.
-@end defmac
-
-@defmac AC_PROG_AWK
-@maindex PROG_AWK
-@ovindex AWK
-Check for @code{mawk}, @code{gawk}, @code{nawk}, and @code{awk}, in that
-order, and set output variable @code{AWK} to the first one that it
-finds. It tries @code{mawk} first because that is reported to be the
-fastest implementation.
-@end defmac
-
-@defmac AC_PROG_CC
-@maindex PROG_CC
-@ovindex CC
-@ovindex CFLAGS
-Determine a C compiler to use. If @code{CC} is not already set in the
-environment, check for @code{gcc}, and use @code{cc} if it's not found.
-Set output variable @code{CC} to the name of the compiler found.
-
-If using the GNU C compiler, set shell variable @code{GCC} to
-@samp{yes}, empty otherwise. If output variable @code{CFLAGS} was
-not already set, set it to @samp{-g -O} for the GNU C compiler
-(@samp{-O} on systems where GCC does not accept @samp{-g}), or @samp{-g}
-for other compilers.
-@end defmac
-
-@defmac AC_PROG_CC_C_O
-@maindex PROG_CC_C_O
-@cvindex NO_MINUS_C_MINUS_O
-If the C compiler does not accept the @samp{-c} and @samp{-o} options
-simultaneously, define @code{NO_MINUS_C_MINUS_O}.
-@end defmac
-
-@defmac AC_PROG_CPP
-@maindex PROG_CPP
-@ovindex CPP
-Set output variable @code{CPP} to a command that runs the
-C preprocessor. If @samp{$CC -E} doesn't work, it uses @file{/lib/cpp}.
-It is only portable to run @code{CPP} on files with a @file{.c}
-extension.
-
-If the current language is C (@pxref{Language Choice}), many of the
-specific test macros use the value of @code{CPP} indirectly by calling
-@code{AC_TRY_CPP}, @code{AC_CHECK_HEADER}, @code{AC_EGREP_HEADER}, or
-@code{AC_EGREP_CPP}.
-@end defmac
-
-@defmac AC_PROG_CXX
-@maindex PROG_CXX
-@ovindex CXX
-@ovindex CXXFLAGS
-Determine a C++ compiler to use. Check if the environment variable
-@code{CXX} or @code{CCC} (in that order) is set; if so, set output
-variable @code{CXX} to its value. Otherwise search for a C++ compiler
-under likely names (@code{c++}, @code{g++}, @code{gcc}, @code{CC}, and
-@code{cxx}). If none of those checks succeed, as a last resort set
-@code{CXX} to @code{gcc}.
-
-If using the GNU C++ compiler, set shell variable @code{GXX} to
-@samp{yes}, empty otherwise. If output variable @code{CXXFLAGS} was
-not already set, set it to @samp{-g -O} for the GNU C++ compiler
-(@samp{-O} on systems where G++ does not accept @samp{-g}), or @samp{-g}
-for other compilers.
-@end defmac
-
-@defmac AC_PROG_CXXCPP
-@maindex PROG_CXXCPP
-@ovindex CXXCPP
-Set output variable @code{CXXCPP} to a command that runs the
-C++ preprocessor. If @samp{$CXX -E} doesn't work, it uses @file{/lib/cpp}.
-It is only portable to run @code{CXXCPP} on files with a @file{.c},
-@file{.C}, or @file{.cc} extension.
-
-If the current language is C++ (@pxref{Language Choice}), many of the
-specific test macros use the value of @code{CXXCPP} indirectly by
-calling @code{AC_TRY_CPP}, @code{AC_CHECK_HEADER},
-@code{AC_EGREP_HEADER}, or @code{AC_EGREP_CPP}.
-@end defmac
-
-@defmac AC_PROG_GCC_TRADITIONAL
-@maindex PROG_GCC_TRADITIONAL
-@ovindex CC
-Add @samp{-traditional} to output variable @code{CC} if using the
-GNU C compiler and @code{ioctl} does not work properly without
-@samp{-traditional}. That usually happens when the fixed header files
-have not been installed on an old system. Since recent versions of the
-GNU C compiler fix the header files automatically when installed, this
-is becoming a less prevalent problem.
-@end defmac
-
-@defmac AC_PROG_INSTALL
-@maindex PROG_INSTALL
-@ovindex INSTALL
-@ovindex INSTALL_PROGRAM
-@ovindex INSTALL_DATA
-Set output variable @code{INSTALL} to the path of a BSD compatible
-@code{install} program, if one is found in the current @code{PATH}.
-Otherwise, set @code{INSTALL} to @samp{@var{dir}/install-sh -c},
-checking the directories specified to @code{AC_CONFIG_AUX_DIR} (or its
-default directories) to determine @var{dir} (@pxref{Output}). Also set
-the variable @code{INSTALL_PROGRAM} to @samp{$@{INSTALL@}} and
-@code{INSTALL_DATA} to @samp{$@{INSTALL@} -m 644}.
-
-This macro screens out various instances of @code{install} known to not
-work. It prefers to find a C program rather than a shell script, for
-speed. Instead of @file{install-sh}, it can also use @file{install.sh},
-but that name is obsolete because some @code{make} programs have a rule
-that creates @file{install} from it if there is no @file{Makefile}.
-
-A copy of @file{install-sh} which you may use comes with Autoconf. If
-you use @code{AC_PROG_INSTALL}, you must include either
-@file{install-sh} or @file{install.sh} in your distribution, or
-@code{configure} will produce an error message saying it can't find
-them---even if the system you're on has a good @code{install} program.
-This check is a safety measure to prevent you from accidentally leaving
-that file out, which would prevent your package from installing on
-systems that don't have a BSD-compatible @code{install} program.
-
-If you need to use your own installation program because it has
-features not found in standard @code{install} programs, there is no
-reason to use @code{AC_PROG_INSTALL}; just put the pathname of your
-program into your @file{Makefile.in} files.
-@end defmac
-
-@defmac AC_PROG_LEX
-@maindex PROG_LEX
-@ovindex LEX
-@ovindex LEXLIB
-If @code{flex} is found, set output variable @code{LEX} to
-@samp{flex} and @code{LEXLIB} to @samp{-lfl}, if that library is in a
-standard place. Otherwise set @code{LEX} to @samp{lex} and
-@code{LEXLIB} to @samp{-ll}.
-@end defmac
-
-@defmac AC_PROG_LN_S
-@maindex PROG_LN_S
-@ovindex LN_S
-If @samp{ln -s} works on the current filesystem (the operating system
-and filesystem support symbolic links), set output
-variable @code{LN_S} to @samp{ln -s}, otherwise set it to @samp{ln}.
-@end defmac
-
-@defmac AC_PROG_RANLIB
-@maindex PROG_RANLIB
-@ovindex RANLIB
-Set output variable @code{RANLIB} to @samp{ranlib} if @code{ranlib}
-is found, otherwise to @samp{:} (do nothing).
-@end defmac
-
-@defmac AC_PROG_YACC
-@maindex PROG_YACC
-@ovindex YACC
-If @code{bison} is found, set output variable @code{YACC} to
-@samp{bison -y}. Otherwise, if @code{byacc} is found, set @code{YACC}
-to @samp{byacc}. Otherwise set @code{YACC} to @samp{yacc}.
-@end defmac
-
-@node Generic Programs, , Particular Programs, Alternative Programs
-@subsection Generic Program Checks
-
-These macros are used to find programs not covered by the particular
-test macros. If you need to check the behavior of a program as well as
-find out whether it is present, you have to write your own test for
-it (@pxref{Writing Tests}).
-
-@defmac AC_CHECK_PROG (@var{variable}, @var{prog-to-check-for}, @var{value-if-found} @r{[}, @var{value-if-not-found}@r{]})
-@maindex CHECK_PROG
-Check whether program @var{prog-to-check-for} exists in @code{PATH}. If
-it is found, set @var{variable} to @var{value-if-found}, otherwise to
-@var{value-if-not-found}, if given. If @var{variable} was already set,
-do nothing. Calls @code{AC_SUBST} for @var{variable}.
-@end defmac
-
-@defmac AC_CHECK_PROGS (@var{variable}, @var{progs-to-check-for} @r{[}, @var{value-if-not-found}@r{]})
-@maindex CHECK_PROGS
-Check for each program in the whitespace-separated list
-@var{progs-to-check-for} exists in @code{PATH}. If it is found, set
-@var{variable} to the name of that program. Otherwise, continue
-checking the next program in the list. If none of the programs in the
-list are found, set @var{variable} to @var{value-if-not-found}; if
-@var{value-if-not-found} is not specified, the value of @var{variable}
-is not changed. Calls @code{AC_SUBST} for @var{variable}.
-@end defmac
-
-@defmac AC_PATH_PROG (@var{variable}, @var{prog-to-check-for} @r{[}, @var{value-if-not-found}@r{]})
-@maindex PATH_PROG
-Like @code{AC_CHECK_PROG}, but set @var{variable} to the entire
-path of @var{prog-to-check-for} if found.
-@end defmac
-
-@defmac AC_PATH_PROGS (@var{variable}, @var{progs-to-check-for} @r{[}, @var{value-if-not-found}@r{]})
-@maindex PATH_PROGS
-Like @code{AC_CHECK_PROGS}, but if any of @var{progs-to-check-for}
-are found, set @var{variable} to the entire path of the program
-found.
-@end defmac
-
-@node Libraries, Library Functions, Alternative Programs, Existing Tests
-@section Library Files
-
-The following macros check for the presence of certain C library archive
-files.
-
-@defmac AC_CHECK_LIB (@var{library}, @var{function} @r{[}, @var{action-if-found} @r{[}, @var{action-if-not-found} @r{[}, @var{other-libraries}@r{]]]})
-@maindex CHECK_LIB
-Try to ensure that C function @var{function} is available by checking
-whether a test C program can be linked with the library @var{library} to
-get the function. @var{library} is the base name of the library; e.g.,
-to check for @samp{-lmp}, use @samp{mp} as the @var{library} argument.
-
-@var{action-if-found} is a list of shell commands to run if the link
-with the library succeeds; @var{action-if-not-found} is a list of shell
-commands to run if the link fails. If @var{action-if-found} and
-@var{action-if-not-found} are not specified, the default action is to
-add @samp{-l@var{library}} to @code{LIBS} and define
-@samp{HAVE_LIB@var{library}} (in all capitals).
-
-If linking with @var{library} results in unresolved symbols, which would
-be resolved by linking with additional libraries, give those libraries
-as the @var{other-libraries} argument, separated by spaces: @samp{-lX11
--lXt}. Otherwise this macro will fail to detect that @var{library} is
-present, because linking the test program will always fail with
-unresolved symbols.
-@end defmac
-
-@defmac AC_HAVE_LIBRARY (@var{library}, @r{[}, @var{action-if-found} @r{[}, @var{action-if-not-found} @r{[}, @var{other-libraries}@r{]]]})
-@maindex HAVE_LIBRARY
-This macro is equivalent to calling @code{AC_CHECK_LIB} with a
-@var{function} argument of @code{main}. In addition, @var{library} can
-be written as any of @samp{foo}, @samp{-lfoo}, or @samp{libfoo.a}. In
-all of those cases, the compiler is passed @samp{-lfoo}. However,
-@var{library} can not be a shell variable; it must be a literal name.
-This macro is considered obsolete.
-@end defmac
-
-@node Library Functions, Header Files, Libraries, Existing Tests
-@section Library Functions
-
-The following macros check for particular C library functions.
-If there is no macro specifically defined to check for a function you need,
-and you don't need to check for any special properties of
-it, then you can use one of the general function check macros.
-
-@menu
-* Particular Functions:: Special handling to find certain functions.
-* Generic Functions:: How to find other functions.
-@end menu
-
-@node Particular Functions, Generic Functions, , Library Functions
-@subsection Particular Function Checks
-
-These macros check for particular C functions---whether they exist, and
-in some cases how they respond when given certain arguments.
-
-@defmac AC_FUNC_ALLOCA
-@maindex FUNC_ALLOCA
-@cvindex C_ALLOCA
-@cvindex HAVE_ALLOCA_H
-@ovindex ALLOCA
-Check how to get @code{alloca}. Tries to get a builtin version by
-checking for @file{alloca.h} or the predefined C preprocessor macros
-@code{__GNUC__} and @code{_AIX}. If this macro finds @file{alloca.h},
-it defines @code{HAVE_ALLOCA_H}.
-
-If those attempts fail, it looks for the function in the standard C
-library. If any of those methods succeed, it defines
-@code{HAVE_ALLOCA}. Otherwise, it sets the output variable
-@code{ALLOCA} to @samp{alloca.o} and defines @code{C_ALLOCA} (so
-programs can periodically call @samp{alloca(0)} to garbage collect).
-This variable is separate from @code{LIBOBJS} so multiple programs can
-share the value of @code{ALLOCA} without needing to create an actual
-library, in case only some of them use the code in @code{LIBOBJS}.
-
-This macro does not try to get @code{alloca} from the System V R3
-@file{libPW} or the System V R4 @file{libucb} because those libraries
-contain some incompatible functions that cause trouble. Some versions
-do not even contain @code{alloca} or contain a buggy version. If you
-still want to use their @code{alloca}, use @code{ar} to extract
-@file{alloca.o} from them instead of compiling @file{alloca.c}.
-
-Source files that use @code{alloca} should start with a piece of code
-like the following, to declare it properly. In some versions
-of AIX, the declaration of @code{alloca} must precede everything else
-except for comments and preprocessor directives. The @code{#pragma}
-directive is indented so that pre-ANSI C compilers will ignore it,
-rather than choke on it.
-
-@example
-@group
-/* AIX requires this to be the first thing in the file. */
-#ifdef __GNUC__
-# define alloca __builtin_alloca
-#else
-# if HAVE_ALLOCA_H
-# include <alloca.h>
-# else
-# ifdef _AIX
- #pragma alloca
-# else
-# ifndef alloca /* predefined by HP cc +Olibcalls */
-char *alloca ();
-# endif
-# endif
-# endif
-#endif
-@end group
-@end example
-@end defmac
-
-@defmac AC_FUNC_CLOSEDIR_VOID
-@maindex FUNC_CLOSEDIR_VOID
-@cvindex CLOSEDIR_VOID
-If the @code{closedir} function does not return a meaningful value,
-define @code{CLOSEDIR_VOID}. Otherwise, callers ought to check its
-return value for an error indicator.
-@end defmac
-
-@defmac AC_FUNC_GETLOADAVG
-@maindex FUNC_GETLOADAVG
-@cvindex SVR4
-@cvindex DGUX
-@cvindex UMAX
-@cvindex UMAX4_3
-@cvindex NLIST_STRUCT
-@cvindex NLIST_NAME_UNION
-@cvindex GETLODAVG_PRIVILEGED
-@cvindex NEED_SETGID
-@ovindex LIBOBJS
-@ovindex NEED_SETGID
-@ovindex KMEM_GROUP
-Check how to get the system load averages. If the system has the
-@code{getloadavg} function, this macro defines @code{HAVE_GETLOADAVG},
-and adds to @code{LIBS} any libraries needed to get that function.
-
-Otherwise, it adds @samp{getloadavg.o} to the output variable
-@code{LIBOBJS}, and possibly defines several other C preprocessor
-macros and output variables:
-
-@enumerate
-@item
-It defines @code{SVR4}, @code{DGUX}, @code{UMAX}, or @code{UMAX4_3} if
-on those systems.
-
-@item
-If it finds @file{nlist.h}, it defines @code{NLIST_STRUCT}.
-
-@item
-If @samp{struct nlist} has an @samp{n_un} member, it defines
-@code{NLIST_NAME_UNION}.
-
-@item
-If compiling @file{getloadavg.c} defines @code{LDAV_PRIVILEGED},
-programs need to be installed specially on this system for
-@code{getloadavg} to work, and this macro defines
-@code{GETLOADAVG_PRIVILEGED}.
-
-@item
-This macro sets the output variable @code{NEED_SETGID}. The value is
-@samp{true} if special installation is required, @samp{false} if not.
-If @code{NEED_SETGID} is @samp{true}, this macro sets @code{KMEM_GROUP}
-to the name of the group that should own the installed program.
-@end enumerate
-@end defmac
-
-@defmac AC_FUNC_GETMNTENT
-@maindex FUNC_GETMNTENT
-@cvindex HAVE_GETMNTENT
-Check for the @code{getmntent} in the @file{sun} and @file{seq}
-libraries, for Irix 4 and PTX, respectively. Then, if @code{getmntent} is
-available, define @code{HAVE_GETMNTENT}.
-@end defmac
-
-@defmac AC_FUNC_MEMCMP
-@maindex FUNC_MEMCMP
-@ovindex LIBOBJS
-If the @code{memcmp} function is not available, or does not work on
-8-bit data (like the one on SunOS 4.1.3), add @samp{memcmp.o} to output
-variable @code{LIBOBJS}.
-@end defmac
-
-@defmac AC_FUNC_MMAP
-@maindex FUNC_MMAP
-@cvindex HAVE_MMAP
-If the @code{mmap} function exists and works correctly on memory mapped
-files, define @code{HAVE_MMAP}.
-@end defmac
-
-@defmac AC_FUNC_SETVBUF_REVERSED
-@maindex FUNC_SETVBUF_REVERSED
-@cvindex SETVBUF_REVERSED
-If @code{setvbuf} takes the buffering type as its second argument and
-the buffer pointer as the third, instead of the other way around, define
-@code{SETVBUF_REVERSED}. This is the case on System V before release 3.
-@end defmac
-
-@defmac AC_FUNC_STRCOLL
-@maindex FUNC_STRCOLL
-@cvindex HAVE_STRCOLL
-If the @code{strcoll} function exists and works correctly, define
-@code{HAVE_STRCOLL}. This does a bit more than
-@samp{AC_CHECK_FUNCS(strcoll)}, because some systems have incorrect
-definitions of @code{strcoll}, which should not be used.
-@end defmac
-
-@defmac AC_FUNC_STRFTIME
-@maindex FUNC_STRFTIME
-@cvindex HAVE_STRFTIME
-Check for @code{strftime} in the @file{intl} library, for SCO UNIX.
-Then, if @code{strftime} is available, define @code{HAVE_STRFTIME}.
-@end defmac
-
-@defmac AC_FUNC_UTIME_NULL
-@maindex FUNC_UTIME_NULL
-@cvindex HAVE_UTIME_NULL
-If @samp{utime(@var{file}, NULL)} sets @var{file}'s timestamp to
-the present, define @code{HAVE_UTIME_NULL}.
-@end defmac
-
-@defmac AC_FUNC_VFORK
-@maindex FUNC_VFORK
-@cvindex HAVE_VFORK_H
-@cvindex vfork
-If @file{vfork.h} is found, define @code{HAVE_VFORK_H}. If a working
-@code{vfork} is not found, define @code{vfork} to be @code{fork}. This
-macro checks for several known errors in implementations of @code{vfork}
-and considers the system to not have a working @code{vfork} if it
-detects any of them.
-@end defmac
-
-@defmac AC_FUNC_VPRINTF
-@maindex FUNC_VPRINTF
-@cvindex HAVE_VPRINTF
-@cvindex HAVE_DOPRNT
-If @code{vprintf} is found, define @code{HAVE_VPRINTF}. Otherwise, if
-@code{_doprnt} is found, define @code{HAVE_DOPRNT}. (If @code{vprintf}
-is available, you may assume that @code{vfprintf} and @code{vsprintf}
-are also available.)
-@end defmac
-
-@defmac AC_FUNC_WAIT3
-@maindex FUNC_WAIT3
-@cvindex HAVE_WAIT3
-If @code{wait3} is found and fills in the contents of its third argument
-(a @samp{struct rusage *}), which HP-UX does not do, define
-@code{HAVE_WAIT3}.
-@end defmac
-
-@node Generic Functions, , Particular Functions, Library Functions
-@subsection Generic Function Checks
-
-These macros are used to find functions not covered by the particular
-test macros. If the functions might be in libraries other than the
-default C library, first call @code{AC_CHECK_LIB} for those libraries.
-If you need to check the behavior of a function as well as find out
-whether it is present, you have to write your own test for
-it (@pxref{Writing Tests}).
-
-@defmac AC_CHECK_FUNC (@var{function}, @var{action-if-found} @r{[}, @var{action-if-not-found}@r{]})
-@maindex CHECK_FUNC
-If C function @var{function} is available, run shell commands
-@var{action-if-found}, otherwise @var{action-if-not-found}. If you just
-want to define a symbol if the function is available, consider using
-@code{AC_CHECK_FUNCS} instead. This macro checks for functions with C
-linkage even when @code{AC_LANG_CPLUSPLUS} has been called, since C++ is
-more standardized than C is. (@pxref{Language Choice}, for more
-information about selecting the language for checks.)
-@end defmac
-
-@defmac AC_CHECK_FUNCS (@var{function}@dots{} @r{[}, @var{action-if-found} @r{[}, @var{action-if-not-found}@r{]]})
-@maindex CHECK_FUNCS
-@cvindex HAVE_@var{function}
-For each given @var{function} in the whitespace-separated argument list
-that is available, define @code{HAVE_@var{function}} (in all capitals). If
-@var{action-if-found} is given, it is additional shell code to execute
-when one of the functions is found. You can give it a value of
-@samp{break} to break out of the loop on the first match. If
-@var{action-if-not-found} is given, it is executed when one of the
-functions is not found.
-@end defmac
-
-@defmac AC_REPLACE_FUNCS (@var{function-name}@dots{})
-@maindex REPLACE_FUNCS
-@ovindex LIBOBJS
-For each given @var{function-name} in the whitespace-separated argument
-list that is not in the C library, add @samp{@var{function-name}.o} to
-the value of the output variable @code{LIBOBJS}.
-@end defmac
-
-@node Header Files, Structures, Library Functions, Existing Tests
-@section Header Files
-
-The following macros check for the presence of certain C header files.
-If there is no macro specifically defined to check for a header file you need,
-and you don't need to check for any special properties of
-it, then you can use one of the general header file check macros.
-
-@menu
-* Particular Headers:: Special handling to find certain headers.
-* Generic Headers:: How to find other headers.
-@end menu
-
-@node Particular Headers, Generic Headers, , Header Files
-@subsection Particular Header Checks
-
-These macros check for particular system header files---whether they
-exist, and in some cases whether they declare certain symbols.
-
-@defmac AC_DECL_SYS_SIGLIST
-@maindex DECL_SYS_SIGLIST
-@cvindex SYS_SIGLIST_DECLARED
-Define @code{SYS_SIGLIST_DECLARED} if the variable @code{sys_siglist} is
-declared in a system header file, either @file{signal.h} or
-@file{unistd.h}.
-@end defmac
-
-@defmac AC_DIR_HEADER
-@maindex DIR_HEADER
-@cvindex DIRENT
-@cvindex SYSDIR
-@cvindex SYSNDIR
-@cvindex NDIR
-@cvindex VOID_CLOSEDIR
-Like calling @code{AC_HEADER_DIRENT} and @code{AC_FUNC_CLOSEDIR_VOID},
-but defines a different set of C preprocessor macros to indicate which
-header file is found. This macro and the names it defines are
-considered obsolete. The names it defines are:
-
-@c The printed table looks too spaced out with blank lines between the entries.
-@table @file
-@item dirent.h
-@code{DIRENT}
-@item sys/ndir.h
-@code{SYSNDIR}
-@item sys/dir.h
-@code{SYSDIR}
-@item ndir.h
-@code{NDIR}
-@end table
-
-In addition, if the @code{closedir} function does not return a
-meaningful value, define @code{VOID_CLOSEDIR}.
-@end defmac
-
-@defmac AC_HEADER_DIRENT
-@maindex HEADER_DIRENT
-@cvindex HAVE_DIRENT_H
-@cvindex HAVE_NDIR_H
-@cvindex HAVE_SYS_DIR_H
-@cvindex HAVE_SYS_NDIR_H
-Check for the following header files, and for the first one that is
-found and defines @samp{DIR}, define the listed C preprocessor macro:
-
-@c The printed table looks too spaced out with blank lines between the entries.
-@table @file
-@item dirent.h
-@code{HAVE_DIRENT_H}
-@item sys/ndir.h
-@code{HAVE_SYS_NDIR_H}
-@item sys/dir.h
-@code{HAVE_SYS_DIR_H}
-@item ndir.h
-@code{HAVE_NDIR_H}
-@end table
-
-The directory library declarations in the source code should look
-something like the following:
-
-@example
-@group
-#if HAVE_DIRENT_H
-# include <dirent.h>
-# define NAMLEN(dirent) strlen((dirent)->d_name)
-#else
-# define dirent direct
-# define NAMLEN(dirent) (dirent)->d_namlen
-# if HAVE_SYS_NDIR_H
-# include <sys/ndir.h>
-# endif
-# if HAVE_SYS_DIR_H
-# include <sys/dir.h>
-# endif
-# if HAVE_NDIR_H
-# include <ndir.h>
-# endif
-#endif
-@end group
-@end example
-
-Using the above declarations, the program would declare variables to be
-type @code{struct dirent}, not @code{struct direct}, and would access
-the length of a directory entry name by passing a pointer to a
-@code{struct dirent} to the @code{NAMLEN} macro.
-
-This macro also checks for the SCO Xenix @file{dir} and @file{x} libraries.
-@end defmac
-
-@defmac AC_HEADER_MAJOR
-@maindex HEADER_MAJOR
-@cvindex MAJOR_IN_MKDEV
-@cvindex MAJOR_IN_SYSMACROS
-If @file{sys/types.h} does not define @code{major}, @code{minor}, and
-@code{makedev}, but @file{sys/mkdev.h} does, define
-@code{MAJOR_IN_MKDEV}; otherwise, if @file{sys/sysmacros.h} does, define
-@code{MAJOR_IN_SYSMACROS}.
-@end defmac
-
-@defmac AC_HEADER_STDC
-@maindex HEADER_STDC
-@cvindex STDC_HEADERS
-Define @code{STDC_HEADERS} if the system has ANSI C header files.
-Specifically, this macro checks for @file{stdlib.h}, @file{stdarg.h},
-@file{string.h}, and @file{float.h}; if the system has those, it
-probably has the rest of the ANSI C header files. This macro also
-checks whether @file{string.h} declares @code{memchr} (and thus
-presumably the other @code{mem} functions), whether @file{stdlib.h}
-declare @code{free} (and thus presumably @code{malloc} and other related
-functions), and whether the @file{ctype.h} macros work on characters
-with the high bit set, as ANSI C requires.
-
-Use @code{STDC_HEADERS} instead of @code{__STDC__} to determine whether
-the system has ANSI-compliant header files (and probably C library
-functions) because many systems that have GCC do not have ANSI C header
-files.
-
-On systems without ANSI C headers, there is so much variation that it is
-probably easier to declare the functions you use than to figure out
-exactly what the system header files declare. Some systems contain a
-mix of functions ANSI and BSD; some are mostly ANSI but lack
-@samp{memmove}; some define the BSD functions as macros in
-@file{string.h} or @file{strings.h}; some have only the BSD functions
-but @file{string.h}; some declare the memory functions in
-@file{memory.h}, some in @file{string.h}; etc. It is probably
-sufficient to check for one string function and one memory function; if
-the library has the ANSI versions of those then it probably has most of
-the others. If you put the following in @file{configure.in}:
-
-@example
-AC_HEADER_STDC
-AC_CHECK_FUNCS(strchr memcpy)
-@end example
-
-@noindent
-then, in your code, you can put declarations like this:
-
-@example
-@group
-#if STDC_HEADERS
-# include <string.h>
-#else
-# ifndef HAVE_STRCHR
-# define strchr index
-# define strrchr rindex
-# endif
-char *strchr (), *strrchr ();
-# ifndef HAVE_MEMCPY
-# define memcpy(d, s, n) bcopy ((s), (d), (n))
-# define memmove(d, s, n) bcopy ((s), (d), (n))
-# endif
-#endif
-@end group
-@end example
-
-@noindent
-If you use a function like @code{memchr}, @code{memset}, @code{strtok},
-or @code{strspn}, which have no BSD equivalent, then macros won't
-suffice; you must provide an implementation of each function. An easy
-way to incorporate your implementations only when needed (since the ones
-in system C libraries may be hand optimized) is to, taking @code{memchr}
-for example, put it in @file{memchr.c} and use
-@samp{AC_REPLACE_FUNCS(memchr)}.
-@end defmac
-
-@defmac AC_HEADER_SYS_WAIT
-@maindex HEADER_SYS_WAIT
-@cvindex HAVE_SYS_WAIT_H
-If @file{sys/wait.h} exists and is compatible with POSIX.1, define
-@code{HAVE_SYS_WAIT_H}. Incompatibility can occur if @file{sys/wait.h}
-does not exist, or if it uses the old BSD @code{union wait} instead of
-@code{int} to store a status value. If @file{sys/wait.h} is not POSIX.1
-compatible, then instead of including it, define the POSIX.1 macros with
-their usual interpretations. Here is an example:
-
-@example
-@group
-#include <sys/types.h>
-#if HAVE_SYS_WAIT_H
-# include <sys/wait.h>
-#endif
-#ifndef WEXITSTATUS
-# define WEXITSTATUS(stat_val) ((unsigned)(stat_val) >> 8)
-#endif
-#ifndef WIFEXITED
-# define WIFEXITED(stat_val) (((stat_val) & 255) == 0)
-#endif
-@end group
-@end example
-@end defmac
-
-@defmac AC_MEMORY_H
-@maindex MEMORY_H
-@cvindex NEED_MEMORY_H
-Define @code{NEED_MEMORY_H} if @code{memcpy}, @code{memcmp}, etc. are
-not declared in @file{string.h} and @file{memory.h} exists. This macro
-is obsolete; instead, use @code{AC_CHECK_HEADERS(memory.h)}. See the
-example for @code{AC_HEADER_STDC}.
-@end defmac
-
-@defmac AC_UNISTD_H
-@maindex UNISTD_H
-@cvindex HAVE_UNISTD_H
-Define @code{HAVE_UNISTD_H} if the system has @file{unistd.h}. This
-macro is obsolete; instead, use @samp{AC_CHECK_HEADERS(unistd.h)}.
-
-The way to check if the system supports POSIX.1 is:
-
-@example
-@group
-#if HAVE_UNISTD_H
-# include <sys/types.h>
-# include <unistd.h>
-#endif
-
-#ifdef _POSIX_VERSION
-/* Code for POSIX.1 systems. */
-#endif
-@end group
-@end example
-
-@cvindex _POSIX_VERSION
-@code{_POSIX_VERSION} is defined when @file{unistd.h} is included on
-POSIX.1 systems. If there is no @file{unistd.h}, it is definitely not a
-POSIX.1 system. However, some non-POSIX.1 systems do have @file{unistd.h}.
-@end defmac
-
-@defmac AC_USG
-@maindex USG
-@cvindex USG
-Define @code{USG} if the system does not have @file{strings.h},
-@code{rindex}, @code{bzero}, etc. This implies that it has
-@file{string.h}, @code{strrchr}, @code{memset}, etc.
-
-The symbol @code{USG} is obsolete. Instead of this macro, see the
-example for @code{AC_HEADER_STDC}.
-@end defmac
-
-@node Generic Headers, , Particular Headers, Header Files
-@subsection Generic Header Checks
-
-These macros are used to find system header files not covered by the
-particular test macros. If you need to check the contents of a header
-as well as find out whether it is present, you have to write your own
-test for it (@pxref{Writing Tests}).
-
-@defmac AC_CHECK_HEADER (@var{header-file}, @var{action-if-found} @r{[}, @var{action-if-not-found}@r{]})
-@maindex CHECK_HEADER
-If the system header file @var{header-file} exists, execute shell commands
-@var{action-if-found}, otherwise execute @var{action-if-not-found}. If
-you just want to define a symbol if the header file is available,
-consider using @code{AC_CHECK_HEADERS} instead.
-@end defmac
-
-@defmac AC_CHECK_HEADERS (@var{header-file}@dots{} @r{[}, @var{action-if-found} @r{[}, @var{action-if-not-found}@r{]]})
-@maindex CHECK_HEADERS
-@cvindex HAVE_@var{header}
-For each given system header file @var{header-file} in the
-whitespace-separated argument list that exists, define
-@code{HAVE_@var{header-file}} (in all capitals). If @var{action-if-found}
-is given, it is additional shell code to execute when one of the header
-files is found. You can give it a value of @samp{break} to break out of
-the loop on the first match. If @var{action-if-not-found} is given, it
-is executed when one of the header files is not found.
-@end defmac
-
-@node Structures, Typedefs, Header Files, Existing Tests
-@section Structures
-
-The following macros check for certain structures or structure members.
-To check structures not listed here, use @code{AC_EGREP_CPP}
-(@pxref{Examining Declarations}) or @code{AC_TRY_COMPILE}
-(@pxref{Examining Syntax}).
-
-@defmac AC_HEADER_STAT
-@maindex HEADER_STAT
-@maindex STAT_MACROS_BROKEN
-If the macros @code{S_ISDIR}, @code{S_ISREG} et al. defined in
-@file{sys/stat.h} do not work properly (returning false positives),
-define @code{STAT_MACROS_BROKEN}. This is the case on Tektronix UTekV,
-Amdahl UTS and Motorola System V/88.
-@end defmac
-
-@defmac AC_HEADER_TIME
-@maindex HEADER_TIME
-@cvindex TIME_WITH_SYS_TIME
-If a program may include both @file{time.h} and @file{sys/time.h},
-define @code{TIME_WITH_SYS_TIME}. On some older systems,
-@file{sys/time.h} includes @file{time.h}, but @file{time.h} is not
-protected against multiple inclusion, so programs should not explicitly
-include both files. This macro is useful in programs that use, for
-example, @code{struct timeval} or @code{struct timezone} as well as
-@code{struct tm}. It is best used in conjunction with
-@code{HAVE_SYS_TIME_H}, which can be checked for using
-@code{AC_CHECK_HEADERS(sys/time.h)}.
-
-@example
-@group
-#if TIME_WITH_SYS_TIME
-# include <sys/time.h>
-# include <time.h>
-#else
-# if HAVE_SYS_TIME_H
-# include <sys/time.h>
-# else
-# include <time.h>
-# endif
-#endif
-@end group
-@end example
-@end defmac
-
-@defmac AC_STRUCT_ST_BLKSIZE
-@maindex STRUCT_ST_BLKSIZE
-@cvindex HAVE_ST_BLKSIZE
-If @code{struct stat} contains an @code{st_blksize} member, define
-@code{HAVE_ST_BLKSIZE}.
-@end defmac
-
-@defmac AC_STRUCT_ST_BLOCKS
-@maindex STRUCT_ST_BLOCKS
-@cvindex HAVE_ST_BLOCKS
-@ovindex LIBOBJS
-If @code{struct stat} contains an @code{st_blocks} member, define
-@code{HAVE_ST_BLOCKS}. Otherwise, add @samp{fileblocks.o} to the
-output variable @code{LIBOBJS}.
-@end defmac
-
-@defmac AC_STRUCT_ST_RDEV
-@maindex STRUCT_ST_RDEV
-@cvindex HAVE_ST_RDEV
-If @code{struct stat} contains an @code{st_rdev} member, define
-@code{HAVE_ST_RDEV}.
-@end defmac
-
-@defmac AC_STRUCT_TM
-@maindex STRUCT_TM
-@cvindex TM_IN_SYS_TIME
-If @file{time.h} does not define @code{struct tm}, define
-@code{TM_IN_SYS_TIME}, which means that including @file{sys/time.h}
-had better define @code{struct tm}.
-@end defmac
-
-@defmac AC_STRUCT_TIMEZONE
-@maindex STRUCT_TIMEZONE
-@cvindex HAVE_TM_ZONE
-@cvindex HAVE_TZNAME
-Figure out how to get the current timezone. If @code{struct tm} has a
-@code{tm_zone} member, define @code{HAVE_TM_ZONE}. Otherwise, if the
-external array @code{tzname} is found, define @code{HAVE_TZNAME}.
-@end defmac
-
-@node Typedefs, Compiler Characteristics, Structures, Existing Tests
-@section Typedefs
-
-The following macros check for C typedefs. If there is no macro
-specifically defined to check for a typedef you need, and you don't need
-to check for any special properties of it, then you can use a general
-typedef check macro.
-
-@menu
-* Particular Typedefs:: Special handling to find certain types.
-* Generic Typedefs:: How to find other types.
-@end menu
-
-@node Particular Typedefs, Generic Typedefs, , Typedefs
-@subsection Particular Typedef Checks
-
-These macros check for particular C typedefs in @file{sys/types.h} and
-@file{stdlib.h} (if it exists).
-
-@defmac AC_TYPE_GETGROUPS
-@maindex TYPE_GETGROUPS
-@cvindex GETGROUPS_T
-Define @code{GETGROUPS_T} to be whichever of @code{gid_t} or @code{int}
-is the base type of the array argument to @code{getgroups}.
-@end defmac
-
-@defmac AC_TYPE_MODE_T
-@maindex TYPE_MODE_T
-@cvindex mode_t
-If @code{mode_t} is not defined, define @code{mode_t} to be @code{int}.
-@end defmac
-
-@defmac AC_TYPE_OFF_T
-@maindex TYPE_OFF_T
-@cvindex off_t
-If @code{off_t} is not defined, define @code{off_t} to be @code{long}.
-@end defmac
-
-@defmac AC_TYPE_PID_T
-@maindex TYPE_PID_T
-@cvindex pid_t
-If @code{pid_t} is not defined, define @code{pid_t} to be @code{int}.
-@end defmac
-
-@defmac AC_TYPE_SIGNAL
-@maindex TYPE_SIGNAL
-@cvindex RETSIGTYPE
-If @file{signal.h} declares @code{signal} as returning a pointer to a
-function returning @code{void}, define @code{RETSIGTYPE} to be
-@code{void}; otherwise, define it to be @code{int}.
-
-Define signal handlers as returning type @code{RETSIGTYPE}:
-
-@example
-@group
-RETSIGTYPE
-hup_handler ()
-@{
-@dots{}
-@}
-@end group
-@end example
-@end defmac
-
-@defmac AC_TYPE_SIZE_T
-@maindex TYPE_SIZE_T
-@cvindex size_t
-If @code{size_t} is not defined, define @code{size_t} to be
-@code{unsigned}.
-@end defmac
-
-@defmac AC_TYPE_UID_T
-@maindex TYPE_UID_T
-@cvindex uid_t
-@cvindex gid_t
-If @code{uid_t} is not defined, define @code{uid_t} to be @code{int} and
-@code{gid_t} to be @code{int}.
-@end defmac
-
-@node Generic Typedefs, , Particular Typedefs, Typedefs
-@subsection Generic Typedef Checks
-
-This macro is used to check for typedefs not covered by the particular
-test macros.
-
-@defmac AC_CHECK_TYPE (@var{type}, @var{default})
-@maindex CHECK_TYPE
-If the type @var{type} is not defined in @file{sys/types.h} or
-@file{stdlib.h} (if it exists), define it to be the C (or C++)
-builtin type @var{default}; e.g., @samp{short} or @samp{unsigned}.
-@end defmac
-
-@node Compiler Characteristics, System Services, Typedefs, Existing Tests
-@section Compiler Characteristics
-
-The following macros check for C compiler or machine architecture
-features. To check for characteristics not listed here, use
-@code{AC_TRY_COMPILE} (@pxref{Examining Syntax}) or @code{AC_TRY_RUN}
-(@pxref{Run Time})
-
-@defmac AC_C_BIGENDIAN
-@maindex C_BIGENDIAN
-@cvindex WORDS_BIGENDIAN
-If words are stored with the most significant byte first (like Motorola
-and SPARC, but not Intel and VAX, CPUs), define @code{WORDS_BIGENDIAN}.
-@end defmac
-
-@defmac AC_C_CONST
-@maindex C_CONST
-@cvindex const
-If the C compiler does not fully support the keyword @code{const},
-define @code{const} to be empty. Some C compilers that do not define
-@code{__STDC__} do support @code{const}; some compilers that define
-@code{__STDC__} do not completely support @code{const}. Programs can
-simply use @code{const} as if every C compiler supported it; for those
-that don't, the @file{Makefile} or configuration header file will define
-it as empty.
-@end defmac
-
-@defmac AC_C_INLINE
-@maindex C_INLINE
-@cvindex inline
-If the C compiler is a version of GCC that supports the keyword
-@code{__inline} but not @code{inline} (such as some NeXT versions),
-define @code{inline} to be @code{__inline}.
-@end defmac
-
-@defmac AC_C_CHAR_UNSIGNED
-@maindex C_CHAR_UNSIGNED
-@cvindex __CHAR_UNSIGNED__
-If the C type @code{char} is unsigned, define @code{__CHAR_UNSIGNED__},
-unless the C compiler predefines it.
-@end defmac
-
-@defmac AC_C_LONG_DOUBLE
-@maindex C_LONG_DOUBLE
-@cvindex HAVE_LONG_DOUBLE
-If the C compiler supports the @code{long double} type, define
-@code{HAVE_LONG_DOUBLE}. Some C compilers that do not define
-@code{__STDC__} do support the @code{long double} type; some compilers
-that define @code{__STDC__} do not support @code{long double}.
-@end defmac
-
-@defmac AC_CHECK_SIZEOF (@var{type})
-@maindex CHECK_SIZEOF
-Define @code{SIZEOF_@var{uctype}} to be the size in bytes of the C (or
-C++) builtin type @var{type}, e.g. @samp{int} or @samp{char *}. If
-@samp{type} is unknown to the compiler, it gets a size of 0. @var{uctype}
-is @var{type}, with lowercase converted to uppercase, spaces changed to
-underscores, and asterisks changed to @samp{P}. For example, the call
-@example
-AC_CHECK_SIZEOF(int *)
-@end example
-@noindent
-defines @code{SIZEOF_INT_P} to be 8 on DEC Alpha AXP systems.
-@end defmac
-
-@defmac AC_INT_16_BITS
-@maindex INT_16_BITS
-@cvindex INT_16_BITS
-If the C type @code{int} is 16 bits wide, define @code{INT_16_BITS}.
-This macro is obsolete; it is more general to use
-@samp{AC_CHECK_SIZEOF(int)} instead.
-@end defmac
-
-@defmac AC_LONG_64_BITS
-@maindex LONG_64_BITS
-@cvindex LONG_64_BITS
-If the C type @code{long int} is 64 bits wide, define
-@code{LONG_64_BITS}. This macro is obsolete; it is more general to use
-@samp{AC_CHECK_SIZEOF(long)} instead.
-@end defmac
-
-@node System Services, UNIX Variants, Compiler Characteristics, Existing Tests
-@section System Services
-
-The following macros check for operating system services or capabilities.
-
-@defmac AC_SYS_INTERPRETER
-@maindex SYS_INTERPRETER
-Check whether the system supports starting scripts with a line of the
-form @samp{#!/bin/csh} to select the interpreter to use for the script.
-After running this macro, shell code in @code{configure.in} can check
-the variable @code{ac_cv_sys_interpreter}; it will be set to @samp{yes}
-if the system supports @samp{#!}, @samp{no} if not.
-@end defmac
-
-@defmac AC_PATH_X
-@maindex PATH_X
-Try to locate the X Window System include files and libraries. If the
-user gave the command line options @samp{--x-includes=@var{dir}} and
-@samp{--x-libraries=@var{dir}}, use those directories. If either or
-both were not given, get the missing values by running @code{xmkmf} on a
-trivial @file{Imakefile} and examining the @file{Makefile} that it
-produces. If that fails (such as if @code{xmkmf} is not present), look
-for them in several directories where they often reside. If either
-method is successful, set the shell variables @code{x_includes} and
-@code{x_libraries} to their locations, unless they are in directories
-the compiler searches by default.
-
-If both methods fail, or the user gave the command line option
-@samp{--without-x}, set the shell variable @code{no_x} to @samp{yes};
-otherwise set it to the empty string.
-@end defmac
-
-@defmac AC_PATH_XTRA
-@maindex PATH_XTRA
-@ovindex X_CFLAGS
-@ovindex X_LIBS
-@ovindex X_EXTRA_LIBS
-@ovindex X_PRE_LIBS
-An enhanced version of @code{AC_PATH_X}. Add the C compiler flags that
-X needs to output variable @code{X_CFLAGS}, and the X linker flags to
-@code{X_LIBS}. If X is not available, add @samp{-DX_DISPLAY_MISSING} to
-@code{X_CFLAGS}.
-
-Also check for special libraries that some systems need in order to
-compile X programs. Add any that the system needs to output variable
-@code{X_EXTRA_LIBS}. And check for special X11R6 libraries that need to
-be linked with before @samp{-lX11}, and add any found to the output
-variable @code{X_PRE_LIBS}.
-@end defmac
-
-@defmac AC_SYS_LONG_FILE_NAMES
-@maindex SYS_LONG_FILE_NAMES
-@cvindex HAVE_LONG_FILE_NAMES
-If the system supports file names longer than 14 characters, define
-@code{HAVE_LONG_FILE_NAMES}.
-@end defmac
-
-@defmac AC_SYS_RESTARTABLE_SYSCALLS
-@maindex SYS_RESTARTABLE_SYSCALLS
-@cvindex HAVE_RESTARTABLE_SYSCALLS
-If the system automatically restarts a system call that is interrupted
-by a signal, define @code{HAVE_RESTARTABLE_SYSCALLS}.
-@end defmac
-
-@node UNIX Variants, , System Services, Existing Tests
-@section UNIX Variants
-
-The following macros check for certain operating systems that need
-special treatment for some programs, due to exceptional oddities in
-their header files or libraries. These macros are warts; they will be
-replaced by a more systematic approach, based on the functions they make
-available or the environments they provide.
-
-@defmac AC_AIX
-@maindex AIX
-@cvindex _ALL_SOURCE
-If on AIX, define @code{_ALL_SOURCE}. Allows the use of some BSD
-functions. Should be called before any macros that run the C compiler.
-@end defmac
-
-@defmac AC_DYNIX_SEQ
-@maindex DYNIX_SEQ
-If on Dynix/PTX (Sequent UNIX), add @samp{-lseq} to output
-variable @code{LIBS}. This macro is obsolete; instead, use
-@code{AC_FUNC_GETMNTENT}.
-@end defmac
-
-@defmac AC_IRIX_SUN
-@maindex IRIX_SUN
-If on IRIX (Silicon Graphics UNIX), add @samp{-lsun} to output variable
-@code{LIBS}. This macro is obsolete. If you were using it to get
-@code{getmntent}, use @code{AC_FUNC_GETMNTENT} instead. If you used it
-for the NIS versions of the password and group functions, use
-@samp{AC_CHECK_LIB(sun, getpwnam)}.
-@end defmac
-
-@defmac AC_ISC_POSIX
-@maindex ISC_POSIX
-@cvindex _POSIX_SOURCE
-@ovindex CC
-If on a POSIXized ISC UNIX, define @code{_POSIX_SOURCE} and add
-@samp{-posix} (for the GNU C compiler) or @samp{-Xp} (for other C
-compilers) to output variable @code{CC}. This allows the use of
-POSIX facilities. Must be called after @code{AC_PROG_CC} and before
-any other macros that run the C compiler.
-@end defmac
-
-@defmac AC_MINIX
-@maindex MINIX
-@cvindex _MINIX
-@cvindex _POSIX_SOURCE
-@cvindex _POSIX_1_SOURCE
-If on Minix, define @code{_MINIX} and @code{_POSIX_SOURCE} and define
-@code{_POSIX_1_SOURCE} to be 2. This allows the use of POSIX
-facilities. Should be called before any macros that run the C compiler.
-@end defmac
-
-@defmac AC_SCO_INTL
-@maindex SCO_INTL
-@ovindex LIBS
-If on SCO UNIX, add @samp{-lintl} to output variable @code{LIBS}.
-This macro is obsolete; instead, use @code{AC_FUNC_STRFTIME}.
-@end defmac
-
-@defmac AC_XENIX_DIR
-@maindex XENIX_DIR
-@ovindex LIBS
-If on Xenix, add @samp{-lx} to output variable @code{LIBS}. Also, if
-@file{dirent.h} is being used, add @samp{-ldir} to @code{LIBS}. This
-macro is obsolete; use @code{AC_HEADER_DIRENT} instead.
-@end defmac
-
-@node Writing Tests, Results, Existing Tests, Top
-@chapter Writing Tests
-
-If the existing feature tests don't do something you need, you have to
-write new ones. These macros are the building blocks. They provide
-ways for other macros to check whether various kinds of features are
-available and report the results.
-
-This chapter contains some suggestions and some of the reasons why the
-existing tests are written the way they are. You can also learn a lot
-about how to write Autoconf tests by looking at the existing ones. If
-something goes wrong in one or more of the Autoconf tests, this
-information can help you understand the assumptions behind them, which
-might help you figure out how to best solve the problem.
-
-These macros check the output of the C compiler system. They do
-not cache the results of their tests for future use (@pxref{Caching
-Results}), because they don't know enough about the information they are
-checking for to generate a cache variable name. They also do not print
-any messages, for the same reason. The checks for particular kinds of C
-features call these macros and do cache their results and print messages
-about what they're checking for.
-
-@menu
-* Examining Declarations:: Detecting header files and declarations.
-* Examining Syntax:: Detecting language syntax features.
-* Examining Libraries:: Detecting functions and global variables.
-* Run Time:: Testing for run-time features.
-* Portable Shell:: Shell script portability pitfalls.
-* Testing Values and Files:: Checking strings and files.
-* Multiple Cases:: Tests for several possible values.
-* Language Choice:: Selecting which language to use for testing.
-@end menu
-
-@node Examining Declarations, Examining Syntax, , Writing Tests
-@section Examining Declarations
-
-The macro @code{AC_TRY_CPP} is used to check whether particular header
-files exist. You can check for one at a time, or more than one if you
-need several header files to all exist for some purpose.
-
-@defmac AC_TRY_CPP (@var{includes}, @var{action-if-true} @r{[}, @var{action-if-false}@r{]})
-@maindex TRY_CPP
-@var{includes} is C or C++ @code{#include} statements and declarations,
-on which shell variable, backquote, and backslash substitutions are
-performed. (Actually, it can be any C program, but other statements are
-probably not useful.) If the preprocessor produces no error messages
-while processing it, run shell commands @var{action-if-true}. Otherwise
-run shell commands @var{action-if-false}.
-
-This macro uses @code{CPPFLAGS}, but not @code{CFLAGS}, because
-@samp{-g}, @samp{-O}, etc. are not valid options to many C
-preprocessors.
-@end defmac
-
-Here is now to find out whether a header file contains a particular
-declaration, such as a typedef, a structure, a structure member, or a
-function. Use @code{AC_EGREP_HEADER} instead of running @code{grep}
-directly on the header file; on some systems the symbol might be defined
-in another header file that the file you are checking @samp{#include}s.
-
-@defmac AC_EGREP_HEADER (@var{pattern}, @var{header-file}, @var{action-if-found} @r{[}, @var{action-if-not-found}@r{]})
-@maindex EGREP_HEADER
-If the output of running the preprocessor on the system header file
-@var{header-file} matches the @code{egrep} regular expression
-@var{pattern}, execute shell commands @var{action-if-found}, otherwise
-execute @var{action-if-not-found}.
-@end defmac
-
-To check for C preprocessor symbols, either defined by header files or
-predefined by the C preprocessor, use @code{AC_EGREP_CPP}. Here is an
-example of the latter:
-
-@example
-AC_EGREP_CPP(yes,
-[#ifdef _AIX
- yes
-#endif
-], is_aix=yes, is_aix=no)
-@end example
-
-@defmac AC_EGREP_CPP (@var{pattern}, @var{program}, @var{action-if-found} @r{[}, @var{action-if-not-found}@r{]})
-@maindex EGREP_CPP
-@var{program} is the text of a C or C++ program, on which shell
-variable, backquote, and backslash substitutions are performed. If the
-output of running the preprocessor on @var{program} matches the
-@code{egrep} regular expression @var{pattern}, execute shell commands
-@var{action-if-found}, otherwise execute @var{action-if-not-found}.
-
-This macro calls @code{AC_PROG_CPP} or @code{AC_PROG_CXXCPP} (depending
-on which language is current, @pxref{Language Choice}), if it hasn't
-been called already.
-@end defmac
-
-@node Examining Syntax, Examining Libraries, Examining Declarations, Writing Tests
-@section Examining Syntax
-
-To check for a syntax feature of the C or C++ compiler, such as whether
-it recognizes a certain keyword, use @code{AC_TRY_COMPILE} to try to
-compile a small program that uses that feature. You can also use it to
-check for structures and structure members that are not present on all
-systems.
-
-@defmac AC_TRY_COMPILE (@var{includes}, @var{function-body}, @var{action-if-found} @r{[}, @var{action-if-not-found}@r{]})
-@maindex TRY_COMPILE
-Create a test C program to see whether a function whose body consists of
-@var{function-body} can be compiled; @var{includes} is any
-@code{#include} statements needed by the code in @var{function-body}.
-If the file compiles successfully, run shell commands
-@var{action-if-found}, otherwise run @var{action-if-not-found}. This
-macro uses @code{CFLAGS} or @code{CXXFLAGS}, and @code{CPPFLAGS}, when
-compiling. It does not try to link; use @code{AC_TRY_LINK} if you need
-to do that (@pxref{Examining Libraries}).
-@end defmac
-
-@node Examining Libraries, Run Time, Examining Syntax, Writing Tests
-@section Examining Libraries
-
-To check for a library, a function, or a global variable, Autoconf
-@code{configure} scripts try to compile and link a small program that
-uses it. This is unlike Metaconfig, which by default uses @code{nm}
-or @code{ar} on the C library to try to figure out which functions are
-available. Trying to link with the function is usually a more reliable
-approach because it avoids dealing with the variations in the options
-and output formats of @code{nm} and @code{ar} and in the location of the
-standard libraries. It also allows configuring for cross-compilation or
-checking a function's runtime behavior if needed. On the other hand, it
-can be slower than scanning the libraries once.
-
-A few systems have linkers that do not return a failure exit status when
-there are unresolved functions in the link. This bug makes the
-configuration scripts produced by Autoconf unusable on those systems.
-However, some of them can be given options that make the exit status
-correct. This is a problem that Autoconf does not currently handle
-automatically.
-
-@code{AC_TRY_LINK} is used to compile test programs to test for
-functions and global variables. It is also used (by
-@code{AC_CHECK_LIB}) to check for libraries, by adding the library being
-checked for to @code{LIBS} temporarily and trying to link a small
-program.
-
-@defmac AC_TRY_LINK (@var{includes}, @var{function-body}, @var{action-if-found} @r{[}, @var{action-if-not-found}@r{]})
-@maindex TRY_LINK
-Create a test C program to see whether a function whose body consists of
-@var{function-body} can be compiled and linked; @var{includes} is any
-@code{#include} statements needed by the code in @var{function-body}.
-If the file compiles and links successfully, run shell commands
-@var{action-if-found}, otherwise run @var{action-if-not-found}. This
-macro uses @code{CFLAGS} or @code{CXXFLAGS}, @code{CPPFLAGS},
-@code{LDFLAGS}, and @code{LIBS} when compiling.
-@end defmac
-
-@defmac AC_COMPILE_CHECK (@var{echo-text}, @var{includes}, @var{function-body}, @var{action-if-found} @r{[}, @var{action-if-not-found}@r{]})
-@maindex COMPILE_CHECK
-This is an obsolete version of @code{AC_TRY_LINK}, with the addition that it
-prints @samp{checking for @var{echo-text}} to the standard output first,
-if @var{echo-text} is non-empty. Use @code{AC_MSG_CHECKING} and
-@code{AC_MSG_RESULT} instead to print messages (@pxref{Printing Messages}).
-@end defmac
-
-@node Run Time, Portable Shell, Examining Libraries, Writing Tests
-@section Checking Run Time Behavior
-
-Sometimes you need to find out how a system performs at run time, such
-as whether a given function has a certain capability or bug. If you
-can, make such checks when your program runs instead of when it is
-configured. You can check for things like the machine's endianness when
-your program initializes itself.
-
-If you really need to test for a run-time behavior while configuring,
-you can write a test program to determine the result, and compile and
-run it using @code{AC_TRY_RUN}. Avoid running test programs if
-possible, because using them prevents people from configuring your
-package for cross-compiling.
-
-@menu
-* Test Programs:: Running test programs.
-* Guidelines:: General rules for writing test programs.
-* Test Functions:: Avoiding pitfalls in test programs.
-@end menu
-
-@node Test Programs, Guidelines, , Run Time
-@subsection Running Test Programs
-
-Use the following macro if you need to test run-time behavior of the
-system while configuring.
-
-@defmac AC_TRY_RUN (@var{program}, @var{action-if-true} @r{[}, @var{action-if-false} @r{[}, @var{action-if-cross-compiling}@r{]]})
-@maindex TRY_RUN
-@var{program} is the text of a C program, on which shell variable and
-backquote substitutions are performed. If it compiles and links
-successfully and returns an exit status of 0 when executed, run shell
-commands @var{action-if-true}. Otherwise run shell commands
-@var{action-if-false}; the exit status of the program is available in
-the shell variable @samp{$?}. This macro uses @code{CFLAGS} or
-@code{CXXFLAGS}, @code{CPPFLAGS}, @code{LDFLAGS}, and @code{LIBS} when
-compiling.
-
-If the C compiler being used does not produce executables that run on
-the system where @code{configure} is being run, then the test program is
-not run. If the optional shell commands @var{action-if-cross-compiling}
-are given, they are run instead and this macro calls @code{AC_C_CROSS}
-if it has not already been called. Otherwise, @code{configure} prints
-an error message and exits.
-@end defmac
-
-Try to provide a pessimistic default value to use when cross-compiling
-makes run-time tests impossible. You do this by passing the optional
-last argument to @code{AC_TRY_RUN}. @code{autoconf} prints a warning
-message when creating @code{configure} each time it encounters a call to
-@code{AC_TRY_RUN} with no @var{action-if-cross-compiling} argument
-given. You may ignore the warning, though users will not be able to
-configure your package for cross-compiling. A few of the macros
-distributed with Autoconf produce this warning message.
-
-To configure for cross-compiling you can also choose a value for those
-parameters based on the canonical system name (@pxref{Manual
-Configuration}). Alternatively, set up a test results cache file with
-the correct values for the target system (@pxref{Caching Results}).
-
-To provide a default for calls of @code{AC_TRY_RUN} that are embedded in
-other macros, including a few of the ones that come with Autoconf, you
-can call @code{AC_C_CROSS} before running them. Then, if the shell
-variable @code{cross_compiling} is set to @samp{yes}, use an alternate
-method to get the results instead of calling the macros.
-
-@defmac AC_C_CROSS
-@maindex C_CROSS
-If the C compiler being used does not produce executables that can run
-on the system where @code{configure} is being run, set the shell
-variable @code{cross_compiling} to @samp{yes}, otherwise @samp{no}.
-@end defmac
-
-@node Guidelines, Test Functions, Test Programs, Run Time
-@subsection Guidelines for Test Programs
-
-Test programs should not write anything to the standard output. They
-should return 0 if the test succeeds, nonzero otherwise, so that success
-can be distinguished easily from a core dump or other failure;
-segmentation violations and other failures produce a nonzero exit
-status. Test programs should @code{exit}, not @code{return}, from
-@code{main}, because on some systems (old Suns, at least) the argument
-to @code{return} in @code{main} is ignored.
-
-Test programs can use @code{#if} or @code{#ifdef} to check the values of
-preprocessor macros defined by tests that have already run. For
-example, if you call @code{AC_HEADER_STDC}, then later on in
-@file{configure.in} you can have a test program that includes an ANSI C
-header file conditionally:
-
-@example
-@group
-#if STDC_HEADERS
-# include <stdlib.h>
-#endif
-@end group
-@end example
-
-If a test program needs to use or create a data file, give it a name
-that starts with @file{conftest}, such as @file{conftestdata}. The
-@code{configure} script cleans up by running @samp{rm -rf conftest*}
-after running test programs and if the script is interrupted.
-
-@node Test Functions, , Guidelines, Run Time
-@subsection Test Functions
-
-Function declarations in test programs should have a prototype
-conditionalized for C++. In practice, though, test programs rarely need
-functions that take arguments.
-
-@example
-#ifdef __cplusplus
-foo(int i)
-#else
-foo(i) int i;
-#endif
-@end example
-
-Functions that test programs declare should also be conditionalized for
-C++, which requires @samp{extern "C"} prototypes. Make sure to not
-include any header files containing clashing prototypes.
-
-@example
-#ifdef __cplusplus
-extern "C" void *malloc(size_t);
-#else
-char *malloc();
-#endif
-@end example
-
-If a test program calls a function with invalid parameters (just to see
-whether it exists), organize the program to ensure that it never invokes
-that function. You can do this by calling it in another function that is
-never invoked. You can't do it by putting it after a call to
-@code{exit}, because GCC version 2 knows that @code{exit} never returns
-and optimizes out any code that follows it in the same block.
-
-If you include any header files, make sure to call the functions
-relevant to them with the correct number of arguments, even if they are
-just 0, to avoid compilation errors due to prototypes. GCC version 2
-has internal prototypes for several functions that it automatically
-inlines; for example, @code{memcpy}. To avoid errors when checking for
-them, either pass them the correct number of arguments or redeclare them
-with a different return type (such as @code{char}).
-
-@node Portable Shell, Testing Values and Files, Run Time, Writing Tests
-@section Portable Shell Programming
-
-When writing your own checks, there are some shell script programming
-techniques you should avoid in order to make your code portable. The
-Bourne shell and upward-compatible shells like Bash and the Korn shell
-have evolved over the years, but to prevent trouble, do not take
-advantage of features that were added after UNIX version 7, circa 1977.
-You should not use shell functions, aliases, negated character classes,
-or other features that are not found in all Bourne-compatible shells;
-restrict yourself to the lowest common denominator. Even @code{unset}
-is not supported by all shells!
-
-The set of external programs you should run in a @code{configure} script
-is fairly small. @xref{Utilities in Makefiles, , Utilities in
-Makefiles, standards.info, GNU Coding Standards}, for the list. This
-restriction allows users to start out with a fairly small set of
-programs and build the rest, avoiding too many interdependencies between
-packages.
-
-Some of these external utilities have a portable subset of features, as
-well; for example, don't rely on @code{ln} having a @samp{-f} option or
-@code{cat} having any options. @code{sed} scripts should not contain
-comments or use branch labels longer than 8 characters. Don't use
-@samp{grep -s} to suppress output, because @samp{grep -s} on System V
-does not suppress output, only error messages. Instead, redirect the
-standard output and standard error (in case the file doesn't exist) of
-@code{grep} to @file{/dev/null}. Check the exit status of @code{grep}
-to determine whether it found a match.
-
-@node Testing Values and Files, Multiple Cases, Portable Shell, Writing Tests
-@section Testing Values and Files
-
-@code{configure} scripts need to test properties of many files and
-strings. Here are some portability problems to watch out for when doing
-those tests.
-
-The @code{test} program is the way to perform many file and string
-tests. It is often invoked by the alternate name @samp{[}, but using
-that name in Autoconf code is asking for trouble since it is an
-@code{m4} quote character.
-
-If you need to make multiple checks using @code{test}, combine
-them with the shell operators @samp{&&} and @samp{||} instead of using
-the @code{test} operators @samp{-a} and @samp{-o}. On System V, the
-precedence of @samp{-a} and @samp{-o} is wrong relative to the unary
-operators; consequently, POSIX does not specify them, so using them is
-nonportable. If you combine @samp{&&} and @samp{||} in the same
-statement, keep in mind that they have equal precedence.
-
-To enable @code{configure} scripts to support cross-compilation, they
-shouldn't do anything that tests features of the host system instead of
-the target system. But occasionally you may find it necessary to check
-whether some arbitrary file exists. To do so, use @samp{test -f} or
-@samp{test -r}. Do not use @samp{test -x}, because 4.3BSD does not have
-it.
-
-Another nonportable shell programming construction is
-@example
-@var{var}=$@{@var{var}:-@var{value}@}
-@end example
-@noindent
-The intent is to set @var{var} to @var{value} only if it is not already
-set, but if @var{var} has any value, even the empty string, to leave it
-alone. Old BSD shells, including the Ultrix @code{sh}, don't accept
-the colon, and complain and die. A portable equivalent is
-@example
-: $@{@var{var}=@var{value}@}
-@end example
-
-@node Multiple Cases, Language Choice, Testing Values and Files, Writing Tests
-@section Multiple Cases
-
-Some operations are accomplished in several possible ways, depending on
-the UNIX variant. Checking for them essentially requires a ``case
-statement''. Autoconf does not directly provide one; however, it is
-easy to simulate by using a shell variable to keep track of whether a
-way to perform the operation has been found yet.
-
-Here is an example that uses the shell variable @code{fstype} to keep
-track of whether the remaining cases need to be checked.
-
-@example
-@group
-AC_MSG_CHECKING(how to get filesystem type)
-fstype=no
-# The order of these tests is important.
-AC_TRY_CPP([#include <sys/statvfs.h>
-#include <sys/fstyp.h>], AC_DEFINE(FSTYPE_STATVFS) fstype=SVR4)
-if test $fstype = no; then
-AC_TRY_CPP([#include <sys/statfs.h>
-#include <sys/fstyp.h>], AC_DEFINE(FSTYPE_USG_STATFS) fstype=SVR3)
-fi
-if test $fstype = no; then
-AC_TRY_CPP([#include <sys/statfs.h>
-#include <sys/vmount.h>], AC_DEFINE(FSTYPE_AIX_STATFS) fstype=AIX)
-fi
-# (more cases omitted here)
-AC_MSG_RESULT($fstype)
-@end group
-@end example
-
-@node Language Choice, , Multiple Cases, Writing Tests
-@section Language Choice
-
-Packages that use both C and C++ need to test features of both
-compilers. Autoconf-generated @code{configure} scripts check for C
-features by default. The following macros determine which language's
-compiler is used in tests that follow in @file{configure.in}.
-
-@defmac AC_LANG_C
-@maindex LANG_C
-Do compilation tests using @code{CC} and @code{CPP} and use extension
-@file{.c} for test programs.
-@end defmac
-
-@defmac AC_LANG_CPLUSPLUS
-@maindex LANG_CPLUSPLUS
-Do compilation tests using @code{CXX} and @code{CXXCPP} and use
-extension @file{.C} for test programs.
-@end defmac
-
-@defmac AC_LANG_SAVE
-@maindex LANG_SAVE
-Remember the current language (as set by @code{AC_LANG_C} or
-@code{AC_LANG_CPLUSPLUS}) on a stack. Does not change which language is
-current. Use this macro and @code{AC_LANG_RESTORE} in macros that need
-to temporarily switch to a particular language.
-@end defmac
-
-@defmac AC_LANG_RESTORE
-@maindex LANG_RESTORE
-Select the language that is saved on the top of the stack, as set by
-@code{AC_LANG_SAVE}, and remove it from the stack. This macro is
-equivalent to either @code{AC_LANG_C} or @code{AC_LANG_CPLUSPLUS},
-whichever had been run most recently when @code{AC_LANG_SAVE} was last
-called.
-
-Do not call this macro more times than @code{AC_LANG_SAVE}.
-@end defmac
-
-@defmac AC_REQUIRE_CPP
-@maindex REQUIRE_CPP
-Ensure that whichever preprocessor would currently be used for tests has
-been found. Calls @code{AC_REQUIRE} (@pxref{Prerequisite Macros}) with an
-argument of either @code{AC_PROG_CPP} or @code{AC_PROG_CXXCPP},
-depending on which language is current.
-@end defmac
-
-@node Results, Writing Macros, Writing Tests, Top
-@chapter Results of Tests
-
-Once @code{configure} has determined whether a feature exists, what can
-it do to record that information? There are four sorts of things it can
-do: define a C preprocessor symbol, set a variable in the output files,
-save the result in a cache file for future @code{configure} runs, and
-print a message letting the user know the result of the test.
-
-@menu
-* Defining Symbols:: Defining C preprocessor symbols.
-* Setting Output Variables:: Replacing variables in output files.
-* Caching Results:: Speeding up subsequent @code{configure} runs.
-* Printing Messages:: Notifying users of progress or problems.
-@end menu
-
-@node Defining Symbols, Setting Output Variables, , Results
-@section Defining C Preprocessor Symbols
-
-A common action to take in response to a feature test is to define a C
-preprocessor symbol indicating the results of the test. That is done by
-calling @code{AC_DEFINE} or @code{AC_DEFINE_UNQUOTED}.
-
-By default, @code{AC_OUTPUT} places the symbols defined by these macros
-into the output variable @code{DEFS}, which contains an option
-@samp{-D@var{symbol}=@var{value}} for each symbol defined. Unlike in
-Autoconf version 1, there is no variable @code{DEFS} defined while
-@code{configure} is running. To check whether Autoconf macros have
-already defined a certain C preprocessor symbol, test the value of the
-appropriate cache variable, as in this example:
-
-@example
-AC_CHECK_FUNC(vprintf, AC_DEFINE(HAVE_VPRINTF))
-if test "$ac_cv_func_vprintf" != yes; then
-AC_CHECK_FUNC(_doprnt, AC_DEFINE(HAVE_DOPRNT))
-fi
-@end example
-
-If @code{AC_CONFIG_HEADER} has been called, then instead of creating
-@code{DEFS}, @code{AC_OUTPUT} creates a header file by substituting the
-correct values into @code{#define} statements in a template file.
-@xref{Configuration Headers}, for more information about this kind of
-output.
-
-@defmac AC_DEFINE (@var{variable} @r{[}, @var{value}@r{]})
-@maindex DEFINE
-Define C preprocessor variable @var{variable}. If @var{value} is given,
-set @var{variable} to that value (verbatim), otherwise set it to 1.
-@var{value} should not contain literal newlines, and if you are not
-using @code{AC_CONFIG_HEADER} it should not contain any @samp{#}
-characters, as @code{make} tends to eat them. To use a shell variable
-(which you need to do in order to define a value containing the
-@code{m4} quote characters @samp{[} or @samp{]}), use
-@code{AC_DEFINE_UNQUOTED} instead. The following example defines the C
-preprocessor variable @code{EQUATION} to be the string constant
-@samp{"$a > $b"}:
-
-@example
-AC_DEFINE(EQUATION, "$a > $b")
-@end example
-@end defmac
-
-@defmac AC_DEFINE_UNQUOTED (@var{variable} @r{[}, @var{value}@r{]})
-@maindex DEFINE_UNQUOTED
-Like @code{AC_DEFINE}, but three shell expansions are
-performed---once---on @var{variable} and @var{value}: variable expansion
-(@samp{$}), command substitution (@samp{`}), and backslash escaping
-(@samp{\}). Single and double quote characters in the value have no
-special meaning. Use this macro instead of @code{AC_DEFINE} when
-@var{variable} or @var{value} is a shell variable. Examples:
-
-@example
-AC_DEFINE_UNQUOTED(config_machfile, "$@{machfile@}")
-AC_DEFINE_UNQUOTED(GETGROUPS_T, $ac_cv_type_getgroups)
-AC_DEFINE_UNQUOTED($@{ac_tr_hdr@})
-@end example
-@end defmac
-
-Due to the syntactical bizarreness of the Bourne shell, do not use
-semicolons to separate @code{AC_DEFINE} or @code{AC_DEFINE_UNQUOTED}
-calls from other macro calls or shell code; that can cause syntax errors
-in the resulting @code{configure} script. Use either spaces or
-newlines. That is, do this:
-
-@example
-AC_CHECK_HEADER(elf.h, AC_DEFINE(SVR4) LIBS="$LIBS -lelf")
-@end example
-
-@noindent
-or this:
-
-@example
-AC_CHECK_HEADER(elf.h,
- AC_DEFINE(SVR4)
- LIBS="$LIBS -lelf")
-@end example
-
-@noindent
-instead of this:
-
-@example
-AC_CHECK_HEADER(elf.h, AC_DEFINE(SVR4); LIBS="$LIBS -lelf")
-@end example
-
-@node Setting Output Variables, Caching Results, Defining Symbols, Results
-@section Setting Output Variables
-
-One way to record the results of tests is to set @dfn{output variables},
-which are shell variables whose values are substituted into files that
-@code{configure} outputs. The two macros below create new output
-variables. @xref{Preset Output Variables}, for a list of output
-variables that are always available.
-
-@defmac AC_SUBST (@var{variable})
-@maindex SUBST
-Create an output variable from a shell variable. Make @code{AC_OUTPUT}
-substitute the variable @var{variable} into output files (typically one
-or more @file{Makefile}s). This means that @code{AC_OUTPUT} will
-replace instances of @samp{@@@var{variable}@@} in input files with the
-value that the shell variable @var{variable} has when @code{AC_OUTPUT}
-is called. The value of @var{variable} should not contain literal
-newlines.
-@end defmac
-
-@defmac AC_SUBST_FILE (@var{variable})
-@maindex SUBST_FILE
-Another way to create an output variable from a shell variable. Make
-@code{AC_OUTPUT} insert (without substitutions) the contents of the file
-named by shell variable @var{variable} into output files. This means
-that @code{AC_OUTPUT} will replace instances of
-@samp{@@@var{variable}@@} in output files (such as @file{Makefile.in})
-with the contents of the file that the shell variable @var{variable}
-names when @code{AC_OUTPUT} is called. Set the variable to
-@file{/dev/null} for cases that do not have a file to insert.
-
-This macro is useful for inserting @file{Makefile} fragments containing
-special dependencies or other @code{make} directives for particular host
-or target types into @file{Makefile}s. For example, @file{configure.in}
-could contain:
-
-@example
-AC_SUBST_FILE(host_frag)dnl
-host_frag=$srcdir/conf/sun4.mh
-@end example
-
-@noindent
-and then a @file{Makefile.in} could contain:
-
-@example
-@@host_frag@@
-@end example
-@end defmac
-
-@node Caching Results, Printing Messages, Setting Output Variables, Results
-@section Caching Results
-
-To avoid checking for the same features repeatedly in various
-@code{configure} scripts (or repeated runs of one script),
-@code{configure} saves the results of many of its checks in a @dfn{cache
-file}. If, when a @code{configure} script runs, it finds a cache file,
-it reads from it the results from previous runs and avoids rerunning
-those checks. As a result, @code{configure} can run much faster than if
-it had to perform all of the checks every time.
-
-@defmac AC_CACHE_VAL (@var{cache-id}, @var{commands-to-set-it})
-@maindex CACHE_VAL
-Ensure that the results of the check identified by @var{cache-id} are
-available. If the results of the check were in the cache file that was
-read, and @code{configure} was not given the @samp{--quiet} or
-@samp{--silent} option, print a message saying that the result was
-cached; otherwise, run the shell commands @var{commands-to-set-it}.
-Those commands should have no side effects except for setting the
-variable @var{cache-id}. In particular, they should not call
-@code{AC_DEFINE}; the code that follows the call to @code{AC_CACHE_VAL}
-should do that, based on the cached value. Also, they should not print
-any messages, for example with @code{AC_MSG_CHECKING}; do that before
-calling @code{AC_CACHE_VAL}, so the messages are printed regardless of
-whether the results of the check are retrieved from the cache or
-determined by running the shell commands. If the shell commands are run
-to determine the value, the value will be saved in the cache file just
-before @code{configure} creates its output files. @xref{Cache
-Variable Names}, for how to choose the name of the @var{cache-id} variable.
-@end defmac
-
-@menu
-* Cache Variable Names:: Shell variables used in caches.
-* Cache Files:: Files @code{configure} uses for caching.
-@end menu
-
-@node Cache Variable Names, Cache Files, , Caching Results
-@subsection Cache Variable Names
-
-The names of cache variables should have the following format:
-
-@example
-@var{package-prefix}_cv_@var{value-type}_@var{specific-value}@r{[}_@var{additional-options}@r{]}
-@end example
-
-@noindent
-for example, @samp{ac_cv_header_stat_broken} or
-@samp{ac_cv_prog_gcc_traditional}. The parts of the variable name are:
-
-@table @asis
-@item @var{package-prefix}
-An abbreviation for your package or organization; the same prefix you
-begin local Autoconf macros with, except lowercase by convention.
-For cache values used by the distributed Autoconf macros, this value is
-@samp{ac}.
-
-@item @code{_cv_}
-Indicates that this shell variable is a cache value.
-
-@item @var{value-type}
-A convention for classifying cache values, to produce a rational naming
-system. The values used in Autoconf are listed in @ref{Macro Names}.
-
-@item @var{specific-value}
-Which member of the class of cache values this test applies to.
-For example, which function (@samp{alloca}), program (@samp{gcc}), or
-output variable (@samp{INSTALL}).
-
-@item @var{additional-options}
-Any particular behavior of the specific member that this test applies to.
-For example, @samp{broken} or @samp{set}. This part of the name may
-be omitted if it does not apply.
-@end table
-
-Like their names, the values that may be assigned to cache variables
-have a few restrictions. The values may not contain single quotes or
-curly braces. Usually, their values will be boolean (@samp{yes} or
-@samp{no}) or the names of files or functions; so this is not an
-important restriction.
-
-@node Cache Files, , Cache Variable Names, Caching Results
-@subsection Cache Files
-
-A cache file is a shell script that caches the results of configure
-tests run on one system so they can be shared between configure scripts
-and configure runs. It is not useful on other systems. If its contents
-are invalid for some reason, the user may delete or edit it.
-
-By default, configure uses @file{./config.cache} as the cache file,
-creating it if it does not exist already. @code{configure} accepts the
-@samp{--cache-file=@var{file}} option to use a different cache file;
-that is what @code{configure} does when it calls @code{configure}
-scripts in subdirectories, so they share the cache. Giving
-@samp{--cache-file=/dev/null} disables caching, for debugging
-@code{configure}. @xref{Subdirectories}, for information on configuring
-subdirectories with the @code{AC_CONFIG_SUBDIRS} macro.
-@file{config.status} only pays attention to the cache file if it is
-given the @samp{--recheck} option, which makes it rerun
-@code{configure}.
-
-It is wrong to try to distribute cache files for particular system types.
-There is too much room for error in doing that, and too much
-administrative overhead in maintaining them. For any features that
-can't be guessed automatically, use the standard method of the canonical
-system type and linking files (@pxref{Manual Configuration}).
-
-The cache file on a particular system will gradually accumulate whenever
-someone runs a @code{configure} script; it will be initially
-nonexistent. Running @code{configure} merges the new cache results with
-the existing cache file. The site initialization script can specify a
-site-wide cache file to use instead of the default, to make it work
-transparently, as long as the same C compiler is used every time
-(@pxref{Site Defaults}).
-
-@node Printing Messages, , Caching Results, Results
-@section Printing Messages
-
-@code{configure} scripts need to give users running them several kinds
-of information. The following macros print messages in ways appropriate
-for each kind. The arguments to all of them get enclosed in shell
-double quotes, so the shell performs variable and backquote substitution
-on them.
-
-These macros are all wrappers around the @code{echo} shell command.
-@code{configure} scripts should rarely need to run @code{echo} directly
-to print messages for the user. Using these macros makes it easy to
-change how and when each kind of message is printed; such changes need
-only be made to the macro definitions, and all of the callers change
-automatically.
-
-@defmac AC_MSG_CHECKING (@var{feature-description})
-@maindex MSG_CHECKING
-Notify the user that @code{configure} is checking for a particular
-feature. This macro prints a message that starts with @samp{checking }
-and ends with @samp{...} and no newline. It must be followed by a call
-to @code{AC_MSG_RESULT} to print the result of the check and the
-newline. The @var{feature-description} should be something like
-@samp{whether the Fortran compiler accepts C++ comments} or @samp{for
-c89}.
-
-This macro prints nothing if @code{configure} is run with the
-@samp{--quiet} or @samp{--silent} option.
-@end defmac
-
-@defmac AC_MSG_RESULT (@var{result-description})
-@maindex MSG_RESULT
-Notify the user of the results of a check. @var{result-description} is
-almost always the value of the cache variable for the check, typically
-@samp{yes}, @samp{no}, or a file name. This macro should follow a call
-to @code{AC_MSG_CHECKING}, and the @var{result-description} should be
-the completion of the message printed by the call to
-@code{AC_MSG_CHECKING}.
-
-This macro prints nothing if @code{configure} is run with the
-@samp{--quiet} or @samp{--silent} option.
-@end defmac
-
-@defmac AC_MSG_ERROR (@var{error-description})
-@maindex MSG_ERROR
-Notify the user of an error that prevents @code{configure} from
-completing. This macro prints an error message on the standard error
-stream and exits @code{configure} with a nonzero status.
-@var{error-description} should be something like @samp{invalid value
-$HOME for \$HOME}.
-@end defmac
-
-@defmac AC_MSG_WARN (@var{problem-description})
-@maindex MSG_WARN
-Notify the @code{configure} user of a possible problem. This macro
-prints the message on the standard error stream; @code{configure}
-continues running afterward, so macros that call @code{AC_MSG_WARN} should
-provide a default (back-up) behavior for the situations they warn about.
-@var{problem-description} should be something like @samp{ln -s seems to
-make hard links}.
-@end defmac
-
-The following two macros are an obsolete alternative to
-@code{AC_MSG_CHECKING} and @code{AC_MSG_RESULT}.
-
-@defmac AC_CHECKING (@var{feature-description})
-@maindex CHECKING
-This macro is similar to @code{AC_MSG_CHECKING}, except that it prints a
-newline after the @var{feature-description}. It is useful mainly to
-print a general description of the overall purpose of a group of feature
-checks, e.g.,
-
-@example
-AC_CHECKING(if stack overflow is detectable)
-@end example
-@end defmac
-
-@defmac AC_VERBOSE (@var{result-description})
-@maindex VERBOSE
-This macro is similar to @code{AC_MSG_RESULT}, except that it is meant
-to follow a call to @code{AC_CHECKING} instead of
-@code{AC_MSG_CHECKING}; it starts the message it prints with a tab. It
-is considered obsolete.
-@end defmac
-
-@node Writing Macros, Manual Configuration, Results, Top
-@chapter Writing Macros
-
-When you write a feature test that could be applicable to more than one
-software package, the best thing to do is encapsulate it in a new macro.
-Here are some instructions and guidelines for writing Autoconf macros.
-
-@menu
-* Macro Definitions:: Basic format of an Autoconf macro.
-* Macro Names:: What to call your new macros.
-* Quoting:: Protecting macros from unwanted expansion.
-* Dependencies Between Macros:: What to do when macros depend on other macros.
-@end menu
-
-@node Macro Definitions, Macro Names, , Writing Macros
-@section Macro Definitions
-
-@maindex DEFUN
-Autoconf macros are defined using the @code{AC_DEFUN} macro, which is
-similar to the @code{m4} builtin @code{define} macro. In addition to
-defining a macro, @code{AC_DEFUN} adds to it some code which is used to
-constrain the order in which macros are called (@pxref{Prerequisite
-Macros}).
-
-An Autoconf macro definition looks like this:
-
-@example
-AC_DEFUN(@var{macro-name}, [@var{macro-body}])
-@end example
-
-@noindent
-The square brackets here do not indicate optional text: they should
-literally be present in the macro definition to avoid macro expansion
-problems (@pxref{Quoting}). You can refer to any arguments passed to
-the macro as @samp{$1}, @samp{$2}, etc.
-
-To introduce comments in @code{m4}, use the @code{m4} builtin
-@code{dnl}; it causes @code{m4} to discard the text through the next
-newline. It is not needed between macro definitions in @file{acsite.m4}
-and @file{aclocal.m4}, because all output is discarded until
-@code{AC_INIT} is called.
-
-@xref{Definitions, , How to define new macros, m4.info, GNU m4}, for
-more complete information on writing @code{m4} macros.
-
-@node Macro Names, Quoting, Macro Definitions, Writing Macros
-@section Macro Names
-
-All of the Autoconf macros have all-uppercase names starting with
-@samp{AC_} to prevent them from accidentally conflicting with other
-text. All shell variables that they use for internal purposes have
-mostly-lowercase names starting with @samp{ac_}. To ensure that your
-macros don't conflict with present or future Autoconf macros, you should
-prefix your own macro names and any shell variables they use with some
-other sequence. Possibilities include your initials, or an abbreviation
-for the name of your organization or software package.
-
-Most of the Autoconf macros' names follow a structured naming convention
-that indicates the kind of feature check by the name. The macro names
-consist of several words, separated by underscores, going from most
-general to most specific. The names of their cache variables use the
-same convention (@pxref{Cache Variable Names}, for more information on them).
-
-The first word of the name after @samp{AC_} usually tells the category
-of feature being tested. Here are the categories used in Autoconf for
-specific test macros, the kind of macro that you are more likely to
-write. They are also used for cache variables, in all-lowercase. Use
-them where applicable; where they're not, invent your own categories.
-
-@table @code
-@item C
-C language builtin features.
-@item DECL
-Declarations of C variables in header files.
-@item FUNC
-Functions in libraries.
-@item GROUP
-UNIX group owners of files.
-@item HEADER
-Header files.
-@item LIB
-C libraries.
-@item PATH
-The full path names to files, including programs.
-@item PROG
-The base names of programs.
-@item STRUCT
-Definitions of C structures in header files.
-@item SYS
-Operating system features.
-@item TYPE
-C builtin or declared types.
-@item VAR
-C variables in libraries.
-@end table
-
-After the category comes the name of the particular feature being
-tested. Any further words in the macro name indicate particular aspects
-of the feature. For example, @code{AC_FUNC_UTIME_NULL} checks the
-behavior of the @code{utime} function when called with a @code{NULL}
-pointer.
-
-A macro that is an internal subroutine of another macro should have a
-name that starts with the name of that other macro, followed by one or
-more words saying what the internal macro does. For example,
-@code{AC_PATH_X} has internal macros @code{AC_PATH_X_XMKMF} and
-@code{AC_PATH_X_DIRECT}.
-
-@node Quoting, Dependencies Between Macros, Macro Names, Writing Macros
-@section Quoting
-
-Macros that are called by other macros are evaluated by @code{m4}
-several times; each evaluation might require another layer of quotes to
-prevent unwanted expansions of macros or @code{m4} builtins, such as
-@samp{define} and @samp{$1}. Quotes are also required around macro
-arguments that contain commas, since commas separate the arguments from
-each other. It's a good idea to quote any macro arguments that contain
-newlines or calls to other macros, as well.
-
-Autoconf changes the @code{m4} quote characters
-from the default @samp{`} and @samp{'} to @samp{[} and @samp{]}, because
-many of the macros use @samp{`} and @samp{'}, mismatched. However, in a
-few places the macros need to use brackets (usually in C program text or
-regular expressions). In those places, they use the @code{m4} builtin
-command @code{changequote} to temporarily change the quote characters to
-@samp{<<} and @samp{>>}. (Sometimes, if they don't need to quote
-anything, they disable quoting entirely instead by setting the quote
-characters to empty strings.) Here is an example:
-
-@example
-AC_TRY_LINK(
-changequote(<<, >>)dnl
-<<#include <time.h>
-#ifndef tzname /* For SGI. */
-extern char *tzname[]; /* RS6000 and others reject char **tzname. */
-#endif>>,
-changequote([, ])dnl
-[atoi(*tzname);], ac_cv_var_tzname=yes, ac_cv_var_tzname=no)
-@end example
-
-When you create a @code{configure} script using newly written macros,
-examine it carefully to check whether you need to add more quotes in
-your macros. If one or more words have disappeared in the @code{m4}
-output, you need more quotes. When in doubt, quote.
-
-However, it's also possible to put on too many layers of quotes. If
-this happens, the resulting @code{configure} script will contain
-unexpanded macros. The @code{autoconf} program checks for this problem
-by doing @samp{grep AC_ configure}.
-
-@node Dependencies Between Macros, , Quoting, Writing Macros
-@section Dependencies Between Macros
-
-Some Autoconf macros depend on other macros having been called first in
-order to work correctly. Autoconf provides a way to ensure that certain
-macros are called if needed and a way to warn the user if macros are
-called in an order that might cause incorrect operation.
-
-@menu
-* Prerequisite Macros:: Ensuring required information.
-* Suggested Ordering:: Warning about possible ordering problems.
-* Obsolete Macros:: Warning about old ways of doing things.
-@end menu
-
-@node Prerequisite Macros, Suggested Ordering, , Dependencies Between Macros
-@subsection Prerequisite Macros
-
-A macro that you write might need to use values that have previously
-been computed by other macros. For example, @code{AC_DECL_YYTEXT}
-examines the output of @code{flex} or @code{lex}, so it depends on
-@code{AC_PROG_LEX} having been called first to set the shell variable
-@code{LEX}.
-
-Rather than forcing the user of the macros to keep track of the
-dependencies between them, you can use the @code{AC_REQUIRE} macro to do
-it automatically. @code{AC_REQUIRE} can ensure that a macro is only
-called if it is needed, and only called once.
-
-@defmac AC_REQUIRE (@var{macro-name})
-@maindex REQUIRE
-If the @code{m4} macro @var{macro-name} has not already been called,
-call it (without any arguments). Make sure to quote @var{macro-name}
-with square brackets. @var{macro-name} must have been defined using
-@code{AC_DEFUN} or else contain a call to @code{AC_PROVIDE} to indicate
-that it has been called.
-@end defmac
-
-An alternative to using @code{AC_DEFUN} is to use @code{define} and call
-@code{AC_PROVIDE}. Because this technique does not prevent nested
-messages, it is considered obsolete.
-
-@defmac AC_PROVIDE (@var{this-macro-name})
-@maindex PROVIDE
-Record the fact that @var{this-macro-name} has been called.
-@var{this-macro-name} should be the name of the macro that is calling
-@code{AC_PROVIDE}. An easy way to get it is from the @code{m4} builtin
-variable @code{$0}, like this:
-
-@example
-AC_PROVIDE([$0])
-@end example
-@end defmac
-
-@node Suggested Ordering, Obsolete Macros, Prerequisite Macros, Dependencies Between Macros
-@subsection Suggested Ordering
-
-Some macros should be run before another macro if both are called, but
-neither @emph{requires} that the other be called. For example, a macro
-that changes the behavior of the C compiler should be called before any
-macros that run the C compiler. Many of these dependencies are noted in
-the documentation.
-
-Autoconf provides the @code{AC_BEFORE} macro to warn users when macros
-with this kind of dependency appear out of order in a
-@file{configure.in} file. The warning occurs when creating
-@code{configure} from @file{configure.in}, not when running
-@code{configure}.
-For example, @code{AC_PROG_CPP} checks whether the C compiler
-can run the C preprocessor when given the @samp{-E} option. It should
-therefore be called after any macros that change which C compiler is
-being used, such as @code{AC_PROG_CC}. So @code{AC_PROG_CC} contains:
-
-@example
-AC_BEFORE([$0], [AC_PROG_CPP])dnl
-@end example
-
-@noindent
-This warns the user if a call to @code{AC_PROG_CPP} has already occurred
-when @code{AC_PROG_CC} is called.
-
-@defmac AC_BEFORE (@var{this-macro-name}, @var{called-macro-name})
-@maindex BEFORE
-Make @code{m4} print a warning message on the standard error output if
-@var{called-macro-name} has already been called. @var{this-macro-name}
-should be the name of the macro that is calling @code{AC_BEFORE}. The
-macro @var{called-macro-name} must have been defined using
-@code{AC_DEFUN} or else contain a call to @code{AC_PROVIDE} to indicate
-that it has been called.
-@end defmac
-
-@node Obsolete Macros, , Suggested Ordering, Dependencies Between Macros
-@subsection Obsolete Macros
-
-Configuration and portability technology has evolved over the years.
-Often better ways of solving a particular problem are developed, or
-ad-hoc approaches are systematized. This process has occurred in many
-parts of Autoconf. One result is that some of the macros are now
-considered @dfn{obsolete}; they still work, but are no longer considered
-the best thing to do. Autoconf provides the @code{AC_OBSOLETE} macro to
-warn users producing @code{configure} scripts when they use obsolete
-macros, to encourage them to modernize. A sample call is:
-
-@example
-AC_OBSOLETE([$0], [; use AC_CHECK_HEADERS(unistd.h) instead])dnl
-@end example
-
-@defmac AC_OBSOLETE (@var{this-macro-name} @r{[}, @var{suggestion}@r{]})
-@maindex OBSOLETE
-Make @code{m4} print a message on the standard error output warning that
-@var{this-macro-name} is obsolete, and giving the file and line number
-where it was called. @var{this-macro-name} should be the name of the
-macro that is calling @code{AC_OBSOLETE}. If @var{suggestion} is given,
-it is printed at the end of the warning message; for example, it can be
-a suggestion for what to use instead of @var{this-macro-name}.
-@end defmac
-
-@node Manual Configuration, Site Configuration, Writing Macros, Top
-@chapter Manual Configuration
-
-A few kinds of features can't be guessed automatically by running test
-programs. For example, the details of the object file format, or
-special options that need to be passed to the compiler or linker. It is
-possible to check for such features using ad-hoc means, such as having
-@code{configure} check the output of the @code{uname} program, or
-looking for libraries that are unique to particular systems. However,
-Autoconf provides a uniform method for handling unguessable features.
-
-@menu
-* Specifying Names:: Specifying the system type.
-* Canonicalizing:: Getting the canonical system type.
-* System Type Variables:: Variables containing the system type.
-* Using System Type:: What to do with the system type.
-@end menu
-
-@node Specifying Names, Canonicalizing, , Manual Configuration
-@section Specifying the System Type
-
-Like other GNU @code{configure} scripts, Autoconf-generated
-@code{configure} scripts can make decisions based on a canonical name
-for the system type, which has the form:
-
-@example
-@var{cpu}-@var{company}-@var{system}
-@end example
-
-@code{configure} can usually guess the canonical name for the type of
-system it's running on. To do so it runs a script called
-@code{config.guess}, which derives the name using the @code{uname}
-command or symbols predefined by the C preprocessor.
-
-Alternately, the user can specify the system type with command line
-arguments to @code{configure}. Doing so is necessary when
-cross-compiling. In the most complex case of cross-compiling, three
-system types are involved. The options to specify them are:
-
-@table @code
-@item --build=@var{build-type}
-the type of system on which the package is being configured and
-compiled (rarely needed);
-
-@item --host=@var{host-type}
-the type of system on which the package will run;
-
-@item --target=@var{target-type}
-the type of system for which any compiler tools in the package will
-produce code.
-@end table
-
-@noindent
-If the user gives @code{configure} a non-option argument, it is used as
-the default for the host, target, and build system types if the user
-does not specify them explicitly with options. The target and build
-types default to the host type if it is given and they are not. If you
-are cross-compiling, you still have to specify the names of the
-cross-tools you use, in particular the C compiler, on the
-@code{configure} command line, e.g.,
-
-@example
-CC=m68k-coff-gcc configure --target=m68k-coff
-@end example
-
-@code{configure} recognizes short aliases for many system types; for
-example, @samp{decstation} can be given on the command line instead of
-@samp{mips-dec-ultrix4.2}. @code{configure} runs a script called
-@code{config.sub} to canonicalize system type aliases.
-
-@node Canonicalizing, System Type Variables, Specifying Names, Manual Configuration
-@section Getting the Canonical System Type
-
-The following macros make the system type available to @code{configure}
-scripts. They run the shell script @code{config.guess} to determine any
-values for the host, target, and build types that they need and the user
-did not specify on the command line. They run @code{config.sub} to
-canonicalize any aliases the user gave. If you use these macros, you
-must distribute those two shell scripts along with your source code.
-@xref{Output}, for information about the @code{AC_CONFIG_AUX_DIR} macro
-which you can use to control which directory @code{configure} looks for
-those scripts in. If you do not use either of these macros,
-@code{configure} ignores any @samp{--host}, @samp{--target}, and
-@samp{--build} options given to it.
-
-@defmac AC_CANONICAL_SYSTEM
-@maindex CANONICAL_SYSTEM
-Determine the system type and set output variables to the names of the
-canonical system types. @xref{System Type Variables}, for details about
-the variables this macro sets.
-@end defmac
-
-@defmac AC_CANONICAL_HOST
-@maindex CANONICAL_HOST
-Perform only the subset of @code{AC_CANONICAL_SYSTEM} relevant to the
-host type. This is all that is needed for programs that are not part of
-a compiler toolchain.
-@end defmac
-
-@node System Type Variables, Using System Type, Canonicalizing, Manual Configuration
-@section System Type Variables
-
-After calling @code{AC_CANONICAL_SYSTEM}, the following output variables
-contain the system type information. After @code{AC_CANONICAL_HOST},
-only the @code{host} variables below are set.
-
-@table @code
-@ovindex build
-@ovindex host
-@ovindex target
-@item @code{build}, @code{host}, @code{target}
-the canonical system names;
-
-@item @code{build_alias}, @code{host_alias}, @code{target_alias}
-@ovindex build_alias
-@ovindex host_alias
-@ovindex target_alias
-the names the user specified, or the canonical names if
-@code{config.guess} was used;
-
-@item @code{build_cpu}, @code{build_vendor}, @code{build_os}
-@itemx @code{host_cpu}, @code{host_vendor}, @code{host_os}
-@itemx @code{target_cpu}, @code{target_vendor}, @code{target_os}
-@ovindex build_cpu
-@ovindex host_cpu
-@ovindex target_cpu
-@ovindex build_vendor
-@ovindex host_vendor
-@ovindex target_vendor
-@ovindex build_os
-@ovindex host_os
-@ovindex target_os
-the individual parts of the canonical names (for convenience).
-@end table
-
-@node Using System Type, , System Type Variables, Manual Configuration
-@section Using the System Type
-
-How do you use a canonical system type? Usually, you use it in one or
-more @code{case} statements in @file{configure.in} to select
-system-specific C files. Then link those files, which have names based
-on the system name, to generic names, such as @file{host.h} or
-@file{target.c}. The @code{case} statement patterns can use shell
-wildcards to group several cases together, like in this fragment:
-
-@example
-case "$target" in
-i386-*-mach* | i386-*-gnu*) obj_format=aout emulation=mach bfd_gas=yes ;;
-i960-*-bout) obj_format=bout ;;
-esac
-@end example
-
-@defmac AC_LINK_FILES (@var{source}@dots{}, @var{dest}@dots{})
-@maindex LINK_FILES
-Make @code{AC_OUTPUT} link each of the existing files @var{source} to
-the corresponding link name @var{dest}. Makes a symbolic link if
-possible, otherwise a hard link. The @var{dest} and @var{source} names
-should be relative to the top level source or build directory.
-
-For example, this call:
-
-@example
-AC_LINK_FILES(config/$@{machine@}.h config/$@{obj_format@}.h, host.h object.h)
-@end example
-
-@noindent
-creates in the current directory @file{host.h}, which is a link to
-@file{@var{srcdir}/config/$@{machine@}.h}, and @file{object.h}, which is a link
-to @file{@var{srcdir}/config/$@{obj_format@}.h}.
-@end defmac
-
-@node Site Configuration, Invoking configure, Manual Configuration, Top
-@chapter Site Configuration
-
-@code{configure} scripts support several kinds of local configuration
-decisions. There are ways for users to specify where external software
-packages are, include or exclude optional features, install programs
-under modified names, and set default values for @code{configure}
-options.
-
-@menu
-* External Software:: Working with other optional software.
-* Package Options:: Selecting optional features.
-* Site Details:: Configuring site details.
-* Transforming Names:: Changing program names when installing.
-* Site Defaults:: Giving @code{configure} local defaults.
-@end menu
-
-@node External Software, Package Options, , Site Configuration
-@section Working With External Software
-
-Some packages require, or can optionally use, other software packages
-which are already installed. The user can give @code{configure}
-command line options to specify which such external software to use.
-The options have one of these forms:
-
-@example
---with-@var{package}@r{[}=@var{arg}@r{]}
---without-@var{package}
-@end example
-
-For example, @samp{--with-gnu-ld} means work with the GNU linker instead
-of some other linker. @samp{--with-x11} means work with X11.
-
-The user can give an argument by following the package name with
-@samp{=} and the argument. Giving an argument of @samp{no} is for
-packages that are used by default; it says to @emph{not} use the
-package. An argument that is neither @samp{yes} nor @samp{no} could
-include a name or number of a version of the other package, to specify
-more precisely which other package this program is supposed to work
-with. If no argument is given, it defaults to @samp{yes}.
-@samp{--without-@var{package}} is equivalent to
-@samp{--with-@var{package}=no}.
-
-For each external software package that may be used, @file{configure.in}
-should call @code{AC_ARG_WITH} to detect whether the @code{configure}
-user asked to use it. Whether each package is used or not by
-default, and which arguments are valid, is up to you.
-
-@defmac AC_ARG_WITH (@var{package}, @var{help-string}, @var{action-if-true} @r{[}, @var{action-if-false}@r{]})
-@maindex ARG_WITH
-If the user gave @code{configure} the option @samp{--with-@var{package}}
-or @samp{--without-@var{package}}, run shell commands
-@var{action-if-true}. Otherwise run shell commands
-@var{action-if-false}. The name @var{package} indicates another
-software package that this program should work with. It should consist
-only of alphanumeric characters and dashes.
-
-The option's argument is available to the shell commands
-@var{action-if-true} in the shell variable @code{withval}.
-
-The argument @var{help-string} is a description of the option which
-looks like this:
-@example
- --with-readline support fancy command line editing
-@end example
-@noindent
-@var{help-string} may be more than one line long, if more detail is
-needed. Just make sure the columns line up in @samp{configure --help}.
-Avoid tabs in the help string. You'll need to enclose it in @samp{[}
-and @samp{]} in order to produce the leading spaces.
-@end defmac
-
-@defmac AC_WITH (@var{package}, @var{action-if-true} @r{[}, @var{action-if-false}@r{]})
-@maindex WITH
-This is an obsolete version of @code{AC_ARG_WITH} that does not
-support providing a help string.
-@end defmac
-
-@node Package Options, Site Details, External Software, Site Configuration
-@section Choosing Package Options
-
-If a software package has optional compile-time features, the user can
-give @code{configure} command line options to specify whether to
-compile them. The options have one of these forms:
-
-@example
---enable-@var{feature}@r{[}=@var{arg}@r{]}
---disable-@var{feature}
-@end example
-
-These options allow users to choose which optional features to build and
-install. @samp{--enable-@var{feature}} options should never make a
-feature behave differently or cause one feature to replace another.
-They should only cause parts of the program to be built rather than left
-out.
-
-The user can give an argument by following the feature name with
-@samp{=} and the argument. Giving an argument of @samp{no} requests
-that the feature @emph{not} be made available. A feature with an
-argument looks like @samp{--enable-debug=stabs}. If no argument is
-given, it defaults to @samp{yes}. @samp{--disable-@var{feature}} is
-equivalent to @samp{--enable-@var{feature}=no}.
-
-For each optional feature, @file{configure.in} should call
-@code{AC_ARG_ENABLE} to detect whether the @code{configure} user asked
-to include it. Whether each feature is included or not by default, and
-which arguments are valid, is up to you.
-
-@defmac AC_ARG_ENABLE (@var{feature}, @var{help-string}, @var{action-if-true} @r{[}, @var{action-if-false}@r{]})
-@maindex ARG_ENABLE
-If the user gave @code{configure} the option
-@samp{--enable-@var{feature}} or @samp{--disable-@var{feature}}, run
-shell commands @var{action-if-true}. Otherwise run shell commands
-@var{action-if-false}. The name @var{feature} indicates an optional
-user-level facility. It should consist only of alphanumeric characters
-and dashes.
-
-The option's argument is available to the shell commands
-@var{action-if-true} in the shell variable @code{enableval}.
-The @var{help-string} argument is like that of @code{AC_ARG_WITH}
-(@pxref{External Software}).
-@end defmac
-
-@defmac AC_ENABLE (@var{feature}, @var{action-if-true} @r{[}, @var{action-if-false}@r{]})
-@maindex ENABLE
-This is an obsolete version of @code{AC_ARG_ENABLE} that does not
-support providing a help string.
-@end defmac
-
-@node Site Details, Transforming Names, Package Options, Site Configuration
-@section Configuring Site Details
-
-Some software packages require complex site-specific information. Some
-examples are host names to use for certain services, company names, and
-email addresses to contact. Since some configuration scripts generated
-by Metaconfig ask for such information interactively, people sometimes
-wonder how to get that information in Autoconf-generated configuration
-scripts, which aren't interactive.
-
-Such site configuration information should be put in a file that is
-edited @emph{only by users}, not by programs. The location of the file
-can either be based on the @code{prefix} variable, or be a standard
-location such as the user's home directory. It could even be specified
-by an environment variable. The programs should examine that file at
-run time, rather than at compile time. That approach is more convenient
-for users and makes the configuration process simpler than getting the
-information while configuring. @xref{Directory Variables, , Variables
-for Installation Directories, standards, GNU Coding Standards}, for more
-information on where to put data files.
-
-@node Transforming Names, Site Defaults, Site Details, Site Configuration
-@section Transforming Program Names When Installing
-
-Autoconf supports changing the names of programs when installing them.
-In order to use these transformations, @file{configure.in} must call the
-macro @code{AC_ARG_PROGRAM}.
-
-@defmac AC_ARG_PROGRAM
-@maindex ARG_PROGRAM
-@ovindex program_transform_name
-Place in output variable @code{program_transform_name} a sequence of
-@code{sed} commands for changing the names of installed programs.
-
-If any of the options described below are given to @code{configure},
-program names are transformed accordingly. Otherwise, if
-@code{AC_CANONICAL_SYSTEM} has been called and a @samp{--target} value
-is given that differs from the host type (specified with @samp{--host}
-or defaulted by @code{config.sub}), the target type followed by a dash
-is used as a prefix. Otherwise, no program name transformation is done.
-@end defmac
-
-@menu
-* Transformation Options:: @code{configure} options to transforme names.
-* Transformation Examples:: Sample uses of transforming names.
-* Transformation Rules:: @file{Makefile} uses of transforming names.
-@end menu
-
-@node Transformation Options, Transformation Examples, , Transforming Names
-@subsection Transformation Options
-
-You can specify name transformations by giving @code{configure} these
-command line options:
-
-@table @code
-@item --program-prefix=@var{prefix}
-prepend @var{prefix} to the names;
-
-@item --program-suffix=@var{suffix}
-append @var{suffix} to the names;
-
-@item --program-transform-name=@var{expression}
-perform @code{sed} substitution @var{expression} on the names.
-@end table
-
-@node Transformation Examples, Transformation Rules, Transformation Options, Transforming Names
-@subsection Transformation Examples
-
-These transformations are useful with programs that can be part of a
-cross-compilation development environment. For example, a
-cross-assembler running on a Sun 4 configured with
-@samp{--target=i960-vxworks} is normally installed as
-@file{i960-vxworks-as}, rather than @file{as}, which could be confused
-with a native Sun 4 assembler.
-
-You can force a program name to begin with @file{g}, if you don't want
-GNU programs installed on your system to shadow other programs with the
-same name. For example, if you configure GNU @code{diff} with
-@samp{--program-prefix=g}, then when you run @samp{make install} it is
-installed as @file{/usr/local/bin/gdiff}.
-
-As a more sophistocated example, you could use
-@example
---program-transform-name='s/^/g/; s/^gg/g/; s/^gless/less/'
-@end example
-@noindent
-to prepend @samp{g} to most of the program names in a source tree,
-excepting those like @code{gdb} that already have one and those like
-@code{less} and @code{lesskey} that aren't GNU programs. (That is
-assuming that you have a source tree containing those programs that is
-set up to use this feature.)
-
-One way to install multiple versions of some programs simultaneously is
-to append a version number to the name of one or both. For example, if
-you want to keep Autoconf version 1 around for awhile, you can configure
-Autoconf version 2 using @samp{--program-suffix=2} to install the
-programs as @file{/usr/local/bin/autoconf2},
-@file{/usr/local/bin/autoheader2}, etc.
-
-@node Transformation Rules, , Transformation Examples, Transforming Names
-@subsection Transformation Rules
-
-Here is how to use the variable @code{program_transform_name} in a
-@file{Makefile.in}:
-
-@example
-transform=@@program_transform_name@@
-install: all
- $(INSTALL_PROGRAM) myprog $(bindir)/`echo myprog|sed '$(transform)'`
-
-uninstall:
- rm -f $(bindir)/`echo myprog|sed '$(transform)'`
-@end example
-
-@noindent
-If you have more than one program to install, you can do it in a loop:
-
-@example
-PROGRAMS=cp ls rm
-install:
- for p in $(PROGRAMS); do \
- $(INSTALL_PROGRAM) $$p $(bindir)/`echo $$p|sed '$(transform)'`; \
- done
-
-uninstall:
- for p in $(PROGRAMS); do \
- rm -f $(bindir)/`echo $$p|sed '$(transform)'`; \
- done
-@end example
-
-Whether to do the transformations on documentation files (Texinfo or
-@code{man}) is a tricky question; there seems to be no perfect answer,
-due to the several reasons for name transforming. Documentation is not
-usually particular to a specific architecture, and Texinfo files do not
-conflict with system documentation. But they might conflict with
-earlier versions of the same files, and @code{man} pages sometimes do
-conflict with system documentation. As a compromise, it is probably
-best to do name transformations on @code{man} pages but not on Texinfo
-manuals.
-
-@node Site Defaults, , Transforming Names, Site Configuration
-@section Setting Site Defaults
-
-Autoconf-generated @code{configure} scripts allow your site to provide
-default values for some configuration values. You do this by creating
-site- and system-wide initialization files.
-
-@evindex CONFIG_SITE
-If the environment variable @code{CONFIG_SITE} is set, @code{configure}
-uses its value as the name of a shell script to read. Otherwise, it
-reads the shell script @file{@var{prefix}/share/config.site} if it exists,
-then @file{@var{prefix}/etc/config.site} if it exists. Thus,
-settings in machine-specific files override those in machine-independent
-ones in case of conflict.
-
-Site files can be arbitrary shell scripts, but only certain kinds of
-code are really appropriate to be in them. Because @code{configure}
-reads any cache file after it has read any site files, a site file can
-define a default cache file to be shared between all Autoconf-generated
-@code{configure} scripts run on that system. If you set a default cache
-file in a site file, it is a good idea to also set the output variable
-@code{CC} in that site file, because the cache file is only valid for a
-particular compiler, but many systems have several available.
-
-Site files are also good places to set default values for other output
-variables, such as @code{CFLAGS}, if you need to give them non-default
-values: anything you would normally do, repetitively, on the command
-line. If you use non-default values for @var{prefix} or
-@var{exec_prefix} (wherever you locate the site file), you can set them
-in the site file if you specify it with the @code{CONFIG_SITE}
-environment variable.
-
-You can set some cache values in the site file itself. Doing this is
-useful if you are cross-compiling, so it is impossible to check features
-that require running a test program. You could ``prime the cache'' by
-setting those values correctly for that system in
-@file{@var{prefix}/etc/config.site}. To find out the names of the cache
-variables you need to set, look for shell variables with @samp{_cv_} in
-their names in the affected @code{configure} scripts, or in the Autoconf
-@code{m4} source code for those macros.
-
-The cache file is careful to not override any variables set in the site
-files. Similarly, you should not override command-line options in the
-site files. Your code should check that variables such as @code{prefix}
-and @code{cache_file} have their default values (as set near the top of
-@code{configure}) before changing them.
-
-Here is a sample file @file{/usr/share/local/gnu/share/config.site}. The
-command @samp{configure --prefix=/usr/share/local/gnu} would read this
-file (if @code{CONFIG_SITE} is not set to a different file).
-
-@example
-# config.site for configure
-#
-# Default --prefix and --exec-prefix.
-test "$prefix" = NONE && prefix=/usr/share/local/gnu
-test "$exec_prefix" = NONE && exec_prefix=/usr/local/gnu
-#
-# Give Autoconf 2.x generated configure scripts a shared default
-# cache file for feature test results, architecture-specific.
-if test "$cache_file" = ./config.cache; then
- cache_file="$prefix/var/config.cache"
- # A cache file is only valid for one C compiler.
- CC=gcc
-fi
-@end example
-
-@node Invoking configure, Invoking config.status, Site Configuration, Top
-@chapter Running @code{configure} Scripts
-
-Below are instructions on how to configure a package that uses a
-@code{configure} script, suitable for inclusion as an @file{INSTALL}
-file in the package. A plain-text version of @file{INSTALL} which you
-may use comes with Autoconf.
-
-@menu
-* Basic Installation:: Instructions for typical cases.
-* Compilers and Options:: Selecting compilers and optimization.
-* Build Directory:: Configuring in a different directory.
-* Installation Names:: Installing in different directories.
-* Optional Features:: Selecting optional features.
-* System Type:: Specifying the system type.
-* Sharing Defaults:: Setting site-wide defaults for @code{configure}.
-* Operation Controls:: Changing how @code{configure} runs.
-@end menu
-
-@include install.texi
-
-@node Invoking config.status, Questions, Invoking configure, Top
-@chapter Recreating a Configuration
-
-The @code{configure} script creates a file named @file{config.status}
-which describes which configuration options were specified when the
-package was last configured. This file is a shell script which,
-if run, will recreate the same configuration.
-
-You can give @file{config.status} the @samp{--recheck} option to update
-itself. This option is useful if you change @code{configure}, so that
-the results of some tests might be different from the previous run. The
-@samp{--recheck} option re-runs @code{configure} with the same arguments
-you used before, plus the @samp{--no-create} option, which prevent
-@code{configure} from running @file{config.status} and creating
-@file{Makefile} and other files, and the @samp{--no-recursion} option,
-which prevents @code{configure} from running other @code{configure}
-scripts in subdirectories. (This is so other @file{Makefile} rules can
-run @file{config.status} when it changes; @pxref{Automatic Remaking},
-for an example).
-
-@file{config.status} also accepts the options @samp{--help}, which
-prints a summary of the options to @file{config.status}, and
-@samp{--version}, which prints the version of Autoconf used to create
-the @code{configure} script that generated @file{config.status}.
-
-@file{config.status} checks several optional environment variables that
-can alter its behavior:
-
-@defvar CONFIG_SHELL
-@evindex CONFIG_SHELL
-The shell with which to run @code{configure} for the @samp{--recheck}
-option. It must be Bourne-compatible. The default is @file{/bin/sh}.
-@end defvar
-
-@defvar CONFIG_STATUS
-@evindex CONFIG_STATUS
-The file name to use for the shell script that records the
-configuration. The default is @file{./config.status}. This variable is
-useful when one package uses parts of another and the @code{configure}
-scripts shouldn't be merged because they are maintained separately.
-@end defvar
-
-The following variables provide one way for separately distributed
-packages to share the values computed by @code{configure}. Doing so can
-be useful if some of the packages need a superset of the features that
-one of them, perhaps a common library, does. These variables allow a
-@file{config.status} file to create files other than the ones that its
-@file{configure.in} specifies, so it can be used for a different package.
-
-@defvar CONFIG_FILES
-@evindex CONFIG_FILES
-The files in which to perform @samp{@@@var{variable}@@} substitutions.
-The default is the arguments given to @code{AC_OUTPUT} in @file{configure.in}.
-@end defvar
-
-@defvar CONFIG_HEADERS
-@evindex CONFIG_HEADERS
-The files in which to substitute C @code{#define} statements.
-The default is the arguments given to @code{AC_CONFIG_HEADER}; if that
-macro was not called, @file{config.status} ignores this variable.
-@end defvar
-
-These variables also allow you to write @file{Makefile} rules that
-regenerate only some of the files. For example, in the dependencies
-given above (@pxref{Automatic Remaking}), @file{config.status} is run
-twice when @file{configure.in} has changed. If that bothers you, you
-can make each run only regenerate the files for that rule:
-
-@example
-@group
-config.h: stamp-h
-stamp-h: config.h.in config.status
- CONFIG_FILES= CONFIG_HEADERS=config.h ./config.status
- echo > stamp-h
-
-Makefile: Makefile.in config.status
- CONFIG_FILES=Makefile CONFIG_HEADERS= ./config.status
-@end group
-@end example
-
-@noindent
-(If @file{configure.in} does not call @code{AC_CONFIG_HEADER}, there is
-no need to set @code{CONFIG_HEADERS} in the @code{make} rules.)
-
-@node Questions, Upgrading, Invoking config.status, Top
-@chapter Questions About Autoconf
-
-Several questions about Autoconf come up occasionally. Here some of them
-are addressed.
-
-@menu
-* Distributing:: Distributing @code{configure} scripts.
-* Why GNU m4:: Why not use the standard @code{m4}?
-* Bootstrapping:: Autoconf and GNU @code{m4} require each other?
-* Why Not Imake:: Why GNU uses @code{configure} instead of Imake.
-@end menu
-
-@node Distributing, Why GNU m4, , Questions
-@section Distributing @code{configure} Scripts
-
-@display
-What are the restrictions on distributing @code{configure}
-scripts that Autoconf generates? How does that affect my
-programs that use them?
-@end display
-
-There are no restrictions on how the configuration scripts that Autoconf
-produces may be distributed or used. In Autoconf version 1, they were
-covered by the GNU General Public License. We still encourage software
-authors to distribute their work under terms like those of the GPL, but
-doing so is not required to use Autoconf.
-
-Of the other files that might be used with @code{configure},
-@file{config.h.in} is under whatever copyright you use for your
-@file{configure.in}, since it is derived from that file and from the
-public domain file @file{acconfig.h}. @file{config.sub} and
-@file{config.guess} have an exception to the GPL when they are used with
-an Autoconf-generated @code{configure} script, which permits you to
-distribute them under the same terms as the rest of your package.
-@file{install-sh} is from the X Consortium and is not copyrighted.
-
-@node Why GNU m4, Bootstrapping, Distributing, Questions
-@section Why Require GNU @code{m4}?
-
-@display
-Why does Autoconf require GNU @code{m4}?
-@end display
-
-Many @code{m4} implementations have hard-coded limitations on the size
-and number of macros, which Autoconf exceeds. They also lack several
-builtin macros that it would be difficult to get along without in a
-sophisticated application like Autoconf, including:
-
-@example
-builtin
-indir
-patsubst
-__file__
-__line__
-@end example
-
-Since only software maintainers need to use Autoconf, and since GNU
-@code{m4} is simple to configure and install, it seems reasonable to
-require GNU @code{m4} to be installed also. Many maintainers of GNU and
-other free software already have most of the GNU utilities installed,
-since they prefer them.
-
-@node Bootstrapping, Why Not Imake, Why GNU m4, Questions
-@section How Can I Bootstrap?
-
-@display
-If Autoconf requires GNU @code{m4} and GNU @code{m4} has an
-Autoconf @code{configure} script, how do I bootstrap? It seems
-like a chicken and egg problem!
-@end display
-
-This is a misunderstanding. Although GNU @code{m4} does come with a
-@code{configure} script produced by Autoconf, Autoconf is not required
-in order to run the script and install GNU @code{m4}. Autoconf is only
-required if you want to change the @code{m4} @code{configure} script,
-which few people have to do (mainly its maintainer).
-
-@node Why Not Imake, , Bootstrapping, Questions
-@section Why Not Imake?
-
-@display
-Why not use Imake instead of @code{configure} scripts?
-@end display
-
-Several people have written addressing this question, so I include
-adaptations of their explanations here.
-
-The following answer is based on one written by Richard Pixley:
-
-Autoconf generated scripts frequently work on machines which it has
-never been set up to handle before. That is, it does a good job of
-inferring a configuration for a new system. Imake cannot do this.
-
-Imake uses a common database of host specific data. For X11, this makes
-sense because the distribution is made as a collection of tools, by one
-central authority who has control over the database.
-
-GNU tools are not released this way. Each GNU tool has a maintainer;
-these maintainers are scattered across the world. Using a common
-database would be a maintenance nightmare. Autoconf may appear to be
-this kind of database, but in fact it is not. Instead of listing host
-dependencies, it lists program requirements.
-
-Imake is special-purpose. It is directed at building the X11
-distribution. By comparison to the GNU tools, this is a simple problem.
-If you view the GNU suite as a collection of native tools, then the
-problems are similar. But the GNU tools are more powerful than that.
-The development tools can be configured as cross tools in almost any
-host+target permutation. All of these configurations can be installed
-concurrently. They can even be configured to share host independent
-files across hosts. Imake doesn't address these issues.
-
-Imake templates are a form of standardization. The GNU coding standards
-address the same issues without necessarily imposing the same
-restrictions.
-
-Here is some further explanation, written by Per Bothner:
-
-One of the advantages of Imake is that it easy to generate large
-Makefiles using @code{cpp}'s @samp{#include} and macro mechanisms.
-However, @code{cpp} is not programmable: it has limited conditional
-facilities, and no looping. And @code{cpp} cannot inspect its
-environment.
-
-All of these problems are solved by using @code{sh} instead of
-@code{cpp}. The shell is fully programmable, has macro substitution,
-can execute (or source) other shell scripts, and can inspect its
-environment.
-
-Paul Eggert elaborates more:
-
-With Autoconf, installers need not assume that Imake itself is already
-installed and working well. This may not seem like much of an advantage
-to people who are accustomed to Imake. But on many hosts Imake is not
-installed or the default installation is not working well, and requiring
-Imake to install a package hinders the acceptance of that package on
-those hosts. For example, the Imake template and configuration files
-might not be installed properly on a host, or the Imake build procedure
-might wrongly assume that all source files are in one big directory
-tree, or the Imake configuration might assume one compiler whereas the
-package or the installer needs to use another, or there might be a
-version mismatch between the Imake expected by the package and the Imake
-suported by the host. These problems are much rarer with Autoconf,
-where each package comes with its own independent configuration
-processor.
-
-Also, Imake often suffers from unexpected interactions between
-@code{make} and the installer's C preprocessor. The fundamental problem
-here is that the C preprocessor was designed to preprocess C programs,
-not @file{Makefile}s. This is much less of a problem with Autoconf,
-which uses the general-purpose preprocessor @code{m4}, and where the
-package's author (rather than the installer) does the preprocessing in a
-standard way.
-
-Finally, Mark Eichin notes:
-
-Imake isn't all that extensible, either. In order to add new features to
-Imake, you need to provide you own project template, and duplicate most
-of the features of the existing one. This means that for a sophisticated
-project, using the vendor-provided Imake templates fails to provide any
-leverage---since they don't cover anything that your own project needs
-(unless it is an X11 program).
-
-On the other side, though:
-
-The one advantage that Imake has over @code{configure}:
-@file{Imakefile}s tend to be much shorter (likewise, less redundant)
-than @file{Makefile.in}s. There is a fix to this, however---at least
-for the Kerberos V5 tree, we've modified things to call in common
-@file{post.in} and @file{pre.in} @file{Makefile} fragments for the
-entire tree. This means that a lot of common things don't have to be
-duplicated, even though they normally are in @code{configure} setups.
-
-@node Upgrading, History, Questions, Top
-@chapter Upgrading From Version 1
-
-Autoconf version 2 is mostly backward compatible with version 1.
-However, it introduces better ways to do some things, and doesn't
-support some of the ugly things in version 1. So, depending on how
-sophisticated your @file{configure.in} files are, you might have to do
-some manual work in order to upgrade to version 2. This chapter points
-out some problems to watch for when upgrading. Also, perhaps your
-@code{configure} scripts could benefit from some of the new features in
-version 2; the changes are summarized in the file @file{NEWS} in the
-Autoconf distribution.
-
-First, make sure you have GNU @code{m4} version 1.1 or higher installed,
-preferably 1.3 or higher. Versions before 1.1 have bugs that prevent
-them from working with Autoconf version 2. Versions 1.3 and later are
-much faster than earlier versions, because as of version 1.3, GNU
-@code{m4} has a more efficient implementation of diversions and can
-freeze its internal state in a file that it can read back quickly.
-
-@menu
-* Changed File Names:: Files you might rename.
-* Changed Makefiles:: New things to put in @file{Makefile.in}.
-* Changed Macros:: Macro calls you might replace.
-* Invoking autoupdate:: Replacing old macro names in @code{configure.in}.
-* Changed Results:: Changes in how to check test results.
-* Changed Macro Writing:: Better ways to write your own macros.
-@end menu
-
-@node Changed File Names, Changed Makefiles, , Upgrading
-@section Changed File Names
-
-If you have an @file{aclocal.m4} installed with Autoconf (as opposed to
-in a particular package's source directory), you must rename it to
-@file{acsite.m4}. @xref{Invoking autoconf}.
-
-If you distribute @file{install.sh} with your package, rename it to
-@file{install-sh} so @code{make} builtin rules won't inadvertantly
-create a file called @file{install} from it. @code{AC_PROG_INSTALL}
-looks for the script under both names, but it is best to use the new name.
-
-If you were using @file{config.h.top} or @file{config.h.bot}, you still
-can, but you will have less clutter if you merge them into
-@file{acconfig.h}. @xref{Invoking autoheader}.
-
-@node Changed Makefiles, Changed Macros, Changed File Names, Upgrading
-@section Changed Makefiles
-
-Add @samp{@@CFLAGS@@}, @samp{@@CPPFLAGS@@}, and @samp{@@LDFLAGS@@} in
-your @file{Makefile.in} files, so they can take advantage of the values
-of those variables in the environment when @code{configure} is run.
-Doing this isn't necessary, but it's a convenience for users.
-
-Also add @samp{@@configure_input@@} in a comment to each input file for
-@code{AC_OUTPUT}, so that the output files will contain a comment saying
-they were produced by @code{configure}. Automatically selecting the
-right comment syntax for all the kinds of files that people call
-@code{AC_OUTPUT} on became too much work.
-
-Add @file{config.log} and @file{config.cache} to the list of files you
-remove in @code{distclean} targets.
-
-If you have the following in @file{Makefile.in}:
-
-@example
-prefix = /usr/local
-exec_prefix = $@{prefix@}
-@end example
-
-@noindent
-you must change it to:
-
-@example
-prefix = @@prefix@@
-exec_prefix = @@exec_prefix@@
-@end example
-
-@noindent
-The old feature of replacing those variables without @samp{@@}
-characters around them has been removed.
-
-@node Changed Macros, Invoking autoupdate, Changed Makefiles, Upgrading
-@section Changed Macros
-
-Many of the macros were renamed in Autoconf version 2. You can still
-use the old names, but the new ones are clearer, and it's easier to find
-the documentation for them. @xref{Old Macro Names}, for a table showing
-the new names for the old macros. Use the @code{autoupdate} program to
-convert your @file{configure.in} to using the new macro names.
-@xref{Invoking autoupdate}.
-
-Some macros have been superseded by similar ones that do the job better,
-but are not call-compatible. If you get warnings about calling obsolete
-macros while running @code{autoconf}, you may safely ignore them, but
-your @code{configure} script will generally work better if you follow
-the advice it prints about what to replace the obsolete macros with. In
-particular, the mechanism for reporting the results of tests has
-changed. If you were using @code{echo} or @code{AC_VERBOSE} (perhaps
-via @code{AC_COMPILE_CHECK}), your @code{configure} script's output will
-look better if you switch to @code{AC_MSG_CHECKING} and
-@code{AC_MSG_RESULT}. @xref{Printing Messages}. Those macros work best
-in conjunction with cache variables. @xref{Caching Results}.
-
-@node Invoking autoupdate, Changed Results, Changed Macros, Upgrading
-@section Using @code{autoupdate} to Modernize @code{configure}
-
-The @code{autoupdate} program updates a @file{configure.in} file that
-calls Autoconf macros by their old names to use the current macro names.
-In version 2 of Autoconf, most of the macros were renamed to use a more
-uniform and descriptive naming scheme. @xref{Macro Names}, for a
-description of the new scheme. Although the old names still work
-(@pxref{Old Macro Names}, for a list of the old macro names and the
-corresponding new names), you can make your @file{configure.in} files
-more readable and make it easier to use the current Autoconf
-documentation if you update them to use the new macro names.
-
-@evindex SIMPLE_BACKUP_SUFFIX
-If given no arguments, @code{autoupdate} updates @file{configure.in},
-backing up the original version with the suffix @file{~} (or the value
-of the environment variable @code{SIMPLE_BACKUP_SUFFIX}, if that is
-set). If you give @code{autoupdate} an argument, it reads that file
-instead of @file{configure.in} and writes the updated file to the
-standard output.
-
-@noindent
-@code{autoupdate} accepts the following options:
-
-@table @code
-@item --help
-@itemx -h
-Print a summary of the command line options and exit.
-
-@item --macrodir=@var{dir}
-@itemx -m @var{dir}
-@evindex AC_MACRODIR
-Look for the Autoconf macro files in directory @var{dir} instead of the
-default installation directory.
-You can also set the @code{AC_MACRODIR}
-environment variable to a directory; this option overrides the
-environment variable.
-
-@item --version
-Print the version number of @code{autoupdate} and exit.
-@end table
-
-@node Changed Results, Changed Macro Writing, Invoking autoupdate, Upgrading
-@section Changed Results
-
-If you were checking the results of previous tests by examining the
-shell variable @code{DEFS}, you need to switch to checking the values of
-the cache variables for those tests. @code{DEFS} no longer exists while
-@code{configure} is running; it is only created when generating output
-files. This difference from version 1 is because properly quoting the
-contents of that variable turned out to be too cumbersome and
-inefficient to do every time @code{AC_DEFINE} is called. @xref{Cache
-Variable Names}.
-
-For example, here is a @file{configure.in} fragment written for Autoconf
-version 1:
-
-@example
-AC_HAVE_FUNCS(syslog)
-case "$DEFS" in
-*-DHAVE_SYSLOG*) ;;
-*) # syslog is not in the default libraries. See if it's in some other.
- saved_LIBS="$LIBS"
- for lib in bsd socket inet; do
- AC_CHECKING(for syslog in -l$lib)
- LIBS="$saved_LIBS -l$lib"
- AC_HAVE_FUNCS(syslog)
- case "$DEFS" in
- *-DHAVE_SYSLOG*) break ;;
- *) ;;
- esac
- LIBS="$saved_LIBS"
- done ;;
-esac
-@end example
-
-Here is a way to write it for version 2:
-
-@example
-AC_CHECK_FUNCS(syslog)
-if test $ac_cv_func_syslog = no; then
- # syslog is not in the default libraries. See if it's in some other.
- for lib in bsd socket inet; do
- AC_CHECK_LIB($lib, syslog, [AC_DEFINE(HAVE_SYSLOG)
- LIBS="$LIBS $lib"; break])
- done
-fi
-@end example
-
-If you were working around bugs in @code{AC_DEFINE_UNQUOTED} by adding
-backslashes before quotes, you need to remove them. It now works
-predictably, and does not treat quotes (except backquotes) specially.
-@xref{Setting Output Variables}.
-
-All of the boolean shell variables set by Autoconf macros now use
-@samp{yes} for the true value. Most of them use @samp{no} for false,
-though for backward compatibility some use the empty string instead. If
-you were relying on a shell variable being set to something like 1 or
-@samp{t} for true, you need to change your tests.
-
-@node Changed Macro Writing, , Changed Results, Upgrading
-@section Changed Macro Writing
-
-When defining your own macros, you should now use @code{AC_DEFUN}
-instead of @code{define}. @code{AC_DEFUN} automatically calls
-@code{AC_PROVIDE} and ensures that macros called via @code{AC_REQUIRE}
-do not interrupt other macros, to prevent nested @samp{checking@dots{}}
-messages on the screen. There's no actual harm in continuing to use the
-older way, but it's less convenient and attractive. @xref{Macro
-Definitions}.
-
-You probably looked at the macros that came with Autoconf as a guide for
-how to do things. It would be a good idea to take a look at the new
-versions of them, as the style is somewhat improved and they take
-advantage of some new features.
-
-If you were doing tricky things with undocumented Autoconf internals
-(macros, variables, diversions), check whether you need to change
-anything to account for changes that have been made. Perhaps you can
-even use an officially supported technique in version 2 instead of
-kludging. Or perhaps not.
-
-To speed up your locally written feature tests, add caching to them.
-See whether any of your tests are of general enough usefulness to
-encapsulate into macros that you can share.
-
-@node History, Old Macro Names, Upgrading, Top
-@chapter History of Autoconf
-
-You may be wondering, Why was Autoconf originally written? How did it
-get into its present form? (Why does it look like gorilla spit?) If
-you're not wondering, then this chapter contains no information useful
-to you, and you might as well skip it. If you @emph{are} wondering,
-then let there be light@dots{}
-
-@menu
-* Genesis:: Prehistory and naming of @code{configure}.
-* Exodus:: The plagues of @code{m4} and Perl.
-* Leviticus:: The priestly code of portability arrives.
-* Numbers:: Growth and contributors.
-* Deuteronomy:: Approaching the promises of easy configuration.
-@end menu
-
-@node Genesis, Exodus, , History
-@section Genesis
-
-In June 1991 I was maintaining many of the GNU utilities for the Free
-Software Foundation. As they were ported to more platforms and more
-programs were added, the number of @samp{-D} options that users had to
-select in the @file{Makefile} (around 20) became burdensome. Especially
-for me---I had to test each new release on a bunch of different systems.
-So I wrote a little shell script to guess some of the correct settings
-for the fileutils package, and released it as part of fileutils 2.0.
-That @code{configure} script worked well enough that the next month I
-adapted it (by hand) to create similar @code{configure} scripts for
-several other GNU utilities packages. Brian Berliner also adapted one
-of my scripts for his CVS revision control system.
-
-Later that summer, I learned that Richard Stallman and Richard Pixley
-were developing similar scripts to use in the GNU compiler tools; so I
-adapted my @code{configure} scripts to support their evolving interface:
-using the file name @file{Makefile.in} as the templates; adding
-@samp{+srcdir}, the first option (of many); and creating
-@file{config.status} files.
-
-@node Exodus, Leviticus, Genesis, History
-@section Exodus
-
-As I got feedback from users, I incorporated many improvements, using
-Emacs to search and replace, cut and paste, similar changes in each of
-the scripts. As I adapted more GNU utilities packages to use
-@code{configure} scripts, updating them all by hand became impractical.
-Rich Murphey, the maintainer of the GNU graphics utilities, sent me mail
-saying that the @code{configure} scripts were great, and asking if I had
-a tool for generating them that I could send him. No, I thought, but
-I should! So I started to work out how to generate them. And the
-journey from the slavery of hand-written @code{configure} scripts to the
-abundance and ease of Autoconf began.
-
-Cygnus @code{configure}, which was being developed at around that time,
-is table driven; it is meant to deal mainly with a discrete number of
-system types with a small number of mainly unguessable features (such as
-details of the object file format). The automatic configuration system
-that Brian Fox had developed for Bash takes a similar approach. For
-general use, it seems to me a hopeless cause to try to maintain an
-up-to-date database of which features each variant of each operating
-system has. It's easier and more reliable to check for most features on
-the fly---especially on hybrid systems that people have hacked on
-locally or that have patches from vendors installed.
-
-I considered using an architecture similar to that of Cygnus
-@code{configure}, where there is a single @code{configure} script that
-reads pieces of @file{configure.in} when run. But I didn't want to have
-to distribute all of the feature tests with every package, so I settled
-on having a different @code{configure} made from each
-@file{configure.in} by a preprocessor. That approach also offered more
-control and flexibility.
-
-I looked briefly into using the Metaconfig package, by Larry Wall,
-Harlan Stenn, and Raphael Manfredi, but I decided not to for several
-reasons. The @code{Configure} scripts it produces are interactive,
-which I find quite inconvenient; I didn't like the ways it checked for
-some features (such as library functions); I didn't know that it was
-still being maintained, and the @code{Configure} scripts I had
-seen didn't work on many modern systems (such as System V R4 and NeXT);
-it wasn't very flexible in what it could do in response to a feature's
-presence or absence; I found it confusing to learn; and it was too big
-and complex for my needs (I didn't realize then how much Autoconf would
-eventually have to grow).
-
-I considered using Perl to generate my style of @code{configure} scripts,
-but decided that @code{m4} was better suited to the job of simple
-textual substitutions: it gets in the way less, because output is
-implicit. Plus, everyone already has it. (Initially I didn't rely on
-the GNU extensions to @code{m4}.) Also, some of my friends at the
-University of Maryland had recently been putting @code{m4} front ends on
-several programs, including @code{tvtwm}, and I was interested in trying
-out a new language.
-
-@node Leviticus, Numbers, Exodus, History
-@section Leviticus
-
-Since my @code{configure} scripts determine the system's capabilities
-automatically, with no interactive user intervention, I decided to call
-the program that generates them Autoconfig. But with a version number
-tacked on, that name would be too long for old UNIX file systems, so
-I shortened it to Autoconf.
-
-In the fall of 1991 I called together a group of fellow questers after
-the Holy Grail of portability (er, that is, alpha testers) to give me
-feedback as I encapsulated pieces of my handwritten scripts in @code{m4}
-macros and continued to add features and improve the techniques used in
-the checks. Prominent among the testers were
-@ifinfo
-Franc,ois
-@end ifinfo
-@tex
-Fran\c cois
-@end tex
-Pinard, who came up with the idea of making an @file{autoconf} shell
-script to run @code{m4} and check for unresolved macro calls; Richard
-Pixley, who suggested running the compiler instead of searching the file
-system to find include files and symbols, for more accurate results;
-Karl Berry, who got Autoconf to configure @TeX{} and added the
-macro index to the documentation; and Ian Taylor, who added support for
-creating a C header file as an alternative to putting @samp{-D} options
-in a @file{Makefile}, so he could use Autoconf for his UUCP package. The
-alpha testers cheerfully adjusted their files again and again as the
-names and calling conventions of the Autoconf macros changed from
-release to release. They all contributed many specific checks, great
-ideas, and bug fixes.
-
-@node Numbers, Deuteronomy, Leviticus, History
-@section Numbers
-
-In July 1992, after months of alpha testing, I released Autoconf 1.0,
-and converted many GNU packages to use it. I was surprised by how
-positive the reaction to it was. More people started using it than I
-could keep track of, including people working on software that wasn't
-part of the GNU Project (such as TCL, FSP, and Kerberos V5).
-Autoconf continued to improve rapidly, as many people using the
-@code{configure} scripts reported problems they encountered.
-
-Autoconf turned out to be a good torture test for @code{m4}
-implementations. UNIX @code{m4} started to dump core because of the
-length of the macros that Autoconf defined, and several bugs showed up
-in GNU @code{m4} as well. Eventually, we realized that we needed to use
-some features that only GNU @code{m4} has. 4.3BSD @code{m4}, in
-particular, has an impoverished set of builtin macros; the System V
-version is better, but still doesn't provide everything we need.
-
-More development occurred as people put Autoconf under more stresses
-(and to uses I hadn't anticipated). Karl Berry added checks for X11.
-david zuhn contributed C++ support.
-@ifinfo
-Franc,ois
-@end ifinfo
-@tex
-Fran\c cois
-@end tex
-Pinard made it diagnose invalid arguments. Jim Blandy bravely coerced
-it into configuring GNU Emacs, laying the groundwork for several later
-improvements. Roland McGrath got it to configure the GNU C Library,
-wrote the @code{autoheader} script to automate the creation of C header
-file templates, and added a @samp{--verbose} option to @code{configure}.
-Noah Friedman added the @samp{--macrodir} option and @code{AC_MACRODIR}
-environment variable. (He also coined the term @dfn{autoconfiscate} to
-mean ``adapt a software package to use Autoconf''.) Roland and Noah
-improved the quoting protection in @code{AC_DEFINE} and fixed many bugs,
-especially when I got sick of dealing with portability problems from
-February through June, 1993.
-
-@node Deuteronomy, , Numbers, History
-@section Deuteronomy
-
-A long wish list for major features had accumulated, and the effect of
-several years of patching by various people had left some residual
-cruft. In April 1994, while working for Cygnus Support, I began a major
-revision of Autoconf. I added most of the features of the Cygnus
-@code{configure} that Autoconf had lacked, largely by adapting the
-relevant parts of Cygnus @code{configure} with the help of david zuhn
-and Ken Raeburn. These features include support for using
-@file{config.sub}, @file{config.guess}, @samp{--host}, and
-@samp{--target}; making links to files; and running @code{configure}
-scripts in subdirectories. Adding these features enabled Ken to convert
-GNU @code{as}, and Rob Savoye to convert DejaGNU, to using Autoconf.
-
-I added more features in response to other peoples' requests. Many
-people had asked for @code{configure} scripts to share the results of
-the checks between runs, because (particularly when configuring a large
-source tree, like Cygnus does) they were frustratingly slow. Mike
-Haertel suggested adding site-specific initialization scripts. People
-distributing software that had to unpack on MS-DOS asked for a way to
-override the @file{.in} extension on the file names, which produced file
-names like @file{config.h.in} containing two dots. Jim Avera did an
-extensive examination of the problems with quoting in @code{AC_DEFINE}
-and @code{AC_SUBST}; his insights led to significant improvements.
-Richard Stallman asked that compiler output be sent to @file{config.log}
-instead of @file{/dev/null}, to help people debug the Emacs
-@code{configure} script.
-
-I made some other changes because of my dissatisfaction with the quality
-of the program. I made the messages showing results of the checks less
-ambiguous, always printing a result. I regularized the names of the
-macros and cleaned up coding style inconsistencies. I added some
-auxiliary utilities that I had developed to help convert source code
-packages to use Autoconf. With the help of
-@ifinfo
-Franc,ois
-@end ifinfo
-@tex
-Fran\c cois
-@end tex
-Pinard, I made the macros not interrupt each others' messages.
-(That feature revealed some performance bottlenecks in GNU @code{m4},
-which he hastily corrected!)
-I reorganized the documentation around problems people want to solve.
-And I began a testsuite, because experience
-had shown that Autoconf has a pronounced tendency to regress when we
-change it.
-
-Again, several alpha testers gave invaluable feedback, especially
-@ifinfo
-Franc,ois
-@end ifinfo
-@tex
-Fran\c cois
-@end tex
-Pinard, Jim Meyering, Karl Berry, Rob Savoye, Ken Raeburn, and Mark Eichin.
-
-Finally, version 2.0 was ready. And there was much rejoicing.
-(And I have free time again. I think. Yeah, right.)
-
-@node Old Macro Names, Environment Variable Index, History, Top
-@chapter Old Macro Names
-
-In version 2 of Autoconf, most of the macros were renamed to use a more
-uniform and descriptive naming scheme. Here are the old names of the
-macros that were renamed, followed by the current names of those macros.
-Although the old names are still accepted by the @code{autoconf} program
-for backward compatibility, the old names are considered obsolete.
-@xref{Macro Names}, for a description of the new naming scheme.
-
-@table @code
-@item AC_ALLOCA
-@maindex ALLOCA
-@code{AC_FUNC_ALLOCA}
-@item AC_ARG_ARRAY
-@maindex ARG_ARRAY
-removed because of limited usefulness
-@item AC_CHAR_UNSIGNED
-@maindex CHAR_UNSIGNED
-@code{AC_C_CHAR_UNSIGNED}
-@item AC_CONST
-@maindex CONST
-@code{AC_C_CONST}
-@item AC_CROSS_CHECK
-@maindex CROSS_CHECK
-@code{AC_C_CROSS}
-@item AC_ERROR
-@maindex ERROR
-@code{AC_MSG_ERROR}
-@item AC_FIND_X
-@maindex FIND_X
-@code{AC_PATH_X}
-@item AC_FIND_XTRA
-@maindex FIND_XTRA
-@code{AC_PATH_XTRA}
-@item AC_FUNC_CHECK
-@maindex FUNC_CHECK
-@code{AC_CHECK_FUNC}
-@item AC_GCC_TRADITIONAL
-@maindex GCC_TRADITIONAL
-@code{AC_PROG_GCC_TRADITIONAL}
-@item AC_GETGROUPS_T
-@maindex GETGROUPS_T
-@code{AC_TYPE_GETGROUPS}
-@item AC_GETLOADAVG
-@maindex GETLOADAVG
-@code{AC_FUNC_GETLOADAVG}
-@item AC_HAVE_FUNCS
-@maindex HAVE_FUNCS
-@code{AC_CHECK_FUNCS}
-@item AC_HAVE_HEADERS
-@maindex HAVE_HEADERS
-@code{AC_CHECK_HEADERS}
-@item AC_HAVE_POUNDBANG
-@maindex HAVE_POUNDBANG
-@code{AC_SYS_INTERPRETER} (different calling convention)
-@item AC_HEADER_CHECK
-@maindex HEADER_CHECK
-@code{AC_CHECK_HEADER}
-@item AC_HEADER_EGREP
-@maindex HEADER_EGREP
-@code{AC_EGREP_HEADER}
-@item AC_INLINE
-@maindex INLINE
-@code{AC_C_INLINE}
-@item AC_LN_S
-@maindex LN_S
-@code{AC_PROG_LN_S}
-@item AC_LONG_DOUBLE
-@maindex LONG_DOUBLE
-@code{AC_C_LONG_DOUBLE}
-@item AC_LONG_FILE_NAMES
-@maindex LONG_FILE_NAMES
-@code{AC_SYS_LONG_FILE_NAMES}
-@item AC_MAJOR_HEADER
-@maindex MAJOR_HEADER
-@code{AC_HEADER_MAJOR}
-@item AC_MINUS_C_MINUS_O
-@maindex MINUS_C_MINUS_O
-@code{AC_PROG_CC_C_O}
-@item AC_MMAP
-@maindex MMAP
-@code{AC_FUNC_MMAP}
-@item AC_MODE_T
-@maindex MODE_T
-@code{AC_TYPE_MODE_T}
-@item AC_OFF_T
-@maindex OFF_T
-@code{AC_TYPE_OFF_T}
-@item AC_PID_T
-@maindex PID_T
-@code{AC_TYPE_PID_T}
-@item AC_PREFIX
-@maindex PREFIX
-@code{AC_PREFIX_PROGRAM}
-@item AC_PROGRAMS_CHECK
-@maindex PROGRAMS_CHECK
-@code{AC_CHECK_PROGS}
-@item AC_PROGRAMS_PATH
-@maindex PROGRAMS_PATH
-@code{AC_PATH_PROGS}
-@item AC_PROGRAM_CHECK
-@maindex PROGRAM_CHECK
-@code{AC_CHECK_PROG}
-@item AC_PROGRAM_EGREP
-@maindex PROGRAM_EGREP
-@code{AC_EGREP_CPP}
-@item AC_PROGRAM_PATH
-@maindex PROGRAM_PATH
-@code{AC_PATH_PROG}
-@item AC_REMOTE_TAPE
-@maindex REMOTE_TAPE
-removed because of limited usefulness
-@item AC_RESTARTABLE_SYSCALLS
-@maindex RESTARTABLE_SYSCALLS
-@code{AC_SYS_RESTARTABLE_SYSCALLS}
-@item AC_RETSIGTYPE
-@maindex RETSIGTYPE
-@code{AC_TYPE_SIGNAL}
-@item AC_RSH
-@maindex RSH
-removed because of limited usefulness
-@item AC_SETVBUF_REVERSED
-@maindex SETVBUF_REVERSED
-@code{AC_FUNC_SETVBUF_REVERSED}
-@item AC_SET_MAKE
-@maindex SET_MAKE
-@code{AC_PROG_MAKE_SET}
-@item AC_SIZEOF_TYPE
-@maindex SIZEOF_TYPE
-@code{AC_CHECK_SIZEOF}
-@item AC_SIZE_T
-@maindex SIZE_T
-@code{AC_TYPE_SIZE_T}
-@item AC_STAT_MACROS_BROKEN
-@maindex STAT_MACROS_BROKEN
-@code{AC_HEADER_STAT}
-@item AC_STDC_HEADERS
-@maindex STDC_HEADERS
-@code{AC_HEADER_STDC}
-@item AC_STRCOLL
-@maindex STRCOLL
-@code{AC_FUNC_STRCOLL}
-@item AC_ST_BLKSIZE
-@maindex ST_BLKSIZE
-@code{AC_STRUCT_ST_BLKSIZE}
-@item AC_ST_BLOCKS
-@maindex ST_BLOCKS
-@code{AC_STRUCT_ST_BLOCKS}
-@item AC_ST_RDEV
-@maindex ST_RDEV
-@code{AC_STRUCT_ST_RDEV}
-@item AC_SYS_SIGLIST_DECLARED
-@maindex SYS_SIGLIST_DECLARED
-@code{AC_DECL_SYS_SIGLIST}
-@item AC_TEST_CPP
-@maindex TEST_CPP
-@code{AC_TRY_CPP}
-@item AC_TEST_PROGRAM
-@maindex TEST_PROGRAM
-@code{AC_TRY_RUN}
-@item AC_TIMEZONE
-@maindex TIMEZONE
-@code{AC_STRUCT_TIMEZONE}
-@item AC_TIME_WITH_SYS_TIME
-@maindex TIME_WITH_SYS_TIME
-@code{AC_HEADER_TIME}
-@item AC_UID_T
-@maindex UID_T
-@code{AC_TYPE_UID_T}
-@item AC_UTIME_NULL
-@maindex UTIME_NULL
-@code{AC_FUNC_UTIME_NULL}
-@item AC_VFORK
-@maindex VFORK
-@code{AC_FUNC_VFORK}
-@item AC_VPRINTF
-@maindex VPRINTF
-@code{AC_FUNC_VPRINTF}
-@item AC_WAIT3
-@maindex WAIT3
-@code{AC_FUNC_WAIT3}
-@item AC_WARN
-@maindex WARN
-@code{AC_MSG_WARN}
-@item AC_WORDS_BIGENDIAN
-@maindex WORDS_BIGENDIAN
-@code{AC_C_BIGENDIAN}
-@item AC_YYTEXT_POINTER
-@maindex YYTEXT_POINTER
-@code{AC_DECL_YYTEXT}
-@end table
-
-@node Environment Variable Index, Output Variable Index, Old Macro Names, Top
-@unnumbered Environment Variable Index
-
-This is an alphabetical list of the environment variables that Autoconf
-checks.
-
-@printindex ev
-
-@node Output Variable Index, Preprocessor Symbol Index, Environment Variable Index, Top
-@unnumbered Output Variable Index
-
-This is an alphabetical list of the variables that Autoconf can
-substitute into files that it creates, typically one or more
-@file{Makefile}s. @xref{Setting Output Variables}, for more information on how
-this is done.
-
-@printindex ov
-
-@node Preprocessor Symbol Index, Macro Index, Output Variable Index, Top
-@unnumbered Preprocessor Symbol Index
-
-This is an alphabetical list of the C preprocessor symbols that the
-Autoconf macros define. To work with Autoconf, C source code needs to
-use these names in @code{#if} directives.
-
-@printindex cv
-
-@node Macro Index, , Preprocessor Symbol Index, Top
-@unnumbered Macro Index
-
-This is an alphabetical list of the Autoconf macros. To make the list
-easier to use, the macros are listed without their preceding @samp{AC_}.
-
-@printindex ma
-
-@contents
-@bye
diff --git a/util/autoconf/autoheader b/util/autoconf/autoheader
deleted file mode 100755
index 54b68d9..0000000
--- a/util/autoconf/autoheader
+++ /dev/null
@@ -1,250 +0,0 @@
-#!/bin/sh
-# autoheader -- create `config.h.in' from `configure.in'
-# Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-# Written by Roland McGrath.
-
-# If given no args, create `config.h.in' from template file `configure.in'.
-# With one arg, create a header file on standard output from
-# the given template file.
-
-usage="\
-Usage: autoheader [-h] [--help] [-m dir] [--macrodir=dir]
- [-l dir] [--localdir=dir] [--version] [template-file]"
-
-# NLS nuisances.
-# Only set `LANG' and `LC_ALL' to "C" if already set.
-# These must not be set unconditionally because not all systems understand
-# e.g. LANG=C (notably SCO).
-if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
-if test "${LANG+set}" = set; then LANG=C; export LANG; fi
-
-test -z "${AC_MACRODIR}" && AC_MACRODIR=/usr/local/share/autoconf
-test -z "${M4}" && M4=/mit/gnu/rsaixbin/gm4
-case "${M4}" in
-/*) # Handle the case that m4 has moved since we were configured.
- # It may have been found originally in a build directory.
- test -f "${M4}" || M4=m4 ;;
-esac
-
-localdir=.
-show_version=no
-
-while test $# -gt 0 ; do
- case "${1}" in
- -h | --help | --h* )
- echo "${usage}"; exit 0 ;;
- --localdir=* | --l*=* )
- localdir="`echo \"${1}\" | sed -e 's/^[^=]*=//'`"
- shift ;;
- -l | --localdir | --l*)
- shift
- test $# -eq 0 && { echo "${usage}" 1>&2; exit 1; }
- localdir="${1}"
- shift ;;
- --macrodir=* | --m*=* )
- AC_MACRODIR="`echo \"${1}\" | sed -e 's/^[^=]*=//'`"
- shift ;;
- -m | --macrodir | --m* )
- shift
- test $# -eq 0 && { echo "${usage}" 1>&2; exit 1; }
- AC_MACRODIR="${1}"
- shift ;;
- --version | --v* )
- show_version=yes; shift ;;
- -- ) # Stop option processing
- shift; break ;;
- - ) # Use stdin as input.
- break ;;
- -* )
- echo "${usage}" 1>&2; exit 1 ;;
- * )
- break ;;
- esac
-done
-
-if test $show_version = yes; then
- version=`sed -n 's/define.AC_ACVERSION.[ ]*\([0-9.]*\).*/\1/p' \
- $AC_MACRODIR/acgeneral.m4`
- echo "Autoconf version $version"
- exit 0
-fi
-
-TEMPLATES="${AC_MACRODIR}/acconfig.h"
-test -r $localdir/acconfig.h && TEMPLATES="${TEMPLATES} $localdir/acconfig.h"
-
-case $# in
- 0) infile=configure.in ;;
- 1) infile=$1 ;;
- *) echo "$usage" >&2; exit 1 ;;
-esac
-
-config_h=config.h
-syms=
-types=
-funcs=
-headers=
-libs=
-
-if test "$localdir" != .; then
- use_localdir="-I$localdir -DAC_LOCALDIR=$localdir"
-else
- use_localdir=
-fi
-
-# Use the frozen version of Autoconf if available.
-r= f=
-# Some non-GNU m4's don't reject the --help option, so give them /dev/null.
-case `$M4 --help < /dev/null 2>&1` in
-*reload-state*) test -r $AC_MACRODIR/autoheader.m4f && { r=--reload f=f; } ;;
-*traditional*) ;;
-*) echo Autoconf requires GNU m4 1.1 or later >&2; exit 1 ;;
-esac
-
-# Extract assignments of SYMS, TYPES, FUNCS, HEADERS, and LIBS from the
-# modified autoconf processing of the input file. The sed hair is
-# necessary to win for multi-line macro invocations.
-eval "`$M4 -I$AC_MACRODIR $use_localdir $r autoheader.m4$f $infile |
- sed -n -e '
- : again
- /^@@@.*@@@$/s/^@@@\(.*\)@@@$/\1/p
- /^@@@/{
- s/^@@@//p
- n
- s/^/@@@/
- b again
- }'`"
-
-# Make SYMS newline-separated rather than blank-separated, and remove dups.
-# Start each symbol with a blank (to match the blank after "#undef")
-# to reduce the possibility of mistakenly matching another symbol that
-# is a substring of it.
-syms="`for sym in $syms; do echo $sym; done | sort | uniq | sed 's@^@ @'`"
-
-if test $# -eq 0; then
- tmpout=autoh$$
- trap "rm -f $tmpout; exit 1" 1 2 15
- exec > $tmpout
-fi
-
-# Support "outfile[:infile]", defaulting infile="outfile.in".
-case "$config_h" in
-*:*) config_h_in=`echo "$config_h"|sed 's%.*:%%'`
- config_h=`echo "$config_h"|sed 's%:.*%%'` ;;
-*) config_h_in="${config_h}.in" ;;
-esac
-
-# Don't write "do not edit" -- it will get copied into the
-# config.h, which it's ok to edit.
-echo "/* ${config_h_in}. Generated automatically from $infile by autoheader. */"
-
-test -r ${config_h}.top && cat ${config_h}.top
-test -r $localdir/acconfig.h &&
- grep @TOP@ $localdir/acconfig.h >/dev/null &&
- sed '/@TOP@/,$d' $localdir/acconfig.h
-
-# This puts each template paragraph on its own line, separated by @s.
-if test -n "$syms"; then
- # Make sure the boundary of template files is also the boundary
- # of the paragraph. Extra newlines don't hurt since they will
- # be removed.
- for t in $TEMPLATES; do cat $t; echo; echo; done |
- # The sed script is suboptimal because it has to take care of
- # some broken seds (e.g. AIX) that remove '\n' from the
- # pattern/hold space if the line is empty. (junio@twinsun.com).
- sed -n -e '
- /^[ ]*$/{
- x
- s/\n/@/g
- p
- s/.*/@/
- x
- }
- H' | sed -e 's/@@*/@/g' |
- # Select each paragraph that refers to a symbol we picked out above.
- fgrep "$syms" |
- tr @ \\012
-fi
-
-echo "$types" | tr , \\012 | sort | uniq | while read ctype; do
- test -z "$ctype" && continue
- # Solaris 2.3 tr rejects noncontiguous characters in character classes.
- sym="`echo "${ctype}" | tr '[a-z] *' '[A-Z]_P'`"
- echo "
-/* The number of bytes in a ${ctype}. */
-#undef SIZEOF_${sym}"
-done
-
-# /bin/sh on the Alpha gives `for' a random value if $funcs is empty.
-if test -n "$funcs"; then
- for func in `for x in $funcs; do echo $x; done | sort | uniq`; do
- sym="`echo ${func} | sed 's/[^a-zA-Z0-9_]/_/g' | tr '[a-z]' '[A-Z]'`"
- echo "
-/* Define if you have the ${func} function. */
-#undef HAVE_${sym}"
- done
-fi
-
-if test -n "$headers"; then
- for header in `for x in $headers; do echo $x; done | sort | uniq`; do
- sym="`echo ${header} | sed 's/[^a-zA-Z0-9_]/_/g' | tr '[a-z]' '[A-Z]'`"
- echo "
-/* Define if you have the <${header}> header file. */
-#undef HAVE_${sym}"
- done
-fi
-
-if test -n "$libs"; then
- for lib in `for x in $libs; do echo $x; done | sort | uniq`; do
- sym="`echo ${lib} | sed 's/[^a-zA-Z0-9_]/_/g' | tr '[a-z]' '[A-Z]'`"
- echo "
-/* Define if you have the ${lib} library (-l${lib}). */
-#undef HAVE_LIB${sym}"
- done
-fi
-
-test -r $localdir/acconfig.h &&
- grep @BOTTOM@ $localdir/acconfig.h >/dev/null &&
- sed '1,/@BOTTOM@/d' $localdir/acconfig.h
-test -f ${config_h}.bot && cat ${config_h}.bot
-
-status=0
-
-if test -n "$syms"; then
- for sym in $syms; do
- if fgrep $sym $TEMPLATES >/dev/null; then
- : # All is well.
- else
- echo "$0: Symbol \`${sym}' is not covered by $TEMPLATES" >&2
- status=1
- fi
- done
-fi
-
-if test $# -eq 0; then
- if test $status -eq 0; then
- if cmp -s $tmpout ${config_h_in}; then
- rm -f $tmpout
- else
- mv -f $tmpout ${config_h_in}
- fi
- else
- rm -f $tmpout
- fi
-fi
-
-exit $status
diff --git a/util/autoconf/autoheader.m4 b/util/autoconf/autoheader.m4
deleted file mode 100644
index 62427d9..0000000
--- a/util/autoconf/autoheader.m4
+++ /dev/null
@@ -1,84 +0,0 @@
-dnl Driver and redefinitions of some Autoconf macros for autoheader.
-dnl This file is part of Autoconf.
-dnl Copyright (C) 1994 Free Software Foundation, Inc.
-dnl
-dnl This program is free software; you can redistribute it and/or modify
-dnl it under the terms of the GNU General Public License as published by
-dnl the Free Software Foundation; either version 2, or (at your option)
-dnl any later version.
-dnl
-dnl This program is distributed in the hope that it will be useful,
-dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
-dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-dnl GNU General Public License for more details.
-dnl
-dnl You should have received a copy of the GNU General Public License
-dnl along with this program; if not, write to the Free Software
-dnl Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-dnl
-dnl Written by Roland McGrath.
-dnl
-include(acgeneral.m4)dnl
-builtin(include, acspecific.m4)dnl
-builtin(include, acoldnames.m4)dnl
-
-dnl These are alternate definitions of some macros, which produce
-dnl strings in the output marked with "@@@" so we can easily extract
-dnl the information we want. The `#' at the end of the first line of
-dnl each definition seems to be necessary to prevent m4 from eating
-dnl the newline, which makes the @@@ not always be at the beginning of
-dnl a line.
-
-define([AC_CHECK_FUNCS], [#
-@@@funcs="$funcs $1"@@@
-])
-
-define([AC_CHECK_HEADERS], [#
-@@@headers="$headers $1"@@@
-])
-
-define([AC_CHECK_HEADERS_DIRENT], [#
-@@@headers="$headers $1"@@@
-])
-
-define([AC_CHECK_LIB], [#
- ifelse([$3], , [
-@@@libs="$libs $1"@@@
-], [
-# If it was found, we do:
-$3
-# If it was not found, we do:
-$4
-])
-])
-
-define([AC_HAVE_LIBRARY], [#
-changequote(<<, >>)dnl
-define(<<AC_LIB_NAME>>, dnl
-patsubst(patsubst($1, <<lib\([^\.]*\)\.a>>, <<\1>>), <<-l>>, <<>>))dnl
-changequote([, ])dnl
- ifelse([$2], , [
-@@@libs="$libs AC_LIB_NAME"@@@
-], [
-# If it was found, we do:
-$2
-# If it was not found, we do:
-$3
-])
-])
-
-define([AC_CHECK_SIZEOF], [#
-@@@types="$types,$1"@@@
-])
-
-define([AC_CONFIG_HEADER], [#
-@@@config_h=$1@@@
-])
-
-define([AC_DEFINE], [#
-@@@syms="$syms $1"@@@
-])
-
-define([AC_DEFINE_UNQUOTED], [#
-@@@syms="$syms $1"@@@
-])
diff --git a/util/autoconf/autoheader.sh b/util/autoconf/autoheader.sh
deleted file mode 100755
index 354d4d0..0000000
--- a/util/autoconf/autoheader.sh
+++ /dev/null
@@ -1,250 +0,0 @@
-#!/bin/sh
-# autoheader -- create `config.h.in' from `configure.in'
-# Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-# Written by Roland McGrath.
-
-# If given no args, create `config.h.in' from template file `configure.in'.
-# With one arg, create a header file on standard output from
-# the given template file.
-
-usage="\
-Usage: autoheader [-h] [--help] [-m dir] [--macrodir=dir]
- [-l dir] [--localdir=dir] [--version] [template-file]"
-
-# NLS nuisances.
-# Only set `LANG' and `LC_ALL' to "C" if already set.
-# These must not be set unconditionally because not all systems understand
-# e.g. LANG=C (notably SCO).
-if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
-if test "${LANG+set}" = set; then LANG=C; export LANG; fi
-
-test -z "${AC_MACRODIR}" && AC_MACRODIR=@datadir@
-test -z "${M4}" && M4=@M4@
-case "${M4}" in
-/*) # Handle the case that m4 has moved since we were configured.
- # It may have been found originally in a build directory.
- test -f "${M4}" || M4=m4 ;;
-esac
-
-localdir=.
-show_version=no
-
-while test $# -gt 0 ; do
- case "${1}" in
- -h | --help | --h* )
- echo "${usage}"; exit 0 ;;
- --localdir=* | --l*=* )
- localdir="`echo \"${1}\" | sed -e 's/^[^=]*=//'`"
- shift ;;
- -l | --localdir | --l*)
- shift
- test $# -eq 0 && { echo "${usage}" 1>&2; exit 1; }
- localdir="${1}"
- shift ;;
- --macrodir=* | --m*=* )
- AC_MACRODIR="`echo \"${1}\" | sed -e 's/^[^=]*=//'`"
- shift ;;
- -m | --macrodir | --m* )
- shift
- test $# -eq 0 && { echo "${usage}" 1>&2; exit 1; }
- AC_MACRODIR="${1}"
- shift ;;
- --version | --v* )
- show_version=yes; shift ;;
- -- ) # Stop option processing
- shift; break ;;
- - ) # Use stdin as input.
- break ;;
- -* )
- echo "${usage}" 1>&2; exit 1 ;;
- * )
- break ;;
- esac
-done
-
-if test $show_version = yes; then
- version=`sed -n 's/define.AC_ACVERSION.[ ]*\([0-9.]*\).*/\1/p' \
- $AC_MACRODIR/acgeneral.m4`
- echo "Autoconf version $version"
- exit 0
-fi
-
-TEMPLATES="${AC_MACRODIR}/acconfig.h"
-test -r $localdir/acconfig.h && TEMPLATES="${TEMPLATES} $localdir/acconfig.h"
-
-case $# in
- 0) infile=configure.in ;;
- 1) infile=$1 ;;
- *) echo "$usage" >&2; exit 1 ;;
-esac
-
-config_h=config.h
-syms=
-types=
-funcs=
-headers=
-libs=
-
-if test "$localdir" != .; then
- use_localdir="-I$localdir -DAC_LOCALDIR=$localdir"
-else
- use_localdir=
-fi
-
-# Use the frozen version of Autoconf if available.
-r= f=
-# Some non-GNU m4's don't reject the --help option, so give them /dev/null.
-case `$M4 --help < /dev/null 2>&1` in
-*reload-state*) test -r $AC_MACRODIR/autoheader.m4f && { r=--reload f=f; } ;;
-*traditional*) ;;
-*) echo Autoconf requires GNU m4 1.1 or later >&2; exit 1 ;;
-esac
-
-# Extract assignments of SYMS, TYPES, FUNCS, HEADERS, and LIBS from the
-# modified autoconf processing of the input file. The sed hair is
-# necessary to win for multi-line macro invocations.
-eval "`$M4 -I$AC_MACRODIR $use_localdir $r autoheader.m4$f $infile |
- sed -n -e '
- : again
- /^@@@.*@@@$/s/^@@@\(.*\)@@@$/\1/p
- /^@@@/{
- s/^@@@//p
- n
- s/^/@@@/
- b again
- }'`"
-
-# Make SYMS newline-separated rather than blank-separated, and remove dups.
-# Start each symbol with a blank (to match the blank after "#undef")
-# to reduce the possibility of mistakenly matching another symbol that
-# is a substring of it.
-syms="`for sym in $syms; do echo $sym; done | sort | uniq | sed 's@^@ @'`"
-
-if test $# -eq 0; then
- tmpout=autoh$$
- trap "rm -f $tmpout; exit 1" 1 2 15
- exec > $tmpout
-fi
-
-# Support "outfile[:infile]", defaulting infile="outfile.in".
-case "$config_h" in
-*:*) config_h_in=`echo "$config_h"|sed 's%.*:%%'`
- config_h=`echo "$config_h"|sed 's%:.*%%'` ;;
-*) config_h_in="${config_h}.in" ;;
-esac
-
-# Don't write "do not edit" -- it will get copied into the
-# config.h, which it's ok to edit.
-echo "/* ${config_h_in}. Generated automatically from $infile by autoheader. */"
-
-test -r ${config_h}.top && cat ${config_h}.top
-test -r $localdir/acconfig.h &&
- grep @TOP@ $localdir/acconfig.h >/dev/null &&
- sed '/@TOP@/,$d' $localdir/acconfig.h
-
-# This puts each template paragraph on its own line, separated by @s.
-if test -n "$syms"; then
- # Make sure the boundary of template files is also the boundary
- # of the paragraph. Extra newlines don't hurt since they will
- # be removed.
- for t in $TEMPLATES; do cat $t; echo; echo; done |
- # The sed script is suboptimal because it has to take care of
- # some broken seds (e.g. AIX) that remove '\n' from the
- # pattern/hold space if the line is empty. (junio@twinsun.com).
- sed -n -e '
- /^[ ]*$/{
- x
- s/\n/@/g
- p
- s/.*/@/
- x
- }
- H' | sed -e 's/@@*/@/g' |
- # Select each paragraph that refers to a symbol we picked out above.
- fgrep "$syms" |
- tr @ \\012
-fi
-
-echo "$types" | tr , \\012 | sort | uniq | while read ctype; do
- test -z "$ctype" && continue
- # Solaris 2.3 tr rejects noncontiguous characters in character classes.
- sym="`echo "${ctype}" | tr '[a-z] *' '[A-Z]_P'`"
- echo "
-/* The number of bytes in a ${ctype}. */
-#undef SIZEOF_${sym}"
-done
-
-# /bin/sh on the Alpha gives `for' a random value if $funcs is empty.
-if test -n "$funcs"; then
- for func in `for x in $funcs; do echo $x; done | sort | uniq`; do
- sym="`echo ${func} | sed 's/[^a-zA-Z0-9_]/_/g' | tr '[a-z]' '[A-Z]'`"
- echo "
-/* Define if you have the ${func} function. */
-#undef HAVE_${sym}"
- done
-fi
-
-if test -n "$headers"; then
- for header in `for x in $headers; do echo $x; done | sort | uniq`; do
- sym="`echo ${header} | sed 's/[^a-zA-Z0-9_]/_/g' | tr '[a-z]' '[A-Z]'`"
- echo "
-/* Define if you have the <${header}> header file. */
-#undef HAVE_${sym}"
- done
-fi
-
-if test -n "$libs"; then
- for lib in `for x in $libs; do echo $x; done | sort | uniq`; do
- sym="`echo ${lib} | sed 's/[^a-zA-Z0-9_]/_/g' | tr '[a-z]' '[A-Z]'`"
- echo "
-/* Define if you have the ${lib} library (-l${lib}). */
-#undef HAVE_LIB${sym}"
- done
-fi
-
-test -r $localdir/acconfig.h &&
- grep @BOTTOM@ $localdir/acconfig.h >/dev/null &&
- sed '1,/@BOTTOM@/d' $localdir/acconfig.h
-test -f ${config_h}.bot && cat ${config_h}.bot
-
-status=0
-
-if test -n "$syms"; then
- for sym in $syms; do
- if fgrep $sym $TEMPLATES >/dev/null; then
- : # All is well.
- else
- echo "$0: Symbol \`${sym}' is not covered by $TEMPLATES" >&2
- status=1
- fi
- done
-fi
-
-if test $# -eq 0; then
- if test $status -eq 0; then
- if cmp -s $tmpout ${config_h_in}; then
- rm -f $tmpout
- else
- mv -f $tmpout ${config_h_in}
- fi
- else
- rm -f $tmpout
- fi
-fi
-
-exit $status
diff --git a/util/autoconf/autoreconf b/util/autoconf/autoreconf
deleted file mode 100755
index bc2d61b..0000000
--- a/util/autoconf/autoreconf
+++ /dev/null
@@ -1,127 +0,0 @@
-#!/bin/sh
-# autoreconf - remake all Autoconf configure scripts in a directory tree
-# Copyright (C) 1994 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-usage="\
-Usage: autoreconf [-h] [--help] [-m dir] [--macrodir=dir]
- [-l dir] [--localdir=dir] [--verbose] [--version]"
-
-localdir=
-verbose=no
-show_version=no
-
-test -z "$AC_MACRODIR" && AC_MACRODIR=/usr/local/share/autoconf
-
-while test $# -gt 0; do
- case "$1" in
- -h | --help | --h*)
- echo "$usage"; exit 0 ;;
- --localdir=* | --l*=* )
- localdir="`echo \"${1}\" | sed -e 's/^[^=]*=//'`"
- shift ;;
- -l | --localdir | --l*)
- shift
- test $# -eq 0 && { echo "${usage}" 1>&2; exit 1; }
- localdir="${1}"
- shift ;;
- --macrodir=* | --m*=* )
- AC_MACRODIR="`echo \"$1\" | sed -e 's/^[^=]*=//'`"
- shift ;;
- -m | --macrodir | --m*)
- shift
- test $# -eq 0 && { echo "$usage" 1>&2; exit 1; }
- AC_MACRODIR="$1"
- shift ;;
- --verbose | --verb*)
- verbose=yes; shift ;;
- --version | --vers*)
- show_version=yes; shift ;;
- --) # Stop option processing.
- shift; break ;;
- -*) echo "$usage" 1>&2; exit 1 ;;
- *) break ;;
- esac
-done
-
-if test $show_version = yes; then
- version=`sed -n 's/define.AC_ACVERSION.[ ]*\([0-9.]*\).*/\1/p' \
- $AC_MACRODIR/acgeneral.m4`
- echo "Autoconf version $version"
- exit 0
-fi
-
-if test $# -ne 0; then
- echo "$usage" 1>&2; exit 1
-fi
-
-top_autoconf=`echo $0|sed s%autoreconf%autoconf%`
-top_autoheader=`echo $0|sed s%autoreconf%autoheader%`
-
-# The xargs grep filters out Cygnus configure.in files.
-find . -name configure.in -print |
-xargs grep -l AC_OUTPUT |
-sed 's%/configure\.in$%%; s%^./%%' |
-while read dir; do
- (
- cd $dir || continue
-
- case "$dir" in
- .) dots= ;;
- *) # A "../" for each directory in /$dir.
- dots=`echo /$dir|sed 's%/[^/]*%../%g'` ;;
- esac
-
- case "$0" in
- /*) autoconf=$top_autoconf; autoheader=$top_autoheader ;;
- */*) autoconf=$dots$top_autoconf; autoheader=$dots$top_autoheader ;;
- *) autoconf=$top_autoconf; autoheader=$top_autoheader ;;
- esac
-
- case "$AC_MACRODIR" in
- /*) macrodir_opt="--macrodir=$AC_MACRODIR" ;;
- *) macrodir_opt="--macrodir=$dots$AC_MACRODIR" ;;
- esac
-
- case "$localdir" in
- "") localdir_opt= ;;
- /*) localdir_opt="--localdir=$localdir" ;;
- *) localdir_opt="--localdir=$dots$localdir" ;;
- esac
-
- test $verbose = yes && echo running autoconf in $dir
- $autoconf $macrodir_opt $localdir_opt
-
- if grep AC_CONFIG_HEADER configure.in >/dev/null; then
- template=`sed -n '/AC_CONFIG_HEADER/{
-s%[^#]*AC_CONFIG_HEADER(\([^)]*\).*%\1%
-t here
-: here
-s%.*:%%
-t colon
-s%$%.in%
-: colon
-p
-q
-}' configure.in`
- if test ! -f $template || grep autoheader $template >/dev/null; then
- test $verbose = yes && echo running autoheader in $dir
- $autoheader $macrodir_opt $localdir_opt
- fi
- fi
- )
-done
-
diff --git a/util/autoconf/autoreconf.sh b/util/autoconf/autoreconf.sh
deleted file mode 100644
index 4b83f80..0000000
--- a/util/autoconf/autoreconf.sh
+++ /dev/null
@@ -1,149 +0,0 @@
-#!/bin/sh
-# autoreconf - remake all Autoconf configure scripts in a directory tree
-# Copyright (C) 1994 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-usage="\
-Usage: autoreconf [-f] [-h] [--help] [-m dir] [--macrodir=dir]
- [-l dir] [--localdir=dir] [--force] [--verbose] [--version]"
-
-localdir=
-verbose=no
-show_version=no
-force=no
-
-test -z "$AC_MACRODIR" && AC_MACRODIR=@datadir@
-
-while test $# -gt 0; do
- case "$1" in
- -h | --help | --h*)
- echo "$usage"; exit 0 ;;
- --localdir=* | --l*=* )
- localdir="`echo \"${1}\" | sed -e 's/^[^=]*=//'`"
- shift ;;
- -l | --localdir | --l*)
- shift
- test $# -eq 0 && { echo "${usage}" 1>&2; exit 1; }
- localdir="${1}"
- shift ;;
- --macrodir=* | --m*=* )
- AC_MACRODIR="`echo \"$1\" | sed -e 's/^[^=]*=//'`"
- shift ;;
- -m | --macrodir | --m*)
- shift
- test $# -eq 0 && { echo "$usage" 1>&2; exit 1; }
- AC_MACRODIR="$1"
- shift ;;
- --verbose | --verb*)
- verbose=yes; shift ;;
- -f | --force)
- force=yes; shift ;;
- --version | --vers*)
- show_version=yes; shift ;;
- --) # Stop option processing.
- shift; break ;;
- -*) echo "$usage" 1>&2; exit 1 ;;
- *) break ;;
- esac
-done
-
-if test $show_version = yes; then
- version=`sed -n 's/define.AC_ACVERSION.[ ]*\([0-9.]*\).*/\1/p' \
- $AC_MACRODIR/acgeneral.m4`
- echo "Autoconf version $version"
- exit 0
-fi
-
-if test $# -ne 0; then
- echo "$usage" 1>&2; exit 1
-fi
-
-top_autoconf=`echo $0|sed s%autoreconf%autoconf%`
-top_autoheader=`echo $0|sed s%autoreconf%autoheader%`
-
-# The xargs grep filters out Cygnus configure.in files.
-find . -name configure.in -print |
-xargs grep -l AC_OUTPUT |
-sed 's%/configure\.in$%%; s%^./%%' |
-while read dir; do
- (
- cd $dir || continue
-
- case "$dir" in
- .) dots= ;;
- *) # A "../" for each directory in /$dir.
- dots=`echo /$dir|sed 's%/[^/]*%../%g'` ;;
- esac
-
- case "$0" in
- /*) autoconf=$top_autoconf; autoheader=$top_autoheader ;;
- */*) autoconf=$dots$top_autoconf; autoheader=$dots$top_autoheader ;;
- *) autoconf=$top_autoconf; autoheader=$top_autoheader ;;
- esac
-
- case "$AC_MACRODIR" in
- /*) macrodir_opt="--macrodir=$AC_MACRODIR" ;;
- *) macrodir_opt="--macrodir=$dots$AC_MACRODIR" ;;
- esac
-
- case "$localdir" in
- "") localdir_opt=
- aclocal=aclocal.m4 ;;
- /*) localdir_opt="--localdir=$localdir"
- aclocal=$localdir/aclocal.m4 ;;
- *) localdir_opt="--localdir=$dots$localdir"
- aclocal=$dots$localdir/aclocal.m4 ;;
- esac
-
- test ! -f $aclocal && aclocal=
-
- if test $force = no && test -f configure &&
- ls -lt configure configure.in $aclocal | sed 1q |
- grep 'configure$' > /dev/null
- then
- :
- else
- test $verbose = yes && echo running autoconf in $dir
- $autoconf $macrodir_opt $localdir_opt
- fi
-
- if grep AC_CONFIG_HEADER configure.in >/dev/null; then
- template=`sed -n '/AC_CONFIG_HEADER/{
-s%[^#]*AC_CONFIG_HEADER(\([^)]*\).*%\1%
-t here
-: here
-s%.*:%%
-t colon
-s%$%.in%
-: colon
-p
-q
-}' configure.in`
- if test ! -f $template || grep autoheader $template >/dev/null; then
- if test $force = no && test -f $template &&
- ls -lt $template configure.in $aclocal | sed 1q |
- grep "$template$" > /dev/null
- then
- :
- else
- test $verbose = yes && echo running autoheader in $dir
- $autoheader $macrodir_opt $localdir_opt
- fi
- fi
- fi
- )
-done
-
diff --git a/util/autoconf/autoscan b/util/autoconf/autoscan
deleted file mode 100755
index 74debe5..0000000
--- a/util/autoconf/autoscan
+++ /dev/null
@@ -1,393 +0,0 @@
-#!/usr/athena/bin/perl
-# autoscan - Create configure.scan (a preliminary configure.in) for a package.
-# Copyright (C) 1994 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-# Written by David MacKenzie <djm@gnu.ai.mit.edu>.
-
-require "find.pl";
-
-$datadir = $ENV{"AC_MACRODIR"} || "/usr/local/share/autoconf";
-$verbose = 0;
-# Reference these variables to pacify perl -w.
-undef %identifiers_macros;
-undef %makevars_macros;
-undef %programs_macros;
-
-&parse_args;
-&init_tables;
-&find('.');
-&scan_files;
-&output;
-
-exit 0;
-
-# Process any command line arguments.
-sub parse_args
-{
- local ($usage) =
- "Usage: autoscan [--macrodir=dir] [--help] [--verbose] [--version] [srcdir]\n";
-
- foreach $_ (@ARGV) {
- if (/^--m[a-z]*=(.*)/) {
- $datadir = $1;
- } elsif (/^--h/) {
- print "$usage";
- exit 0;
- } elsif (/^--verb/) {
- $verbose = 1;
- } elsif (/^--vers/) {
- &version;
- } elsif (/^[^-]/) {
- die "$usage" if defined($srcdir);
- # Top level directory of the package being autoscanned.
- $srcdir = $_;
- } else {
- die "$usage";
- }
- }
-
- $srcdir="." if !defined($srcdir);
-
- print "srcdir=$srcdir\n" if $verbose;
- chdir $srcdir || die "$0: cannot cd to $srcdir: $!\n";
-
- open(CONF, ">configure.scan") ||
- die "$0: cannot create configure.scan: $!\n";
-}
-
-# Print the version number and exit.
-sub version
-{
- open(ACG, "<$datadir/acgeneral.m4") ||
- die "$0: cannot open $datadir/acgeneral.m4: $!\n";
- while (<ACG>) {
- if (/define.AC_ACVERSION.\s*([0-9.]+)/) {
- print "Autoconf version $1\n";
- exit 0;
- }
- }
- die "Autoconf version unknown\n";
-}
-
-# Put values in the tables of what to do with each token.
-sub init_tables
-{
- local($kind, $word, $macro);
-
- # Initialize a table of C keywords (to ignore).
- # Taken from K&R 1st edition p. 180.
- # ANSI C, GNU C, and C++ keywords can introduce portability problems,
- # so don't ignore them.
- foreach $word ('int', 'char', 'float', 'double', 'struct', 'union',
- 'long', 'short', 'unsigned', 'auto', 'extern', 'register',
- 'typedef', 'static', 'goto', 'return', 'sizeof', 'break',
- 'continue', 'if', 'else', 'for', 'do', 'while', 'switch',
- 'case', 'default') {
- $c_keywords{$word} = 0;
- }
-
- # The data file format supports only one line of macros per function.
- # If more than that is required for a common portability problem,
- # a new Autoconf macro should probably be written for that case,
- # instead of duplicating the code in lots of configure.in files.
-
- foreach $kind ('functions', 'headers', 'identifiers', 'programs',
- 'makevars') {
- open(TABLE, "<$datadir/ac$kind") ||
- die "$0: cannot open $datadir/ac$kind: $!\n";
- while (<TABLE>) {
- next if /^\s*$/ || /^\s*#/; # Ignore blank lines and comments.
- ($word, $macro) = split;
- eval "\$$kind" . "_macros{\$word} = \$macro";
- }
- close(TABLE);
- }
-}
-
-# Collect names of various kinds of files in the package.
-# Called by &find on each file.
-sub wanted
-{
- if (/^.*\.[chlymC]$/ || /^.*\.cc$/) {
- $name =~ s?^\./??; push(@cfiles, $name);
- }
- elsif (/^[Mm]akefile$/ || /^[Mm]akefile\.in$/ || /^GNUmakefile$/) {
- $name =~ s?^\./??; push(@makefiles, $name);
- }
- elsif (/^.*\.sh$/) {
- $name =~ s?^\./??; push(@shfiles, $name);
- }
-}
-
-# Read through the files and collect lists of tokens in them
-# that might create nonportabilities.
-sub scan_files
-{
- $initfile = $cfiles[0]; # Pick one at random.
-
- if ($verbose) {
- print "cfiles:", join(" ", @cfiles), "\n";
- print "makefiles:", join(" ", @makefiles), "\n";
- print "shfiles:", join(" ", @shfiles), "\n";
- }
-
- foreach $file (@cfiles) {
- &scan_c_file($file);
- }
-
- foreach $file (@makefiles) {
- &scan_makefile($file);
- }
-
- foreach $file (@shfiles) {
- &scan_sh_file($file);
- }
-}
-
-sub scan_c_file
-{
- local($file) = @_;
- local($in_comment) = 0; # Nonzero if in a multiline comment.
-
- open(CFILE, "<$file") || die "$0: cannot open $file: $!\n";
- while (<CFILE>) {
- # Strip out comments, approximately.
- # Ending on this line.
- if ($in_comment && m,\*/,) {
- s,.*\*/,,;
- $in_comment = 0;
- }
- # All on one line.
- s,/\*.*\*/,,g;
- # Starting on this line.
- if (m,/\*,) {
- $in_comment = 1;
- }
- # Continuing on this line.
- next if $in_comment;
-
- # Preprocessor directives.
- if (/^\s*#\s*include\s*<([^>]*)>/) {
- $headers{$1}++;
- }
- # Ignore other preprocessor directives.
- next if /^\s*#/;
-
- # Remove string and character constants.
- s,\"[^\"]*\",,g;
- s,\'[^\']*\',,g;
-
- # Tokens in the code.
- # Maybe we should ignore function definitions (in column 0)?
- while (s/\W([a-zA-Z_]\w*)\s*\(/ /) {
- $functions{$1}++ if !defined($c_keywords{$1});
- }
- while (s/\W([a-zA-Z_]\w*)\W/ /) {
- $identifiers{$1}++ if !defined($c_keywords{$1});
- }
- }
- close(CFILE);
-
- if ($verbose) {
- local($word);
-
- print "\n$file functions:\n";
- foreach $word (sort keys %functions) {
- print "$word $functions{$word}\n";
- }
-
- print "\n$file identifiers:\n";
- foreach $word (sort keys %identifiers) {
- print "$word $identifiers{$word}\n";
- }
-
- print "\n$file headers:\n";
- foreach $word (sort keys %headers) {
- print "$word $headers{$word}\n";
- }
- }
-}
-
-sub scan_makefile
-{
- local($file) = @_;
-
- open(MFILE, "<$file") || die "$0: cannot open $file: $!\n";
- while (<MFILE>) {
- # Strip out comments and variable references.
- s/#.*//;
- s/\$\([^\)]*\)//g;
- s/\${[^\}]*}//g;
- s/@[^@]*@//g;
-
- # Variable assignments.
- while (s/\W([a-zA-Z_]\w*)\s*=/ /) {
- $makevars{$1}++;
- }
- # Libraries.
- while (s/\W-l([a-zA-Z_]\w*)\W/ /) {
- $libraries{$1}++;
- }
- # Tokens in the code.
- while (s/\W([a-zA-Z_]\w*)\W/ /) {
- $programs{$1}++;
- }
- }
- close(MFILE);
-
- if ($verbose) {
- local($word);
-
- print "\n$file makevars:\n";
- foreach $word (sort keys %makevars) {
- print "$word $makevars{$word}\n";
- }
-
- print "\n$file libraries:\n";
- foreach $word (sort keys %libraries) {
- print "$word $libraries{$word}\n";
- }
-
- print "\n$file programs:\n";
- foreach $word (sort keys %programs) {
- print "$word $programs{$word}\n";
- }
- }
-}
-
-sub scan_sh_file
-{
- local($file) = @_;
-
- open(MFILE, "<$file") || die "$0: cannot open $file: $!\n";
- while (<MFILE>) {
- # Strip out comments and variable references.
- s/#.*//;
- s/\${[^\}]*}//g;
- s/@[^@]*@//g;
-
- # Tokens in the code.
- while (s/\W([a-zA-Z_]\w*)\W/ /) {
- $programs{$1}++;
- }
- }
- close(MFILE);
-
- if ($verbose) {
- local($word);
-
- print "\n$file programs:\n";
- foreach $word (sort keys %programs) {
- print "$word $programs{$word}\n";
- }
- }
-}
-
-# Print a configure.in.
-sub output
-{
- local (%unique_makefiles);
-
- print CONF "dnl Process this file with autoconf to produce a configure script.\n";
- print CONF "AC_INIT($initfile)\n";
-
- &output_programs;
- &output_headers;
- &output_identifiers;
- &output_functions;
-
- # Change DIR/Makefile.in to DIR/Makefile.
- foreach $_ (@makefiles) {
- s/\.in$//;
- $unique_makefiles{$_}++;
- }
- print CONF "\nAC_OUTPUT(", join(" ", keys(%unique_makefiles)), ")\n";
-
- close CONF;
-}
-
-# Print Autoconf macro $1 if it's not undef and hasn't been printed already.
-sub print_unique
-{
- local($macro) = @_;
-
- if (defined($macro) && !defined($printed{$macro})) {
- print CONF "$macro\n";
- $printed{$macro} = 1;
- }
-}
-
-sub output_programs
-{
- local ($word);
-
- print CONF "\ndnl Checks for programs.\n";
- foreach $word (sort keys %programs) {
- &print_unique($programs_macros{$word});
- }
- foreach $word (sort keys %makevars) {
- &print_unique($makevars_macros{$word});
- }
- print CONF "\ndnl Checks for libraries.\n";
- foreach $word (sort keys %libraries) {
- print CONF "AC_HAVE_LIBRARY($word)\n";
- }
-}
-
-sub output_headers
-{
- local ($word);
-
- print CONF "\ndnl Checks for header files.\n";
- foreach $word (sort keys %headers) {
- if (defined($headers_macros{$word}) &&
- $headers_macros{$word} eq 'AC_CHECK_HEADERS') {
- push(@have_headers, $word);
- } else {
- &print_unique($headers_macros{$word});
- }
- }
- print CONF "AC_CHECK_HEADERS(" . join(' ', sort(@have_headers)) . ")\n"
- if defined(@have_headers);
-}
-
-sub output_identifiers
-{
- local ($word);
-
- print CONF "\ndnl Checks for typedefs, structures, and compiler characteristics.\n";
- foreach $word (sort keys %identifiers) {
- &print_unique($identifiers_macros{$word});
- }
-}
-
-sub output_functions
-{
- local ($word);
-
- print CONF "\ndnl Checks for library functions.\n";
- foreach $word (sort keys %functions) {
- if (defined($functions_macros{$word}) &&
- $functions_macros{$word} eq 'AC_CHECK_FUNCS') {
- push(@have_funcs, $word);
- } else {
- &print_unique($functions_macros{$word});
- }
- }
- print CONF "AC_CHECK_FUNCS(" . join(' ', sort(@have_funcs)) . ")\n"
- if defined(@have_funcs);
-}
diff --git a/util/autoconf/autoscan.pl b/util/autoconf/autoscan.pl
deleted file mode 100644
index 9f26bfb..0000000
--- a/util/autoconf/autoscan.pl
+++ /dev/null
@@ -1,394 +0,0 @@
-#!@PERL@
-# autoscan - Create configure.scan (a preliminary configure.in) for a package.
-# Copyright (C) 1994 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-# Written by David MacKenzie <djm@gnu.ai.mit.edu>.
-
-require "find.pl";
-
-$datadir = $ENV{"AC_MACRODIR"} || "@datadir@";
-$verbose = 0;
-# Reference these variables to pacify perl -w.
-undef %identifiers_macros;
-undef %makevars_macros;
-undef %programs_macros;
-
-&parse_args;
-&init_tables;
-&find('.');
-&scan_files;
-&output;
-
-exit 0;
-
-# Process any command line arguments.
-sub parse_args
-{
- local ($usage) =
- "Usage: autoscan [--macrodir=dir] [--help] [--verbose] [--version] [srcdir]\n";
-
- foreach $_ (@ARGV) {
- if (/^--m[a-z]*=(.*)/) {
- $datadir = $1;
- } elsif (/^--h/) {
- print "$usage";
- exit 0;
- } elsif (/^--verb/) {
- $verbose = 1;
- } elsif (/^--vers/) {
- &version;
- } elsif (/^[^-]/) {
- die "$usage" if defined($srcdir);
- # Top level directory of the package being autoscanned.
- $srcdir = $_;
- } else {
- die "$usage";
- }
- }
-
- $srcdir="." if !defined($srcdir);
-
- print "srcdir=$srcdir\n" if $verbose;
- chdir $srcdir || die "$0: cannot cd to $srcdir: $!\n";
-
- open(CONF, ">configure.scan") ||
- die "$0: cannot create configure.scan: $!\n";
-}
-
-# Print the version number and exit.
-sub version
-{
- open(ACG, "<$datadir/acgeneral.m4") ||
- die "$0: cannot open $datadir/acgeneral.m4: $!\n";
- while (<ACG>) {
- if (/define.AC_ACVERSION.\s*([0-9.]+)/) {
- print "Autoconf version $1\n";
- exit 0;
- }
- }
- die "Autoconf version unknown\n";
-}
-
-# Put values in the tables of what to do with each token.
-sub init_tables
-{
- local($kind, $word, $macro);
-
- # Initialize a table of C keywords (to ignore).
- # Taken from K&R 1st edition p. 180.
- # ANSI C, GNU C, and C++ keywords can introduce portability problems,
- # so don't ignore them.
- foreach $word ('int', 'char', 'float', 'double', 'struct', 'union',
- 'long', 'short', 'unsigned', 'auto', 'extern', 'register',
- 'typedef', 'static', 'goto', 'return', 'sizeof', 'break',
- 'continue', 'if', 'else', 'for', 'do', 'while', 'switch',
- 'case', 'default') {
- $c_keywords{$word} = 0;
- }
-
- # The data file format supports only one line of macros per function.
- # If more than that is required for a common portability problem,
- # a new Autoconf macro should probably be written for that case,
- # instead of duplicating the code in lots of configure.in files.
-
- foreach $kind ('functions', 'headers', 'identifiers', 'programs',
- 'makevars') {
- open(TABLE, "<$datadir/ac$kind") ||
- die "$0: cannot open $datadir/ac$kind: $!\n";
- while (<TABLE>) {
- next if /^\s*$/ || /^\s*#/; # Ignore blank lines and comments.
- ($word, $macro) = split;
- eval "\$$kind" . "_macros{\$word} = \$macro";
- }
- close(TABLE);
- }
-}
-
-# Collect names of various kinds of files in the package.
-# Called by &find on each file.
-sub wanted
-{
- if (/^.*\.[chlymC]$/ || /^.*\.cc$/) {
- $name =~ s?^\./??; push(@cfiles, $name);
- }
- elsif (/^[Mm]akefile$/ || /^[Mm]akefile\.in$/ || /^GNUmakefile$/) {
- $name =~ s?^\./??; push(@makefiles, $name);
- }
- elsif (/^.*\.sh$/) {
- $name =~ s?^\./??; push(@shfiles, $name);
- }
-}
-
-# Read through the files and collect lists of tokens in them
-# that might create nonportabilities.
-sub scan_files
-{
- $initfile = $cfiles[0]; # Pick one at random.
-
- if ($verbose) {
- print "cfiles:", join(" ", @cfiles), "\n";
- print "makefiles:", join(" ", @makefiles), "\n";
- print "shfiles:", join(" ", @shfiles), "\n";
- }
-
- foreach $file (@cfiles) {
- &scan_c_file($file);
- }
-
- foreach $file (@makefiles) {
- &scan_makefile($file);
- }
-
- foreach $file (@shfiles) {
- &scan_sh_file($file);
- }
-}
-
-sub scan_c_file
-{
- local($file) = @_;
- local($in_comment) = 0; # Nonzero if in a multiline comment.
-
- open(CFILE, "<$file") || die "$0: cannot open $file: $!\n";
- while (<CFILE>) {
- # Strip out comments, approximately.
- # Ending on this line.
- if ($in_comment && m,\*/,) {
- s,.*\*/,,;
- $in_comment = 0;
- }
- # All on one line.
- s,/\*.*\*/,,g;
- # Starting on this line.
- if (m,/\*,) {
- $in_comment = 1;
- }
- # Continuing on this line.
- next if $in_comment;
-
- # Preprocessor directives.
- if (/^\s*#\s*include\s*<([^>]*)>/) {
- $headers{$1}++;
- }
- # Ignore other preprocessor directives.
- next if /^\s*#/;
-
- # Remove string and character constants.
- s,\"[^\"]*\",,g;
- s,\'[^\']*\',,g;
-
- # Tokens in the code.
- # Maybe we should ignore function definitions (in column 0)?
- while (s/\W([a-zA-Z_]\w*)\s*\(/ /) {
- $functions{$1}++ if !defined($c_keywords{$1});
- }
- while (s/\W([a-zA-Z_]\w*)\W/ /) {
- $identifiers{$1}++ if !defined($c_keywords{$1});
- }
- }
- close(CFILE);
-
- if ($verbose) {
- local($word);
-
- print "\n$file functions:\n";
- foreach $word (sort keys %functions) {
- print "$word $functions{$word}\n";
- }
-
- print "\n$file identifiers:\n";
- foreach $word (sort keys %identifiers) {
- print "$word $identifiers{$word}\n";
- }
-
- print "\n$file headers:\n";
- foreach $word (sort keys %headers) {
- print "$word $headers{$word}\n";
- }
- }
-}
-
-sub scan_makefile
-{
- local($file) = @_;
-
- open(MFILE, "<$file") || die "$0: cannot open $file: $!\n";
- while (<MFILE>) {
- # Strip out comments and variable references.
- s/#.*//;
- s/\$\([^\)]*\)//g;
- s/\${[^\}]*}//g;
- s/@[^@]*@//g;
-
- # Variable assignments.
- while (s/\W([a-zA-Z_]\w*)\s*=/ /) {
- $makevars{$1}++;
- }
- # Libraries.
- while (s/\W-l([a-zA-Z_]\w*)\W/ /) {
- $libraries{$1}++;
- }
- # Tokens in the code.
- while (s/\W([a-zA-Z_]\w*)\W/ /) {
- $programs{$1}++;
- }
- }
- close(MFILE);
-
- if ($verbose) {
- local($word);
-
- print "\n$file makevars:\n";
- foreach $word (sort keys %makevars) {
- print "$word $makevars{$word}\n";
- }
-
- print "\n$file libraries:\n";
- foreach $word (sort keys %libraries) {
- print "$word $libraries{$word}\n";
- }
-
- print "\n$file programs:\n";
- foreach $word (sort keys %programs) {
- print "$word $programs{$word}\n";
- }
- }
-}
-
-sub scan_sh_file
-{
- local($file) = @_;
-
- open(MFILE, "<$file") || die "$0: cannot open $file: $!\n";
- while (<MFILE>) {
- # Strip out comments and variable references.
- s/#.*//;
- s/\${[^\}]*}//g;
- s/@[^@]*@//g;
-
- # Tokens in the code.
- while (s/\W([a-zA-Z_]\w*)\W/ /) {
- $programs{$1}++;
- }
- }
- close(MFILE);
-
- if ($verbose) {
- local($word);
-
- print "\n$file programs:\n";
- foreach $word (sort keys %programs) {
- print "$word $programs{$word}\n";
- }
- }
-}
-
-# Print a configure.in.
-sub output
-{
- local (%unique_makefiles);
-
- print CONF "dnl Process this file with autoconf to produce a configure script.\n";
- print CONF "AC_INIT($initfile)\n";
-
- &output_programs;
- &output_headers;
- &output_identifiers;
- &output_functions;
-
- # Change DIR/Makefile.in to DIR/Makefile.
- foreach $_ (@makefiles) {
- s/\.in$//;
- $unique_makefiles{$_}++;
- }
- print CONF "\nAC_OUTPUT(", join(" ", keys(%unique_makefiles)), ")\n";
-
- close CONF;
-}
-
-# Print Autoconf macro $1 if it's not undef and hasn't been printed already.
-sub print_unique
-{
- local($macro) = @_;
-
- if (defined($macro) && !defined($printed{$macro})) {
- print CONF "$macro\n";
- $printed{$macro} = 1;
- }
-}
-
-sub output_programs
-{
- local ($word);
-
- print CONF "\ndnl Checks for programs.\n";
- foreach $word (sort keys %programs) {
- &print_unique($programs_macros{$word});
- }
- foreach $word (sort keys %makevars) {
- &print_unique($makevars_macros{$word});
- }
- print CONF "\ndnl Checks for libraries.\n";
- foreach $word (sort keys %libraries) {
- print CONF "dnl Replace `\main\' with a function in -l$word:\n";
- print CONF "AC_CHECK_LIB($word, main)\n";
- }
-}
-
-sub output_headers
-{
- local ($word);
-
- print CONF "\ndnl Checks for header files.\n";
- foreach $word (sort keys %headers) {
- if (defined($headers_macros{$word}) &&
- $headers_macros{$word} eq 'AC_CHECK_HEADERS') {
- push(@have_headers, $word);
- } else {
- &print_unique($headers_macros{$word});
- }
- }
- print CONF "AC_CHECK_HEADERS(" . join(' ', sort(@have_headers)) . ")\n"
- if defined(@have_headers);
-}
-
-sub output_identifiers
-{
- local ($word);
-
- print CONF "\ndnl Checks for typedefs, structures, and compiler characteristics.\n";
- foreach $word (sort keys %identifiers) {
- &print_unique($identifiers_macros{$word});
- }
-}
-
-sub output_functions
-{
- local ($word);
-
- print CONF "\ndnl Checks for library functions.\n";
- foreach $word (sort keys %functions) {
- if (defined($functions_macros{$word}) &&
- $functions_macros{$word} eq 'AC_CHECK_FUNCS') {
- push(@have_funcs, $word);
- } else {
- &print_unique($functions_macros{$word});
- }
- }
- print CONF "AC_CHECK_FUNCS(" . join(' ', sort(@have_funcs)) . ")\n"
- if defined(@have_funcs);
-}
diff --git a/util/autoconf/autoupdate b/util/autoconf/autoupdate
deleted file mode 100755
index b69f61b..0000000
--- a/util/autoconf/autoupdate
+++ /dev/null
@@ -1,112 +0,0 @@
-#!/bin/sh
-# autoupdate - modernize a configure.in
-# Copyright (C) 1994 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-# If given no args, update `configure.in';
-# With one arg, write on the standard output from the given template file.
-#
-# Written by David MacKenzie <djm@gnu.ai.mit.edu>
-
-usage="\
-Usage: autoupdate [-h] [--help] [-m dir] [--macrodir=dir]
- [--version] [template-file]"
-
-sedtmp=/tmp/acups.$$
-# For debugging.
-#sedtmp=/tmp/acups
-show_version=no
-test -z "${AC_MACRODIR}" && AC_MACRODIR=/usr/local/share/autoconf
-
-while test $# -gt 0 ; do
- case "${1}" in
- -h | --help | --h* )
- echo "${usage}" 1>&2; exit 0 ;;
- --macrodir=* | --m*=* )
- AC_MACRODIR="`echo \"${1}\" | sed -e 's/^[^=]*=//'`"
- shift ;;
- -m | --macrodir | --m* )
- shift
- test $# -eq 0 && { echo "${usage}" 1>&2; exit 1; }
- AC_MACRODIR="${1}"
- shift ;;
- --version | --versio | --versi | --vers)
- show_version=yes; shift ;;
- -- ) # Stop option processing
- shift; break ;;
- - ) # Use stdin as input.
- break ;;
- -* )
- echo "${usage}" 1>&2; exit 1 ;;
- * )
- break ;;
- esac
-done
-
-if test $show_version = yes; then
- version=`sed -n 's/define.AC_ACVERSION.[ ]*\([0-9.]*\).*/\1/p' \
- $AC_MACRODIR/acgeneral.m4`
- echo "Autoconf version $version"
- exit 0
-fi
-
-: ${SIMPLE_BACKUP_SUFFIX='~'}
-
-tmpout=acupo.$$
-trap 'rm -f $sedtmp $tmpout; exit 1' 1 2 15
-case $# in
- 0) infile=configure.in; out="> $tmpout"
- # Make sure $infile can be read, and $tmpout has the same permissions.
- cp $infile $tmpout || exit
-
- # Make sure $infile can be written.
- if test ! -w $infile; then
- rm -f $tmpout
- echo "$0: $infile: cannot write" >&2
- exit 1
- fi
- ;;
- 1) infile="$1"; out= ;;
- *) echo "$usage" >&2; exit 1 ;;
-esac
-
-# Turn the m4 macro file into a sed script.
-# For each old macro name, make one substitution command to replace it
-# at the end of a line, and one when followed by ( or whitespace.
-# That is easier than splitting the macros up into those that take
-# arguments and those that don't.
-sed -n -e '
-/^AC_DEFUN(/ {
- s//s%/
- s/, *\[indir(\[/$%/
- s/\].*/%/
- p
- s/\$//
- s/%/^/
- s/%/\\([( ]\\)^/
- s/%/\\1^/
- s/\^/%/g
- p
-}' ${AC_MACRODIR}/acoldnames.m4 > $sedtmp
-eval sed -f $sedtmp $infile $out
-
-case $# in
- 0) mv configure.in configure.in${SIMPLE_BACKUP_SUFFIX} &&
- mv $tmpout configure.in ;;
-esac
-
-rm -f $sedtmp $tmpout
-exit 0
diff --git a/util/autoconf/autoupdate.sh b/util/autoconf/autoupdate.sh
deleted file mode 100644
index 8fd1442..0000000
--- a/util/autoconf/autoupdate.sh
+++ /dev/null
@@ -1,112 +0,0 @@
-#!/bin/sh
-# autoupdate - modernize a configure.in
-# Copyright (C) 1994 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-# If given no args, update `configure.in';
-# With one arg, write on the standard output from the given template file.
-#
-# Written by David MacKenzie <djm@gnu.ai.mit.edu>
-
-usage="\
-Usage: autoupdate [-h] [--help] [-m dir] [--macrodir=dir]
- [--version] [template-file]"
-
-sedtmp=/tmp/acups.$$
-# For debugging.
-#sedtmp=/tmp/acups
-show_version=no
-test -z "${AC_MACRODIR}" && AC_MACRODIR=@datadir@
-
-while test $# -gt 0 ; do
- case "${1}" in
- -h | --help | --h* )
- echo "${usage}" 1>&2; exit 0 ;;
- --macrodir=* | --m*=* )
- AC_MACRODIR="`echo \"${1}\" | sed -e 's/^[^=]*=//'`"
- shift ;;
- -m | --macrodir | --m* )
- shift
- test $# -eq 0 && { echo "${usage}" 1>&2; exit 1; }
- AC_MACRODIR="${1}"
- shift ;;
- --version | --versio | --versi | --vers)
- show_version=yes; shift ;;
- -- ) # Stop option processing
- shift; break ;;
- - ) # Use stdin as input.
- break ;;
- -* )
- echo "${usage}" 1>&2; exit 1 ;;
- * )
- break ;;
- esac
-done
-
-if test $show_version = yes; then
- version=`sed -n 's/define.AC_ACVERSION.[ ]*\([0-9.]*\).*/\1/p' \
- $AC_MACRODIR/acgeneral.m4`
- echo "Autoconf version $version"
- exit 0
-fi
-
-: ${SIMPLE_BACKUP_SUFFIX='~'}
-
-tmpout=acupo.$$
-trap 'rm -f $sedtmp $tmpout; exit 1' 1 2 15
-case $# in
- 0) infile=configure.in; out="> $tmpout"
- # Make sure $infile can be read, and $tmpout has the same permissions.
- cp $infile $tmpout || exit
-
- # Make sure $infile can be written.
- if test ! -w $infile; then
- rm -f $tmpout
- echo "$0: $infile: cannot write" >&2
- exit 1
- fi
- ;;
- 1) infile="$1"; out= ;;
- *) echo "$usage" >&2; exit 1 ;;
-esac
-
-# Turn the m4 macro file into a sed script.
-# For each old macro name, make one substitution command to replace it
-# at the end of a line, and one when followed by ( or whitespace.
-# That is easier than splitting the macros up into those that take
-# arguments and those that don't.
-sed -n -e '
-/^AC_DEFUN(/ {
- s//s%/
- s/, *\[indir(\[/$%/
- s/\].*/%/
- p
- s/\$//
- s/%/^/
- s/%/\\([( ]\\)^/
- s/%/\\1^/
- s/\^/%/g
- p
-}' ${AC_MACRODIR}/acoldnames.m4 > $sedtmp
-eval sed -f $sedtmp $infile $out
-
-case $# in
- 0) mv configure.in configure.in${SIMPLE_BACKUP_SUFFIX} &&
- mv $tmpout configure.in ;;
-esac
-
-rm -f $sedtmp $tmpout
-exit 0
diff --git a/util/autoconf/config.cache b/util/autoconf/config.cache
deleted file mode 100644
index 4f62b19..0000000
--- a/util/autoconf/config.cache
+++ /dev/null
@@ -1,17 +0,0 @@
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs. It is not useful on other systems.
-# If it contains results you don't want to keep, you may remove or edit it.
-#
-# By default, configure uses ./config.cache as the cache file,
-# creating it if it does not exist already. You can give configure
-# the --cache-file=FILE option to use a different cache file; that is
-# what configure does when it calls configure scripts in
-# subdirectories, so they share the cache.
-# Giving --cache-file=/dev/null disables caching, for debugging configure.
-# config.status only pays attention to the cache file if you give it the
-# --recheck option to rerun configure.
-#
-: ${ac_cv_path_M4='/mit/gnu/rsaixbin/gm4'}
-: ${ac_cv_path_PERL='/usr/athena/bin/perl'}
-: ${ac_cv_path_install='/usr/athena/bin/install -c'}
diff --git a/util/autoconf/config.guess b/util/autoconf/config.guess
deleted file mode 100755
index bc2cbcb..0000000
--- a/util/autoconf/config.guess
+++ /dev/null
@@ -1,470 +0,0 @@
-#!/bin/sh
-# Attempt to guess a canonical system name.
-# Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc.
-#
-# This file is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# Written by Per Bothner <bothner@cygnus.com>.
-# The master version of this file is at the FSF in /home/gd/gnu/lib.
-#
-# This script attempts to guess a canonical system name similar to
-# config.sub. If it succeeds, it prints the system name on stdout, and
-# exits with 0. Otherwise, it exits with 1.
-#
-# The plan is that this can be called by configure scripts if you
-# don't specify an explicit system type (host/target name).
-#
-# Only a few systems have been added to this list; please add others
-# (but try to keep the structure clean).
-#
-
-# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
-# (ghazi@noc.rutgers.edu 8/24/94.)
-if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
- PATH=$PATH:/.attbin ; export PATH
-fi
-
-UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
-UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
-UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
-UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
-
-trap 'rm -f dummy.c dummy.o dummy; exit 1' 1 2 15
-
-# Note: order is significant - the case branches are not exclusive.
-
-case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
- alpha:OSF1:V*:*)
- # After 1.2, OSF1 uses "V1.3" for uname -r.
- echo alpha-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^V//'`
- exit 0 ;;
- alpha:OSF1:*:*)
- # 1.2 uses "1.2" for uname -r.
- echo alpha-dec-osf${UNAME_RELEASE}
- exit 0 ;;
- arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
- echo arm-acorn-riscix${UNAME_RELEASE}
- exit 0;;
- Pyramid*:OSx*:*:*)
- if test "`(/bin/universe) 2>/dev/null`" = att ; then
- echo pyramid-pyramid-sysv3
- else
- echo pyramid-pyramid-bsd
- fi
- exit 0 ;;
- sun4*:SunOS:5.*:*)
- echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit 0 ;;
- sun4*:SunOS:6*:*)
- # According to config.sub, this is the proper way to canonicalize
- # SunOS6. Hard to guess exactly what SunOS6 will be like, but
- # it's likely to be more like Solaris than SunOS4.
- echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit 0 ;;
- sun4*:SunOS:*:*)
- # Japanese Language versions have a version number like `4.1.3-JL'.
- echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
- exit 0 ;;
- sun3*:SunOS:*:*)
- echo m68k-sun-sunos${UNAME_RELEASE}
- exit 0 ;;
- RISC*:ULTRIX:*:*)
- echo mips-dec-ultrix${UNAME_RELEASE}
- exit 0 ;;
- VAX*:ULTRIX*:*:*)
- echo vax-dec-ultrix${UNAME_RELEASE}
- exit 0 ;;
- mips:*:5*:RISCos)
- echo mips-mips-riscos${UNAME_RELEASE}
- exit 0 ;;
- m88k:CX/UX:7*:*)
- echo m88k-harris-cxux7
- exit 0 ;;
- m88k:*:4*:R4*)
- echo m88k-motorola-sysv4
- exit 0 ;;
- m88k:*:3*:R3*)
- echo m88k-motorola-sysv3
- exit 0 ;;
- AViiON:dgux:*:*)
- if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx \
- -o ${TARGET_BINARY_INTERFACE}x = x ] ; then
- echo m88k-dg-dgux${UNAME_RELEASE}
- else
- echo m88k-dg-dguxbcs${UNAME_RELEASE}
- fi
- exit 0 ;;
- M88*:DolphinOS:*:*) # DolphinOS (SVR3)
- echo m88k-dolphin-sysv3
- exit 0 ;;
- M88*:*:R3*:*)
- # Delta 88k system running SVR3
- echo m88k-motorola-sysv3
- exit 0 ;;
- XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
- echo m88k-tektronix-sysv3
- exit 0 ;;
- Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
- echo m68k-tektronix-bsd
- exit 0 ;;
- *:IRIX:*:*)
- echo mips-sgi-irix${UNAME_RELEASE}
- exit 0 ;;
- i[34]86:AIX:*:*)
- echo i386-ibm-aix
- exit 0 ;;
- *:AIX:2:3)
- if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
- sed 's/^ //' << EOF >dummy.c
- #include <sys/systemcfg.h>
-
- main()
- {
- if (!__power_pc())
- exit(1);
- puts("powerpc-ibm-aix3.2.5");
- exit(0);
- }
-EOF
- ${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0
- rm -f dummy.c dummy
- echo rs6000-ibm-aix3.2.5
- elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
- echo rs6000-ibm-aix3.2.4
- else
- echo rs6000-ibm-aix3.2
- fi
- exit 0 ;;
- *:AIX:*:4)
- if /usr/sbin/lsattr -EHl proc0 | grep POWER >/dev/null 2>&1; then
- IBM_ARCH=rs6000
- else
- IBM_ARCH=powerpc
- fi
- if grep bos410 /usr/include/stdio.h >/dev/null 2>&1; then
- IBM_REV=4.1
- elif grep bos411 /usr/include/stdio.h >/dev/null 2>&1; then
- IBM_REV=4.1.1
- else
- IBM_REV=4.${UNAME_RELEASE}
- fi
- echo ${IBM_ARCH}-ibm-aix${IBM_REV}
- exit 0 ;;
- *:AIX:*:*)
- echo rs6000-ibm-aix
- exit 0 ;;
- *:BOSX:*:*)
- echo rs6000-bull-bosx
- exit 0 ;;
- DPX/2?00:B.O.S.:*:*)
- echo m68k-bull-sysv3
- exit 0 ;;
- 9000/[34]??:4.3bsd:1.*:*)
- echo m68k-hp-bsd
- exit 0 ;;
- hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
- echo m68k-hp-bsd4.4
- exit 0 ;;
- 9000/[3478]??:HP-UX:*:*)
- case "${UNAME_MACHINE}" in
- 9000/31? ) HP_ARCH=m68000 ;;
- 9000/[34]?? ) HP_ARCH=m68k ;;
- 9000/7?? | 9000/8?7 ) HP_ARCH=hppa1.1 ;;
- 9000/8?? ) HP_ARCH=hppa1.0 ;;
- esac
- HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
- echo ${HP_ARCH}-hp-hpux${HPUX_REV}
- exit 0 ;;
- 3050*:HI-UX:*:*)
- sed 's/^ //' << EOF >dummy.c
- #include <unistd.h>
- int
- main ()
- {
- long cpu = sysconf (_SC_CPU_VERSION);
- /* The order matters, because CPU_IS_HP_MC68K erroneously returns
- true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
- results, however. */
- if (CPU_IS_PA_RISC (cpu))
- {
- switch (cpu)
- {
- case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
- case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
- case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
- default: puts ("hppa-hitachi-hiuxwe2"); break;
- }
- }
- else if (CPU_IS_HP_MC68K (cpu))
- puts ("m68k-hitachi-hiuxwe2");
- else puts ("unknown-hitachi-hiuxwe2");
- exit (0);
- }
-EOF
- ${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0
- rm -f dummy.c dummy
- echo unknown-hitachi-hiuxwe2
- exit 0 ;;
- 9000/7??:4.3bsd:*:* | 9000/8?7:4.3bsd:*:* )
- echo hppa1.1-hp-bsd
- exit 0 ;;
- 9000/8??:4.3bsd:*:*)
- echo hppa1.0-hp-bsd
- exit 0 ;;
- hp7??:OSF1:*:* | hp8?7:OSF1:*:* )
- echo hppa1.1-hp-osf
- exit 0 ;;
- hp8??:OSF1:*:*)
- echo hppa1.0-hp-osf
- exit 0 ;;
- C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
- echo c1-convex-bsd
- exit 0 ;;
- C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
- if getsysinfo -f scalar_acc
- then echo c32-convex-bsd
- else echo c2-convex-bsd
- fi
- exit 0 ;;
- C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
- echo c34-convex-bsd
- exit 0 ;;
- C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
- echo c38-convex-bsd
- exit 0 ;;
- C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
- echo c4-convex-bsd
- exit 0 ;;
- CRAY*X-MP:UNICOS:*:*)
- echo xmp-cray-unicos
- exit 0 ;;
- CRAY*Y-MP:UNICOS:*:*)
- echo ymp-cray-unicos
- exit 0 ;;
- CRAY-2:UNICOS:*:*)
- echo cray2-cray-unicos
- exit 0 ;;
- hp3[0-9][05]:NetBSD:*:*)
- echo m68k-hp-netbsd${UNAME_RELEASE}
- exit 0 ;;
- i[34]86:BSD/386:*:*)
- echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
- exit 0 ;;
- *:FreeBSD:*:*)
- echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
- exit 0 ;;
- *:NetBSD:*:*)
- echo ${UNAME_MACHINE}-unknown-netbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
- exit 0 ;;
- *:GNU:*:*)
- echo `echo ${UNAME_MACHINE}|sed -e 's,/.*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
- exit 0 ;;
- *:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux
- exit 0 ;;
-# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. earlier versions
-# are messed up and put the nodename in both sysname and nodename.
- i[34]86:DYNIX/ptx:4*:*)
- echo i386-sequent-sysv4
- exit 0 ;;
- i[34]86:*:4.*:* | i[34]86:SYSTEM_V:4.*:*)
- if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
- echo ${UNAME_MACHINE}-univel-sysv${UNAME_RELEASE}
- else
- echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}
- fi
- exit 0 ;;
- i[34]86:*:3.2:*)
- if /bin/uname -X 2>/dev/null >/dev/null ; then
- UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
- (/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
- echo ${UNAME_MACHINE}-unknown-sco$UNAME_REL
- elif test -f /usr/options/cb.name; then
- UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
- echo ${UNAME_MACHINE}-unknown-isc$UNAME_REL
- else
- echo ${UNAME_MACHINE}-unknown-sysv32
- fi
- exit 0 ;;
- Intel:Mach:3*:*)
- echo i386-unknown-mach3
- exit 0 ;;
- i860:*:4.*:*) # i860-SVR4
- if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
- echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
- else # Add other i860-SVR4 vendors below as they are discovered.
- echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
- fi
- exit 0 ;;
- mini*:CTIX:SYS*5:*)
- # "miniframe"
- echo m68010-convergent-sysv
- exit 0 ;;
- M680[234]0:*:R3V[567]*:*)
- test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
- 3[34]??:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0)
- uname -p 2>/dev/null | grep 86 >/dev/null \
- && echo i486-ncr-sysv4.3 && exit 0 ;;
- 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
- uname -p 2>/dev/null | grep 86 >/dev/null \
- && echo i486-ncr-sysv4 && exit 0 ;;
- m680[234]0:LynxOS:2.2*:*)
- echo m68k-lynx-lynxos${UNAME_RELEASE}
- exit 0 ;;
- mc68030:UNIX_System_V:4.*:*)
- echo m68k-atari-sysv4
- exit 0 ;;
- i[34]86:LynxOS:2.2*:*)
- echo i386-lynx-lynxos${UNAME_RELEASE}
- exit 0 ;;
- TSUNAMI:LynxOS:2.2*:*)
- echo sparc-lynx-lynxos${UNAME_RELEASE}
- exit 0 ;;
- rs6000:LynxOS:2.2*:*)
- echo rs6000-lynx-lynxos${UNAME_RELEASE}
- exit 0 ;;
- RM*:SINIX-*:*:*)
- echo mips-sni-sysv4
- exit 0 ;;
- *:SINIX-*:*:*)
- if uname -p 2>/dev/null >/dev/null ; then
- UNAME_MACHINE=`(uname -p) 2>/dev/null`
- echo ${UNAME_MACHINE}-sni-sysv4
- else
- echo ns32k-sni-sysv
- fi
- exit 0 ;;
-esac
-
-#echo '(No uname command or uname output not recognized.)' 1>&2
-#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
-
-cat >dummy.c <<EOF
-main ()
-{
-#if defined (sony)
-#if defined (MIPSEB)
- /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
- I don't know.... */
- printf ("mips-sony-bsd\n"); exit (0);
-#else
- printf ("m68k-sony-newsos\n"); exit (0);
-#endif
-#endif
-
-#if defined (__arm) && defined (__acorn) && defined (__unix)
- printf ("arm-acorn-riscix"); exit (0);
-#endif
-
-#if defined (hp300) && !defined (hpux)
- printf ("m68k-hp-bsd\n"); exit (0);
-#endif
-
-#if defined (NeXT)
-#if !defined (__ARCHITECTURE__)
-#define __ARCHITECTURE__ "m68k"
-#endif
- int version;
- version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
- printf ("%s-next-nextstep%s\n", __ARCHITECTURE__, version==2 ? "2" : "3");
- exit (0);
-#endif
-
-#if defined (MULTIMAX) || defined (n16)
-#if defined (UMAXV)
- printf ("ns32k-encore-sysv\n"); exit (0);
-#else
-#if defined (CMU)
- printf ("ns32k-encore-mach\n"); exit (0);
-#else
- printf ("ns32k-encore-bsd\n"); exit (0);
-#endif
-#endif
-#endif
-
-#if defined (__386BSD__)
- printf ("i386-unknown-bsd\n"); exit (0);
-#endif
-
-#if defined (sequent)
-#if defined (i386)
- printf ("i386-sequent-dynix\n"); exit (0);
-#endif
-#if defined (ns32000)
- printf ("ns32k-sequent-dynix\n"); exit (0);
-#endif
-#endif
-
-#if defined (_SEQUENT_)
- printf ("i386-sequent-ptx\n"); exit (0);
-#endif
-
-#if defined (vax)
-#if !defined (ultrix)
- printf ("vax-dec-bsd\n"); exit (0);
-#else
- printf ("vax-dec-ultrix\n"); exit (0);
-#endif
-#endif
-
-#if defined (alliant) && defined (i860)
- printf ("i860-alliant-bsd\n"); exit (0);
-#endif
-
- exit (1);
-}
-EOF
-
-${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy && rm dummy.c dummy && exit 0
-rm -f dummy.c dummy
-
-# Apollos put the system type in the environment.
-
-test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
-
-# Convex versions that predate uname can use getsysinfo(1)
-
-if [ -x /usr/convex/getsysinfo ]
-then
- case `getsysinfo -f cpu_type` in
- c1*)
- echo c1-convex-bsd
- exit 0 ;;
- c2*)
- if getsysinfo -f scalar_acc
- then echo c32-convex-bsd
- else echo c2-convex-bsd
- fi
- exit 0 ;;
- c34*)
- echo c34-convex-bsd
- exit 0 ;;
- c38*)
- echo c38-convex-bsd
- exit 0 ;;
- c4*)
- echo c4-convex-bsd
- exit 0 ;;
- esac
-fi
-
-#echo '(Unable to guess system type)' 1>&2
-
-exit 1
diff --git a/util/autoconf/config.log b/util/autoconf/config.log
deleted file mode 100644
index fb9038e..0000000
--- a/util/autoconf/config.log
+++ /dev/null
@@ -1,3 +0,0 @@
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-
diff --git a/util/autoconf/config.status b/util/autoconf/config.status
deleted file mode 100755
index 4cfaf21..0000000
--- a/util/autoconf/config.status
+++ /dev/null
@@ -1,113 +0,0 @@
-#!/bin/sh
-# Generated automatically by configure.
-# Run this file to recreate the current configuration.
-# This directory was configured as follows,
-# on host tardis:
-#
-# ./configure
-#
-# Compiler output produced by configure, useful for debugging
-# configure, is in ./config.log if it exists.
-
-ac_cs_usage="Usage: ./config.status [--recheck] [--version] [--help]"
-for ac_option
-do
- case "$ac_option" in
- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
- echo "running ${CONFIG_SHELL-/bin/sh} ./configure --no-create --no-recursion"
- exec ${CONFIG_SHELL-/bin/sh} ./configure --no-create --no-recursion ;;
- -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
- echo "./config.status generated by autoconf version 2.0"
- exit 0 ;;
- -help | --help | --hel | --he | --h)
- echo "$ac_cs_usage"; exit 0 ;;
- *) echo "$ac_cs_usage"; exit 1 ;;
- esac
-done
-
-ac_given_srcdir=.
-ac_given_INSTALL="/usr/athena/bin/install -c"
-
-trap 'rm -f Makefile testsuite/Makefile; exit 1' 1 2 15
-
-# Protect against being on the right side of a sed subst in config.status.
-sed 's/%@/@@/; s/@%/@@/; s/%g$/@g/; /@g$/s/[\\&%]/\\&/g;
- s/@@/%@/; s/@@/@%/; s/@g$/%g/' > conftest.subs <<\CEOF
-/^[ ]*VPATH[ ]*=[^:]*$/d
-
-s%@CFLAGS@%%g
-s%@CPPFLAGS@%%g
-s%@CXXFLAGS@%%g
-s%@DEFS@% %g
-s%@LDFLAGS@%%g
-s%@LIBS@%%g
-s%@exec_prefix@%${prefix}%g
-s%@prefix@%/usr/local%g
-s%@program_transform_name@%s,x,x,%g
-s%@M4@%/mit/gnu/rsaixbin/gm4%g
-s%@PERL@%/usr/athena/bin/perl%g
-s%@SCRIPTS@%autoscan%g
-s%@INSTALL_PROGRAM@%${INSTALL}%g
-s%@INSTALL_DATA@%${INSTALL} -m 644%g
-s%@standards_info@%standards.info%g
-s%@standards_dvi@%standards.dvi%g
-
-CEOF
-
-CONFIG_FILES=${CONFIG_FILES-"Makefile testsuite/Makefile"}
-for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
- # Support "outfile[:infile]", defaulting infile="outfile.in".
- case "$ac_file" in
- *:*) ac_file_in=`echo "$ac_file"|sed 's%.*:%%'`
- ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
- *) ac_file_in="${ac_file}.in" ;;
- esac
-
- # Adjust relative srcdir, etc. for subdirectories.
-
- # Remove last slash and all that follows it. Not all systems have dirname.
- ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
- if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
- # The file is in a subdirectory.
- test ! -d "$ac_dir" && mkdir "$ac_dir"
- ac_dir_suffix="/$ac_dir"
- # A "../" for each directory in $ac_dir_suffix.
- ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
- else
- ac_dir_suffix= ac_dots=
- fi
-
- case "$ac_given_srcdir" in
- .) srcdir=.
- if test -z "$ac_dots"; then top_srcdir=.
- else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
- /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
- *) # Relative path.
- srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
- top_srcdir="$ac_dots$ac_given_srcdir" ;;
- esac
-
- case "$ac_given_INSTALL" in
- [/$]*) INSTALL="$ac_given_INSTALL" ;;
- *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
- esac
- echo creating "$ac_file"
- rm -f "$ac_file"
- configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
- case "$ac_file" in
- *Makefile*) ac_comsub="1i\\
-# $configure_input" ;;
- *) ac_comsub= ;;
- esac
- sed -e "$ac_comsub
-s%@configure_input@%$configure_input%g
-s%@srcdir@%$srcdir%g
-s%@top_srcdir@%$top_srcdir%g
-s%@INSTALL@%$INSTALL%g
-" -f conftest.subs $ac_given_srcdir/$ac_file_in > $ac_file
-fi; done
-rm -f conftest.subs
-
-
-
-exit 0
diff --git a/util/autoconf/config.sub b/util/autoconf/config.sub
deleted file mode 100755
index bf932cb..0000000
--- a/util/autoconf/config.sub
+++ /dev/null
@@ -1,793 +0,0 @@
-#!/bin/sh
-# Configuration validation subroutine script, version 1.1.
-# Copyright (C) 1991, 1992, 1993, 1994 Free Software Foundation, Inc.
-# This file is (in principle) common to ALL GNU software.
-# The presence of a machine in this file suggests that SOME GNU software
-# can handle that machine. It does not imply ALL GNU software can.
-#
-# This file is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# Configuration subroutine to validate and canonicalize a configuration type.
-# Supply the specified configuration type as an argument.
-# If it is invalid, we print an error message on stderr and exit with code 1.
-# Otherwise, we print the canonical config type on stdout and succeed.
-
-# This file is supposed to be the same for all GNU packages
-# and recognize all the CPU types, system types and aliases
-# that are meaningful with *any* GNU software.
-# Each package is responsible for reporting which valid configurations
-# it does not support. The user should be able to distinguish
-# a failure to support a valid configuration from a meaningless
-# configuration.
-
-# The goal of this file is to map all the various variations of a given
-# machine specification into a single specification in the form:
-# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
-# It is wrong to echo any other type of specification.
-
-# First pass through any local machine types.
-case $1 in
- *local*)
- echo $1
- exit 0
- ;;
- *)
- ;;
-esac
-
-# Separate what the user gave into CPU-COMPANY and OS (if any).
-basic_machine=`echo $1 | sed 's/-[^-]*$//'`
-if [ $basic_machine != $1 ]
-then os=`echo $1 | sed 's/.*-/-/'`
-else os=; fi
-
-### Let's recognize common machines as not being operating systems so
-### that things like config.sub decstation-3100 work. We also
-### recognize some manufacturers as not being operating systems, so we
-### can provide default operating systems below.
-case $os in
- -sun*os*)
- # Prevent following clause from handling this invalid input.
- ;;
- -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
- -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
- -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
- -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
- -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
- -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp )
- os=
- basic_machine=$1
- ;;
- -hiux*)
- os=-hiuxwe2
- ;;
- -sco4)
- os=-sco3.2v4
- basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'`
- ;;
- -sco3.2.[4-9]*)
- os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
- basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'`
- ;;
- -sco3.2v[4-9]*)
- # Don't forget version if it is 3.2v4 or newer.
- basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'`
- ;;
- -sco*)
- os=-sco3.2v2
- basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'`
- ;;
- -isc)
- os=-isc2.2
- basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'`
- ;;
- -clix*)
- basic_machine=clipper-intergraph
- ;;
- -isc*)
- basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'`
- ;;
- -lynx)
- os=-lynxos
- ;;
- -ptx*)
- basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
- ;;
- -windowsnt*)
- os=`echo $os | sed -e 's/windowsnt/winnt/'`
- ;;
-esac
-
-# Decode aliases for certain CPU-COMPANY combinations.
-case $basic_machine in
- # Recognize the basic CPU types without company name.
- # Some are omitted here because they have special meanings below.
- tahoe | i[345]86 | i860 | m68k | m68000 | m88k | ns32k | arm | pyramid \
- | tron | a29k | 580 | i960 | h8300 | hppa1.0 | hppa1.1 \
- | alpha | we32k | ns16k | clipper | sparclite | i370 | sh \
- | powerpc | sparc64 | 1750a | dsp16xx | mips64 | mipsel \
- | pdp11 | mips64el | mips64orion | mips64orionel )
- basic_machine=$basic_machine-unknown
- ;;
- # Object if more than one company name word.
- *-*-*)
- echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
- exit 1
- ;;
- # Recognize the basic CPU types with company name.
- vax-* | tahoe-* | i[345]86-* | i860-* | m68k-* | m68000-* | m88k-* \
- | sparc-* | ns32k-* | fx80-* | arm-* | c[123]* \
- | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \
- | none-* | 580-* | cray2-* | h8300-* | i960-* | xmp-* | ymp-* \
- | hppa1.0-* | hppa1.1-* | alpha-* | we32k-* | cydra-* | ns16k-* \
- | pn-* | np1-* | xps100-* | clipper-* | orion-* | sparclite-* \
- | pdp11-* | sh-* | powerpc-* | sparc64-* | mips64-* | mipsel-* \
- | mips64el-* | mips64orion-* | mips64orionel-* )
- ;;
- # Recognize the various machine names and aliases which stand
- # for a CPU type and a company and sometimes even an OS.
- 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
- basic_machine=m68000-att
- ;;
- 3b*)
- basic_machine=we32k-att
- ;;
- alliant | fx80)
- basic_machine=fx80-alliant
- ;;
- altos | altos3068)
- basic_machine=m68k-altos
- ;;
- am29k)
- basic_machine=a29k-none
- os=-bsd
- ;;
- amdahl)
- basic_machine=580-amdahl
- os=-sysv
- ;;
- amiga | amiga-*)
- basic_machine=m68k-cbm
- ;;
- amigados)
- basic_machine=m68k-cbm
- os=-amigados
- ;;
- amigaunix | amix)
- basic_machine=m68k-cbm
- os=-sysv4
- ;;
- apollo68)
- basic_machine=m68k-apollo
- os=-sysv
- ;;
- balance)
- basic_machine=ns32k-sequent
- os=-dynix
- ;;
- convex-c1)
- basic_machine=c1-convex
- os=-bsd
- ;;
- convex-c2)
- basic_machine=c2-convex
- os=-bsd
- ;;
- convex-c32)
- basic_machine=c32-convex
- os=-bsd
- ;;
- convex-c34)
- basic_machine=c34-convex
- os=-bsd
- ;;
- convex-c38)
- basic_machine=c38-convex
- os=-bsd
- ;;
- cray | ymp)
- basic_machine=ymp-cray
- os=-unicos
- ;;
- cray2)
- basic_machine=cray2-cray
- os=-unicos
- ;;
- crds | unos)
- basic_machine=m68k-crds
- ;;
- da30 | da30-*)
- basic_machine=m68k-da30
- ;;
- decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
- basic_machine=mips-dec
- ;;
- delta | 3300 | motorola-3300 | motorola-delta \
- | 3300-motorola | delta-motorola)
- basic_machine=m68k-motorola
- ;;
- delta88)
- basic_machine=m88k-motorola
- os=-sysv3
- ;;
- dpx20 | dpx20-*)
- basic_machine=rs6000-bull
- os=-bosx
- ;;
- dpx2* | dpx2*-bull)
- basic_machine=m68k-bull
- os=-sysv3
- ;;
- ebmon29k)
- basic_machine=a29k-amd
- os=-ebmon
- ;;
- elxsi)
- basic_machine=elxsi-elxsi
- os=-bsd
- ;;
- encore | umax | mmax)
- basic_machine=ns32k-encore
- ;;
- fx2800)
- basic_machine=i860-alliant
- ;;
- genix)
- basic_machine=ns32k-ns
- ;;
- gmicro)
- basic_machine=tron-gmicro
- os=-sysv
- ;;
- h3050r* | hiux*)
- basic_machine=hppa1.1-hitachi
- os=-hiuxwe2
- ;;
- h8300hms)
- basic_machine=h8300-hitachi
- os=-hms
- ;;
- harris)
- basic_machine=m88k-harris
- os=-sysv3
- ;;
- hp300-*)
- basic_machine=m68k-hp
- ;;
- hp300bsd)
- basic_machine=m68k-hp
- os=-bsd
- ;;
- hp300hpux)
- basic_machine=m68k-hp
- os=-hpux
- ;;
- hp9k2[0-9][0-9] | hp9k31[0-9])
- basic_machine=m68000-hp
- ;;
- hp9k3[2-9][0-9])
- basic_machine=m68k-hp
- ;;
- hp9k7[0-9][0-9] | hp7[0-9][0-9] | hp9k8[0-9]7 | hp8[0-9]7)
- basic_machine=hppa1.1-hp
- ;;
- hp9k8[0-9][0-9] | hp8[0-9][0-9])
- basic_machine=hppa1.0-hp
- ;;
- i370-ibm* | ibm*)
- basic_machine=i370-ibm
- os=-mvs
- ;;
-# I'm not sure what "Sysv32" means. Should this be sysv3.2?
- i[345]86v32)
- basic_machine=`echo $1 | sed -e 's/86.*/86-unknown/'`
- os=-sysv32
- ;;
- i[345]86v4*)
- basic_machine=`echo $1 | sed -e 's/86.*/86-unknown/'`
- os=-sysv4
- ;;
- i[345]86v)
- basic_machine=`echo $1 | sed -e 's/86.*/86-unknown/'`
- os=-sysv
- ;;
- i[345]86sol2)
- basic_machine=`echo $1 | sed -e 's/86.*/86-unknown/'`
- os=-solaris2
- ;;
- iris | iris4d)
- basic_machine=mips-sgi
- case $os in
- -irix*)
- ;;
- *)
- os=-irix4
- ;;
- esac
- ;;
- isi68 | isi)
- basic_machine=m68k-isi
- os=-sysv
- ;;
- m88k-omron*)
- basic_machine=m88k-omron
- ;;
- magnum | m3230)
- basic_machine=mips-mips
- os=-sysv
- ;;
- merlin)
- basic_machine=ns32k-utek
- os=-sysv
- ;;
- miniframe)
- basic_machine=m68000-convergent
- ;;
- mips3*-*)
- basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
- ;;
- mips3*)
- basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
- ;;
- ncr3000)
- basic_machine=i486-ncr
- os=-sysv4
- ;;
- news | news700 | news800 | news900)
- basic_machine=m68k-sony
- os=-newsos
- ;;
- news1000)
- basic_machine=m68030-sony
- os=-newsos
- ;;
- news-3600 | risc-news)
- basic_machine=mips-sony
- os=-newsos
- ;;
- next | m*-next )
- basic_machine=m68k-next
- case $os in
- -nextstep* )
- ;;
- -ns2*)
- os=-nextstep2
- ;;
- *)
- os=-nextstep3
- ;;
- esac
- ;;
- nh3000)
- basic_machine=m68k-harris
- os=-cxux
- ;;
- nh[45]000)
- basic_machine=m88k-harris
- os=-cxux
- ;;
- nindy960)
- basic_machine=i960-intel
- os=-nindy
- ;;
- np1)
- basic_machine=np1-gould
- ;;
- pa-hitachi)
- basic_machine=hppa1.1-hitachi
- os=-hiuxwe2
- ;;
- paragon)
- basic_machine=i860-intel
- os=-osf
- ;;
- pbd)
- basic_machine=sparc-tti
- ;;
- pbb)
- basic_machine=m68k-tti
- ;;
- pc532 | pc532-*)
- basic_machine=ns32k-pc532
- ;;
- pentium-*)
- # We will change tis to say i586 once there has been
- # time for various packages to start to recognize that.
- basic_machine=i486-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- pn)
- basic_machine=pn-gould
- ;;
- ps2)
- basic_machine=i386-ibm
- ;;
- rtpc | rtpc-*)
- basic_machine=romp-ibm
- ;;
- sequent)
- basic_machine=i386-sequent
- ;;
- sh)
- basic_machine=sh-hitachi
- os=-hms
- ;;
- sps7)
- basic_machine=m68k-bull
- os=-sysv2
- ;;
- spur)
- basic_machine=spur-unknown
- ;;
- sun2)
- basic_machine=m68000-sun
- ;;
- sun2os3)
- basic_machine=m68000-sun
- os=-sunos3
- ;;
- sun2os4)
- basic_machine=m68000-sun
- os=-sunos4
- ;;
- sun3os3)
- basic_machine=m68k-sun
- os=-sunos3
- ;;
- sun3os4)
- basic_machine=m68k-sun
- os=-sunos4
- ;;
- sun4os3)
- basic_machine=sparc-sun
- os=-sunos3
- ;;
- sun4os4)
- basic_machine=sparc-sun
- os=-sunos4
- ;;
- sun3 | sun3-*)
- basic_machine=m68k-sun
- ;;
- sun4)
- basic_machine=sparc-sun
- ;;
- sun386 | sun386i | roadrunner)
- basic_machine=i386-sun
- ;;
- symmetry)
- basic_machine=i386-sequent
- os=-dynix
- ;;
- tower | tower-32)
- basic_machine=m68k-ncr
- ;;
- ultra3)
- basic_machine=a29k-nyu
- os=-sym1
- ;;
- vaxv)
- basic_machine=vax-dec
- os=-sysv
- ;;
- vms)
- basic_machine=vax-dec
- os=-vms
- ;;
- vxworks960)
- basic_machine=i960-wrs
- os=-vxworks
- ;;
- vxworks68)
- basic_machine=m68k-wrs
- os=-vxworks
- ;;
- xmp)
- basic_machine=xmp-cray
- os=-unicos
- ;;
- xps | xps100)
- basic_machine=xps100-honeywell
- ;;
- none)
- basic_machine=none-none
- os=-none
- ;;
-
-# Here we handle the default manufacturer of certain CPU types. It is in
-# some cases the only manufacturer, in others, it is the most popular.
- mips)
- basic_machine=mips-mips
- ;;
- romp)
- basic_machine=romp-ibm
- ;;
- rs6000)
- basic_machine=rs6000-ibm
- ;;
- vax)
- basic_machine=vax-dec
- ;;
- pdp11)
- basic_machine=pdp11-dec
- ;;
- we32k)
- basic_machine=we32k-att
- ;;
- sparc)
- basic_machine=sparc-sun
- ;;
- cydra)
- basic_machine=cydra-cydrome
- ;;
- orion)
- basic_machine=orion-highlevel
- ;;
- orion105)
- basic_machine=clipper-highlevel
- ;;
- *)
- echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
- exit 1
- ;;
-esac
-
-# Here we canonicalize certain aliases for manufacturers.
-case $basic_machine in
- *-digital*)
- basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
- ;;
- *-commodore*)
- basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
- ;;
- *)
- ;;
-esac
-
-# Decode manufacturer-specific aliases for certain operating systems.
-
-if [ x"$os" != x"" ]
-then
-case $os in
- # -solaris* is a basic system type, with this one exception.
- -solaris1 | -solaris1.*)
- os=`echo $os | sed -e 's|solaris1|sunos4|'`
- ;;
- -solaris)
- os=-solaris2
- ;;
- -gnu/linux*)
- os=`echo $os | sed -e 's|gnu/linux|linux|'`
- ;;
- # First accept the basic system types.
- # The portable systems comes first.
- # Each alternative must end in a *, to match a version number.
- # -sysv* is not here because it comes later, after sysvr4.
- -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
- | -vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[345]* \
- | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
- | -amigados* | -msdos* | -newsos* | -unicos* | -aos* \
- | -nindy* | -vxworks* | -ebmon* | -hms* | -mvs* | -clix* \
- | -riscos* | -linux* | -uniplus* | -iris* | -rtu* | -xenix* \
- | -hiux* | -386bsd* | -netbsd* | -freebsd* | -riscix* \
- | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* \
- | -ptx* | -coff* | -winnt*)
- ;;
- -sunos5*)
- os=`echo $os | sed -e 's|sunos5|solaris2|'`
- ;;
- -sunos6*)
- os=`echo $os | sed -e 's|sunos6|solaris3|'`
- ;;
- -osfrose*)
- os=-osfrose
- ;;
- -osf*)
- os=-osf
- ;;
- -utek*)
- os=-bsd
- ;;
- -dynix*)
- os=-bsd
- ;;
- -acis*)
- os=-aos
- ;;
- -ctix* | -uts*)
- os=-sysv
- ;;
- -triton*)
- os=-sysv3
- ;;
- -oss*)
- os=-sysv3
- ;;
- -svr4)
- os=-sysv4
- ;;
- -svr3)
- os=-sysv3
- ;;
- -sysvr4)
- os=-sysv4
- ;;
- # This must come after -sysvr4.
- -sysv*)
- ;;
- -xenix)
- os=-xenix
- ;;
- -none)
- ;;
- *)
- # Get rid of the `-' at the beginning of $os.
- os=`echo $os | sed 's/[^-]*-//'`
- echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
- exit 1
- ;;
-esac
-else
-
-# Here we handle the default operating systems that come with various machines.
-# The value should be what the vendor currently ships out the door with their
-# machine or put another way, the most popular os provided with the machine.
-
-# Note that if you're going to try to match "-MANUFACTURER" here (say,
-# "-sun"), then you have to tell the case statement up towards the top
-# that MANUFACTURER isn't an operating system. Otherwise, code above
-# will signal an error saying that MANUFACTURER isn't an operating
-# system, and we'll never get to this point.
-
-case $basic_machine in
- *-acorn)
- os=-riscix1.2
- ;;
- pdp11-*)
- os=-none
- ;;
- *-dec | vax-*)
- os=-ultrix4.2
- ;;
- i386-sun)
- os=-sunos4.0.2
- ;;
- m68000-sun)
- os=-sunos3
- # This also exists in the configure program, but was not the
- # default.
- # os=-sunos4
- ;;
- *-tti) # must be before sparc entry or we get the wrong os.
- os=-sysv3
- ;;
- sparc-* | *-sun)
- os=-sunos4.1.1
- ;;
- *-ibm)
- os=-aix
- ;;
- *-hp)
- os=-hpux
- ;;
- *-hitachi)
- os=-hiux
- ;;
- i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
- os=-sysv
- ;;
- *-cbm)
- os=-amigados
- ;;
- *-dg)
- os=-dgux
- ;;
- *-dolphin)
- os=-sysv3
- ;;
- m68k-ccur)
- os=-rtu
- ;;
- m88k-omron*)
- os=-luna
- ;;
- *-sequent)
- os=-ptx
- ;;
- *-crds)
- os=-unos
- ;;
- *-ns)
- os=-genix
- ;;
- i370-*)
- os=-mvs
- ;;
- *-next)
- os=-nextstep3
- ;;
- *-gould)
- os=-sysv
- ;;
- *-highlevel)
- os=-bsd
- ;;
- *-encore)
- os=-bsd
- ;;
- *-sgi)
- os=-irix
- ;;
- *-masscomp)
- os=-rtu
- ;;
- *)
- os=-none
- ;;
-esac
-fi
-
-# Here we handle the case where we know the os, and the CPU type, but not the
-# manufacturer. We pick the logical manufacturer.
-vendor=unknown
-case $basic_machine in
- *-unknown)
- case $os in
- -riscix*)
- vendor=acorn
- ;;
- -sunos*)
- vendor=sun
- ;;
- -lynxos*)
- vendor=lynx
- ;;
- -aix*)
- vendor=ibm
- ;;
- -hpux*)
- vendor=hp
- ;;
- -hiux*)
- vendor=hitachi
- ;;
- -unos*)
- vendor=crds
- ;;
- -dgux*)
- vendor=dg
- ;;
- -luna*)
- vendor=omron
- ;;
- -genix*)
- vendor=ns
- ;;
- -mvs*)
- vendor=ibm
- ;;
- -ptx*)
- vendor=sequent
- ;;
- esac
- basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
- ;;
-esac
-
-echo $basic_machine$os
diff --git a/util/autoconf/configure b/util/autoconf/configure
deleted file mode 100755
index 97345c9..0000000
--- a/util/autoconf/configure
+++ /dev/null
@@ -1,736 +0,0 @@
-#!/bin/sh
-
-
-# Guess values for system-dependent variables and create Makefiles.
-# Generated automatically using autoconf version 2.1
-# Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc.
-#
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-
-# Defaults:
-ac_help=
-ac_default_prefix=/usr/local
-# Any additions from configure.in:
-
-# Initialize some variables set by options.
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-build=NONE
-cache_file=./config.cache
-exec_prefix=NONE
-host=NONE
-no_create=
-nonopt=NONE
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-target=NONE
-verbose=
-x_includes=NONE
-x_libraries=NONE
-
-# Initialize some other variables.
-subdirs=
-
-ac_prev=
-for ac_option
-do
-
- # If the previous option needs an argument, assign it.
- if test -n "$ac_prev"; then
- eval "$ac_prev=\$ac_option"
- ac_prev=
- continue
- fi
-
- case "$ac_option" in
- -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
- *) ac_optarg= ;;
- esac
-
- # Accept the important Cygnus configure options, so we can diagnose typos.
-
- case "$ac_option" in
-
- -build | --build | --buil | --bui | --bu | --b)
- ac_prev=build ;;
- -build=* | --build=* | --buil=* | --bui=* | --bu=* | --b=*)
- build="$ac_optarg" ;;
-
- -cache-file | --cache-file | --cache-fil | --cache-fi \
- | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
- ac_prev=cache_file ;;
- -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
- | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
- cache_file="$ac_optarg" ;;
-
- -disable-* | --disable-*)
- ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
- { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
- fi
- ac_feature=`echo $ac_feature| sed 's/-/_/g'`
- eval "enable_${ac_feature}=no" ;;
-
- -enable-* | --enable-*)
- ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
- { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
- fi
- ac_feature=`echo $ac_feature| sed 's/-/_/g'`
- case "$ac_option" in
- *=*) ;;
- *) ac_optarg=yes ;;
- esac
- eval "enable_${ac_feature}='$ac_optarg'" ;;
-
- -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
- | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
- | --exec | --exe | --ex)
- ac_prev=exec_prefix ;;
- -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
- | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
- | --exec=* | --exe=* | --ex=*)
- exec_prefix="$ac_optarg" ;;
-
- -gas | --gas | --ga | --g)
- # Obsolete; use --with-gas.
- with_gas=yes ;;
-
- -help | --help | --hel | --he)
- # 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
-Usage: configure [options] [host]
-Options: [defaults in brackets after descriptions]
-Configuration:
- --cache-file=FILE cache test results in FILE
- --help print this message
- --no-create do not create output files
- --quiet, --silent do not print \`checking...' messages
- --version print the version of autoconf that created configure
-Directory and file names:
- --prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
- --exec-prefix=PREFIX install architecture-dependent files in PREFIX
- [same as prefix]
- --srcdir=DIR find the sources in DIR [configure dir or ..]
- --program-prefix=PREFIX prepend PREFIX to installed program names
- --program-suffix=SUFFIX append SUFFIX to installed program names
- --program-transform-name=PROGRAM run sed PROGRAM on installed program names
-Host type:
- --build=BUILD configure for building on BUILD [BUILD=HOST]
- --host=HOST configure for HOST [guessed]
- --target=TARGET configure for TARGET [TARGET=HOST]
-Features and packages:
- --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
- --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
- --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
- --x-includes=DIR X include files are in DIR
- --x-libraries=DIR X library files are in DIR
---enable and --with options recognized:$ac_help
-EOF
- exit 0 ;;
-
- -host | --host | --hos | --ho)
- ac_prev=host ;;
- -host=* | --host=* | --hos=* | --ho=*)
- host="$ac_optarg" ;;
-
- -nfp | --nfp | --nf)
- # Obsolete; use --without-fp.
- with_fp=no ;;
-
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c)
- no_create=yes ;;
-
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
- no_recursion=yes ;;
-
- -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
- ac_prev=prefix ;;
- -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
- prefix="$ac_optarg" ;;
-
- -program-prefix | --program-prefix | --program-prefi | --program-pref \
- | --program-pre | --program-pr | --program-p)
- ac_prev=program_prefix ;;
- -program-prefix=* | --program-prefix=* | --program-prefi=* \
- | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
- program_prefix="$ac_optarg" ;;
-
- -program-suffix | --program-suffix | --program-suffi | --program-suff \
- | --program-suf | --program-su | --program-s)
- ac_prev=program_suffix ;;
- -program-suffix=* | --program-suffix=* | --program-suffi=* \
- | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
- program_suffix="$ac_optarg" ;;
-
- -program-transform-name | --program-transform-name \
- | --program-transform-nam | --program-transform-na \
- | --program-transform-n | --program-transform- \
- | --program-transform | --program-transfor \
- | --program-transfo | --program-transf \
- | --program-trans | --program-tran \
- | --progr-tra | --program-tr | --program-t)
- ac_prev=program_transform_name ;;
- -program-transform-name=* | --program-transform-name=* \
- | --program-transform-nam=* | --program-transform-na=* \
- | --program-transform-n=* | --program-transform-=* \
- | --program-transform=* | --program-transfor=* \
- | --program-transfo=* | --program-transf=* \
- | --program-trans=* | --program-tran=* \
- | --progr-tra=* | --program-tr=* | --program-t=*)
- program_transform_name="$ac_optarg" ;;
-
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- silent=yes ;;
-
- -site | --site | --sit)
- ac_prev=site ;;
- -site=* | --site=* | --sit=*)
- site="$ac_optarg" ;;
-
- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
- ac_prev=srcdir ;;
- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
- srcdir="$ac_optarg" ;;
-
- -target | --target | --targe | --targ | --tar | --ta | --t)
- ac_prev=target ;;
- -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
- target="$ac_optarg" ;;
-
- -v | -verbose | --verbose | --verbos | --verbo | --verb)
- verbose=yes ;;
-
- -version | --version | --versio | --versi | --vers)
- echo "configure generated by autoconf version 2.1"
- exit 0 ;;
-
- -with-* | --with-*)
- ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
- { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
- fi
- ac_package=`echo $ac_package| sed 's/-/_/g'`
- case "$ac_option" in
- *=*) ;;
- *) ac_optarg=yes ;;
- esac
- eval "with_${ac_package}='$ac_optarg'" ;;
-
- -without-* | --without-*)
- ac_package=`echo $ac_option|sed -e 's/-*without-//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
- { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
- fi
- ac_package=`echo $ac_package| sed 's/-/_/g'`
- eval "with_${ac_package}=no" ;;
-
- --x)
- # Obsolete; use --with-x.
- with_x=yes ;;
-
- -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
- | --x-incl | --x-inc | --x-in | --x-i)
- ac_prev=x_includes ;;
- -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
- | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
- x_includes="$ac_optarg" ;;
-
- -x-libraries | --x-libraries | --x-librarie | --x-librari \
- | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
- ac_prev=x_libraries ;;
- -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
- | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
- x_libraries="$ac_optarg" ;;
-
- -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
- ;;
-
- *)
- if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
- echo "configure: warning: $ac_option: invalid host type" 1>&2
- fi
- if test "x$nonopt" != xNONE; then
- { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
- fi
- nonopt="$ac_option"
- ;;
-
- esac
-done
-
-if test -n "$ac_prev"; then
- { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
-fi
-
-trap 'rm -fr conftest* confdefs* core $ac_clean_files; exit 1' 1 2 15
-
-# File descriptor usage:
-# 0 unused; standard input
-# 1 file creation
-# 2 errors and warnings
-# 3 unused; some systems may open it to /dev/tty
-# 4 checking for... messages and results
-# 5 compiler messages saved in config.log
-if test "$silent" = yes; then
- exec 4>/dev/null
-else
- exec 4>&1
-fi
-exec 5>./config.log
-
-echo "\
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-" 1>&5
-
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Also quote any args containing shell metacharacters.
-ac_configure_args=
-for ac_arg
-do
- case "$ac_arg" in
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c) ;;
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
- *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
- ac_configure_args="$ac_configure_args '$ac_arg'" ;;
- *) ac_configure_args="$ac_configure_args $ac_arg" ;;
- esac
-done
-
-# NLS nuisances.
-# Only set LANG and LC_ALL to C if already set.
-# These must not be set unconditionally because not all systems understand
-# e.g. LANG=C (notably SCO).
-if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
-if test "${LANG+set}" = set; then LANG=C; export LANG; fi
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -rf conftest* confdefs.h
-# AIX cpp loses on an empty file, so make sure it contains at least a newline.
-echo > confdefs.h
-
-# A filename unique to this package, relative to the directory that
-# configure is in, which we can look for to find out if srcdir is correct.
-ac_unique_file=acgeneral.m4
-
-# 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
- srcdir=..
- fi
-else
- ac_srcdir_defaulted=no
-fi
-if test ! -r $srcdir/$ac_unique_file; then
- if test "$ac_srcdir_defaulted" = yes; then
- { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
- else
- { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
- fi
-fi
-srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
-
-# Prefer explicitly selected file to automatically selected ones.
-if test -z "$CONFIG_SITE"; then
- if test "x$prefix" != xNONE; then
- CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
- else
- CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
- fi
-fi
-for ac_site_file in $CONFIG_SITE; do
- if test -r "$ac_site_file"; then
- echo "loading site script $ac_site_file"
- . "$ac_site_file"
- fi
-done
-
-if test -r "$cache_file"; then
- echo "loading cache $cache_file"
- . $cache_file
-else
- echo "creating cache $cache_file"
- > $cache_file
-fi
-
-ac_ext=c
-# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='${CC-cc} $CFLAGS $CPPFLAGS conftest.$ac_ext -c 1>&5 2>&5'
-ac_link='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext -o conftest $LIBS 1>&5 2>&5'
-
-if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
- # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
- if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
- ac_n= ac_c='
-' ac_t=' '
- else
- ac_n=-n ac_c= ac_t=
- fi
-else
- ac_n= ac_c='\c' ac_t=
-fi
-
-
-
-if test "$program_transform_name" = s,x,x,; then
- program_transform_name=
-else
- # Double any \ or $.
- echo 's,\\,\\\\,g; s,\$,$$,g' > conftestsed
- program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
- rm -f conftestsed
-fi
-test "$program_prefix" != NONE &&
- program_transform_name="s,^,${program_prefix},; $program_transform_name"
-# Use a double $ so make ignores it.
-test "$program_suffix" != NONE &&
- program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
-
-# sed with no file args requires a program.
-test "$program_transform_name" = "" && program_transform_name="s,x,x,"
-
-
-for ac_prog in gm4 gnum4 m4
-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 $ac_n "checking for $ac_word""... $ac_c" 1>&4
-if eval "test \"`echo '${'ac_cv_path_M4'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&4
-else
- case "$M4" in
- /*)
- ac_cv_path_M4="$M4" # Let the user override the test with a path.
- ;;
- *)
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
- for ac_dir in $PATH; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_path_M4="$ac_dir/$ac_word"
- break
- fi
- done
- IFS="$ac_save_ifs"
- ;;
-esac
-fi
-M4="$ac_cv_path_M4"
-if test -n "$M4"; then
- echo "$ac_t""$M4" 1>&4
-else
- echo "$ac_t""no" 1>&4
-fi
-
-test -n "$M4" && break
-done
-test -n "$M4" || M4="m4"
-
-
-# Extract the first word of "perl", so it can be a program name with args.
-set dummy perl; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&4
-if eval "test \"`echo '${'ac_cv_path_PERL'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&4
-else
- case "$PERL" in
- /*)
- ac_cv_path_PERL="$PERL" # Let the user override the test with a path.
- ;;
- *)
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
- for ac_dir in $PATH; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_path_PERL="$ac_dir/$ac_word"
- break
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_path_PERL" && ac_cv_path_PERL="no"
- ;;
-esac
-fi
-PERL="$ac_cv_path_PERL"
-if test -n "$PERL"; then
- echo "$ac_t""$PERL" 1>&4
-else
- echo "$ac_t""no" 1>&4
-fi
-
-if test "$PERL" != no; then
- SCRIPTS=autoscan
-else
- echo "configure: warning: autoscan will not be built since perl is not found" 1>&2
-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
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# ./install, which can be erroneously created by make from ./install.sh.
-echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&4
-if test -z "$INSTALL"; then
-if eval "test \"`echo '${'ac_cv_path_install'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&4
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
- for ac_dir in $PATH; do
- case "$ac_dir" in
- ''|.|/etc|/usr/sbin|/usr/etc|/sbin|/usr/afsws/bin|/usr/ucb) ;;
- *)
- # OSF1 and SCO ODT 3.0 have their own names for install.
- for ac_prog in ginstall installbsd scoinst install; do
- if test -f $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.
- # OSF/1 installbsd also uses dspmsg, but is usable.
- :
- else
- ac_cv_path_install="$ac_dir/$ac_prog -c"
- break 2
- fi
- fi
- done
- ;;
- esac
- done
- IFS="$ac_save_ifs"
- # As a last resort, use the slow shell script.
- test -z "$ac_cv_path_install" && ac_cv_path_install="$ac_install_sh"
-fi
- INSTALL="$ac_cv_path_install"
-fi
-echo "$ac_t""$INSTALL" 1>&4
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-
-# Work with the GNU or Cygnus source tree layout.
-if test -f $srcdir/standards.texi; then
- standards_info=standards.info standards_dvi=standards.dvi
-fi
-
-trap '' 1 2 15
-if test -w $cache_file; then
-echo "updating cache $cache_file"
-cat > $cache_file <<\EOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs. It is not useful on other systems.
-# If it contains results you don't want to keep, you may remove or edit it.
-#
-# By default, configure uses ./config.cache as the cache file,
-# creating it if it does not exist already. You can give configure
-# the --cache-file=FILE option to use a different cache file; that is
-# what configure does when it calls configure scripts in
-# subdirectories, so they share the cache.
-# Giving --cache-file=/dev/null disables caching, for debugging configure.
-# config.status only pays attention to the cache file if you give it the
-# --recheck option to rerun configure.
-#
-EOF
-# Ultrix sh set writes to stderr and can't be redirected directly.
-# Ultrix sh set also returns variables that were read in from the config file
-# with their high bit set.
-(set) 2>&1 | tr '\201-\377' '\001-\177' |
- sed -n "s/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/: \${\1='\2'}/p" \
- >> $cache_file
-else
-echo "not updating unwritable cache $cache_file"
-fi
-
-trap 'rm -fr conftest* confdefs* core $ac_clean_files; exit 1' 1 2 15
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-# Any assignment to VPATH causes Sun make to only execute
-# the first set of double-colon rules, so remove it if not needed.
-# If there is a colon in the path, we need to keep it.
-if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
-fi
-
-trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
-
-# Transform confdefs.h into DEFS.
-# Protect against shell expansion while executing Makefile rules.
-# Protect against Makefile macro expansion.
-cat > conftest.defs <<\EOF
-s%#define \([A-Za-z_][A-Za-z0-9_]*\) \(.*\)%-D\1=\2%g
-s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
-s%\[%\\&%g
-s%\]%\\&%g
-s%\$%$$%g
-EOF
-DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
-rm -f conftest.defs
-
-
-# Without the "./", some shells look in PATH for config.status.
-: ${CONFIG_STATUS=./config.status}
-
-echo creating $CONFIG_STATUS
-rm -f $CONFIG_STATUS
-cat > $CONFIG_STATUS <<EOF
-#!/bin/sh
-# Generated automatically by configure.
-# Run this file to recreate the current configuration.
-# This directory was configured as follows,
-# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-#
-# $0 $ac_configure_args
-#
-# Compiler output produced by configure, useful for debugging
-# configure, is in ./config.log if it exists.
-
-ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
-for ac_option
-do
- case "\$ac_option" in
- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
- echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
- exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
- -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
- echo "$CONFIG_STATUS generated by autoconf version 2.1"
- exit 0 ;;
- -help | --help | --hel | --he | --h)
- echo "\$ac_cs_usage"; exit 0 ;;
- *) echo "\$ac_cs_usage"; exit 1 ;;
- esac
-done
-
-ac_given_srcdir=$srcdir
-ac_given_INSTALL="$INSTALL"
-
-trap 'rm -f Makefile testsuite/Makefile; exit 1' 1 2 15
-
-# Protect against being on the right side of a sed subst in config.status.
-sed 's/%@/@@/; s/@%/@@/; s/%g$/@g/; /@g$/s/[\\\\&%]/\\\\&/g;
- s/@@/%@/; s/@@/@%/; s/@g$/%g/' > conftest.subs <<\CEOF
-$ac_vpsub
-$extrasub
-s%@CFLAGS@%$CFLAGS%g
-s%@CPPFLAGS@%$CPPFLAGS%g
-s%@CXXFLAGS@%$CXXFLAGS%g
-s%@DEFS@%$DEFS%g
-s%@LDFLAGS@%$LDFLAGS%g
-s%@LIBS@%$LIBS%g
-s%@exec_prefix@%$exec_prefix%g
-s%@prefix@%$prefix%g
-s%@program_transform_name@%$program_transform_name%g
-s%@M4@%$M4%g
-s%@PERL@%$PERL%g
-s%@SCRIPTS@%$SCRIPTS%g
-s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
-s%@INSTALL_DATA@%$INSTALL_DATA%g
-s%@standards_info@%$standards_info%g
-s%@standards_dvi@%$standards_dvi%g
-
-CEOF
-EOF
-cat >> $CONFIG_STATUS <<EOF
-
-CONFIG_FILES=\${CONFIG_FILES-"Makefile testsuite/Makefile"}
-EOF
-cat >> $CONFIG_STATUS <<\EOF
-for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
- # Support "outfile[:infile]", defaulting infile="outfile.in".
- case "$ac_file" in
- *:*) ac_file_in=`echo "$ac_file"|sed 's%.*:%%'`
- ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
- *) ac_file_in="${ac_file}.in" ;;
- esac
-
- # Adjust relative srcdir, etc. for subdirectories.
-
- # Remove last slash and all that follows it. Not all systems have dirname.
- ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
- if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
- # The file is in a subdirectory.
- test ! -d "$ac_dir" && mkdir "$ac_dir"
- ac_dir_suffix="/$ac_dir"
- # A "../" for each directory in $ac_dir_suffix.
- ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
- else
- ac_dir_suffix= ac_dots=
- fi
-
- case "$ac_given_srcdir" in
- .) srcdir=.
- if test -z "$ac_dots"; then top_srcdir=.
- else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
- /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
- *) # Relative path.
- srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
- top_srcdir="$ac_dots$ac_given_srcdir" ;;
- esac
-
- case "$ac_given_INSTALL" in
- [/$]*) INSTALL="$ac_given_INSTALL" ;;
- *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
- esac
- echo creating "$ac_file"
- rm -f "$ac_file"
- configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
- case "$ac_file" in
- *Makefile*) ac_comsub="1i\\
-# $configure_input" ;;
- *) ac_comsub= ;;
- esac
- sed -e "$ac_comsub
-s%@configure_input@%$configure_input%g
-s%@srcdir@%$srcdir%g
-s%@top_srcdir@%$top_srcdir%g
-s%@INSTALL@%$INSTALL%g
-" -f conftest.subs $ac_given_srcdir/$ac_file_in > $ac_file
-fi; done
-rm -f conftest.subs
-
-
-
-exit 0
-EOF
-chmod +x $CONFIG_STATUS
-rm -fr confdefs* $ac_clean_files
-test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS
-
diff --git a/util/autoconf/configure.in b/util/autoconf/configure.in
deleted file mode 100644
index 7fd871e..0000000
--- a/util/autoconf/configure.in
+++ /dev/null
@@ -1,31 +0,0 @@
-dnl Process this file with autoconf to produce a configure script.
-AC_INIT(acgeneral.m4)
-
-AC_ARG_PROGRAM
-
-dnl We use a path for GNU m4 so even if users have another m4 first in
-dnl their path, the installer can configure with a path that has GNU m4
-dnl first and get that path embedded in the installed autoconf and
-dnl autoheader scripts.
-AC_PATH_PROGS(M4, gm4 gnum4 m4, m4)
-
-dnl We use a path for perl so the #! line in autoscan will work.
-AC_PATH_PROG(PERL, perl, no)
-AC_SUBST(PERL)dnl
-AC_SUBST(SCRIPTS)dnl
-if test "$PERL" != no; then
- SCRIPTS=autoscan
-else
- AC_MSG_WARN(autoscan will not be built since perl is not found)
-fi
-
-AC_PROG_INSTALL
-
-# Work with the GNU or Cygnus source tree layout.
-if test -f $srcdir/standards.texi; then
- standards_info=standards.info standards_dvi=standards.dvi
-fi
-AC_SUBST(standards_info)dnl
-AC_SUBST(standards_dvi)dnl
-
-AC_OUTPUT(Makefile testsuite/Makefile)
diff --git a/util/autoconf/ifnames b/util/autoconf/ifnames
deleted file mode 100755
index 67f4da1..0000000
--- a/util/autoconf/ifnames
+++ /dev/null
@@ -1,93 +0,0 @@
-#!/bin/sh
-# ifnames - print the identifiers used in C preprocessor conditionals
-# Copyright (C) 1994 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-# Reads from stdin if no files are given.
-# Writes to stdout.
-
-# Written by David MacKenzie <djm@gnu.ai.mit.edu>
-
-usage="\
-Usage: ifnames [-h] [--help] [-m dir] [--macrodir=dir] [--version] [file...]"
-show_version=no
-
-test -z "$AC_MACRODIR" && AC_MACRODIR=/usr/local/share/autoconf
-
-while test $# -gt 0; do
- case "$1" in
- -h | --help | --h* )
- echo "$usage"; exit 0 ;;
- --macrodir=* | --m*=* )
- AC_MACRODIR="`echo \"$1\" | sed -e 's/^[^=]*=//'`"
- shift ;;
- -m | --macrodir | --m* )
- shift
- test $# -eq 0 && { echo "$usage" 1>&2; exit 1; }
- AC_MACRODIR="$1"
- shift ;;
- --version | --versio | --versi | --vers)
- show_version=yes; shift ;;
- --) # Stop option processing.
- shift; break ;;
- -*) echo "$usage" 1>&2; exit 1 ;;
- *) break ;;
- esac
-done
-
-if test $show_version = yes; then
- version=`sed -n 's/define.AC_ACVERSION.[ ]*\([0-9.]*\).*/\1/p' \
- $AC_MACRODIR/acgeneral.m4`
- echo "Autoconf version $version"
- exit 0
-fi
-
-if test $# -eq 0; then
- cat > stdin
- set stdin
- trap 'rm -f stdin' 0
- trap 'rm -f stdin; exit 1' 1 3 15
-fi
-
-for arg
-do
-# The first two substitutions remove comments. Not perfect, but close enough.
-# The second is for comments that end on a later line. The others do:
-# Enclose identifiers in @ and a space.
-# Handle "#if 0" -- there are no @s to trigger removal.
-# Remove non-identifiers.
-# Remove any spaces at the end.
-# Translate any other spaces to newlines.
-sed -n '
-s%/\*[^/]*\*/%%g
-s%/\*[^/]*%%g
-/^[ ]*#[ ]*ifn*def[ ][ ]*\([A-Za-z0-9_]*\).*/s//\1/p
-/^[ ]*#[ ]*e*l*if[ ]/{
- s///
- s/@//g
- s/\([A-Za-z_][A-Za-z_0-9]*\)/@\1 /g
- s/$/@ /
- s/@defined //g
- s/[^@]*@\([^ ]* \)[^@]*/\1/g
- s/ *$//
- s/ /\
-/g
- p
-}
-' $arg | sort -u | sed 's%$% '$arg'%'
-done | awk '
-{ files[$1] = files[$1] " " $2 }
-END { for (sym in files) print sym files[sym] }' | sort
diff --git a/util/autoconf/ifnames.sh b/util/autoconf/ifnames.sh
deleted file mode 100644
index cd95da8..0000000
--- a/util/autoconf/ifnames.sh
+++ /dev/null
@@ -1,93 +0,0 @@
-#!/bin/sh
-# ifnames - print the identifiers used in C preprocessor conditionals
-# Copyright (C) 1994 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-# Reads from stdin if no files are given.
-# Writes to stdout.
-
-# Written by David MacKenzie <djm@gnu.ai.mit.edu>
-
-usage="\
-Usage: ifnames [-h] [--help] [-m dir] [--macrodir=dir] [--version] [file...]"
-show_version=no
-
-test -z "$AC_MACRODIR" && AC_MACRODIR=@datadir@
-
-while test $# -gt 0; do
- case "$1" in
- -h | --help | --h* )
- echo "$usage"; exit 0 ;;
- --macrodir=* | --m*=* )
- AC_MACRODIR="`echo \"$1\" | sed -e 's/^[^=]*=//'`"
- shift ;;
- -m | --macrodir | --m* )
- shift
- test $# -eq 0 && { echo "$usage" 1>&2; exit 1; }
- AC_MACRODIR="$1"
- shift ;;
- --version | --versio | --versi | --vers)
- show_version=yes; shift ;;
- --) # Stop option processing.
- shift; break ;;
- -*) echo "$usage" 1>&2; exit 1 ;;
- *) break ;;
- esac
-done
-
-if test $show_version = yes; then
- version=`sed -n 's/define.AC_ACVERSION.[ ]*\([0-9.]*\).*/\1/p' \
- $AC_MACRODIR/acgeneral.m4`
- echo "Autoconf version $version"
- exit 0
-fi
-
-if test $# -eq 0; then
- cat > stdin
- set stdin
- trap 'rm -f stdin' 0
- trap 'rm -f stdin; exit 1' 1 3 15
-fi
-
-for arg
-do
-# The first two substitutions remove comments. Not perfect, but close enough.
-# The second is for comments that end on a later line. The others do:
-# Enclose identifiers in @ and a space.
-# Handle "#if 0" -- there are no @s to trigger removal.
-# Remove non-identifiers.
-# Remove any spaces at the end.
-# Translate any other spaces to newlines.
-sed -n '
-s%/\*[^/]*\*/%%g
-s%/\*[^/]*%%g
-/^[ ]*#[ ]*ifn*def[ ][ ]*\([A-Za-z0-9_]*\).*/s//\1/p
-/^[ ]*#[ ]*e*l*if[ ]/{
- s///
- s/@//g
- s/\([A-Za-z_][A-Za-z_0-9]*\)/@\1 /g
- s/$/@ /
- s/@defined //g
- s/[^@]*@\([^ ]* \)[^@]*/\1/g
- s/ *$//
- s/ /\
-/g
- p
-}
-' $arg | sort -u | sed 's%$% '$arg'%'
-done | awk '
-{ files[$1] = files[$1] " " $2 }
-END { for (sym in files) print sym files[sym] }' | sort
diff --git a/util/autoconf/install-sh b/util/autoconf/install-sh
deleted file mode 100755
index ab74c88..0000000
--- a/util/autoconf/install-sh
+++ /dev/null
@@ -1,238 +0,0 @@
-#!/bin/sh
-#
-# install - install a program, script, or datafile
-# This comes from X11R5.
-#
-# Calling this script install-sh is preferred over install.sh, to prevent
-# `make' implicit rules from creating a file called install from it
-# when there is no Makefile.
-#
-# This script is compatible with the BSD install script, but was written
-# from scratch.
-#
-
-
-# set DOITPROG to echo to test this script
-
-# Don't use :- since 4.3BSD and earlier shells don't like it.
-doit="${DOITPROG-}"
-
-
-# put in absolute paths if you don't have them in your path; or use env. vars.
-
-mvprog="${MVPROG-mv}"
-cpprog="${CPPROG-cp}"
-chmodprog="${CHMODPROG-chmod}"
-chownprog="${CHOWNPROG-chown}"
-chgrpprog="${CHGRPPROG-chgrp}"
-stripprog="${STRIPPROG-strip}"
-rmprog="${RMPROG-rm}"
-mkdirprog="${MKDIRPROG-mkdir}"
-
-tranformbasename=""
-transform_arg=""
-instcmd="$mvprog"
-chmodcmd="$chmodprog 0755"
-chowncmd=""
-chgrpcmd=""
-stripcmd=""
-rmcmd="$rmprog -f"
-mvcmd="$mvprog"
-src=""
-dst=""
-dir_arg=""
-
-while [ x"$1" != x ]; do
- case $1 in
- -c) instcmd="$cpprog"
- shift
- continue;;
-
- -d) dir_arg=true
- shift
- continue;;
-
- -m) chmodcmd="$chmodprog $2"
- shift
- shift
- continue;;
-
- -o) chowncmd="$chownprog $2"
- shift
- shift
- continue;;
-
- -g) chgrpcmd="$chgrpprog $2"
- shift
- shift
- continue;;
-
- -s) stripcmd="$stripprog"
- shift
- continue;;
-
- -t=*) transformarg=`echo $1 | sed 's/-t=//'`
- shift
- continue;;
-
- -b=*) transformbasename=`echo $1 | sed 's/-b=//'`
- shift
- continue;;
-
- *) if [ x"$src" = x ]
- then
- src=$1
- else
- # this colon is to work around a 386BSD /bin/sh bug
- :
- dst=$1
- fi
- shift
- continue;;
- esac
-done
-
-if [ x"$src" = x ]
-then
- echo "install: no input file specified"
- exit 1
-else
- true
-fi
-
-if [ x"$dir_arg" != x ]; then
- dst=$src
- src=""
-
- if [ -d $dst ]; then
- instcmd=:
- else
- instcmd=mkdir
- fi
-else
-
-# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
-# might cause directories to be created, which would be especially bad
-# if $src (and thus $dsttmp) contains '*'.
-
- if [ -f $src -o -d $src ]
- then
- true
- else
- echo "install: $src does not exist"
- exit 1
- fi
-
- if [ x"$dst" = x ]
- then
- echo "install: no destination specified"
- exit 1
- else
- true
- fi
-
-# If destination is a directory, append the input filename; if your system
-# does not like double slashes in filenames, you may need to add some logic
-
- if [ -d $dst ]
- then
- dst="$dst"/`basename $src`
- else
- true
- fi
-fi
-
-## this sed command emulates the dirname command
-dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
-
-# Make sure that the destination directory exists.
-# this part is taken from Noah Friedman's mkinstalldirs script
-
-# Skip lots of stat calls in the usual case.
-if [ ! -d "$dstdir" ]; then
-defaultIFS='
-'
-IFS="${IFS-${defaultIFS}}"
-
-oIFS="${IFS}"
-# Some sh's can't handle IFS=/ for some reason.
-IFS='%'
-set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
-IFS="${oIFS}"
-
-pathcomp=''
-
-while [ $# -ne 0 ] ; do
- pathcomp="${pathcomp}${1}"
- shift
-
- if [ ! -d "${pathcomp}" ] ;
- then
- $mkdirprog "${pathcomp}"
- else
- true
- fi
-
- pathcomp="${pathcomp}/"
-done
-fi
-
-if [ x"$dir_arg" != x ]
-then
- $doit $instcmd $dst &&
-
- if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
- if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
- if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
- if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
-else
-
-# If we're going to rename the final executable, determine the name now.
-
- if [ x"$transformarg" = x ]
- then
- dstfile=`basename $dst`
- else
- dstfile=`basename $dst $transformbasename |
- sed $transformarg`$transformbasename
- fi
-
-# don't allow the sed command to completely eliminate the filename
-
- if [ x"$dstfile" = x ]
- then
- dstfile=`basename $dst`
- else
- true
- fi
-
-# Make a temp file name in the proper directory.
-
- dsttmp=$dstdir/#inst.$$#
-
-# Move or copy the file name to the temp name
-
- $doit $instcmd $src $dsttmp &&
-
- trap "rm -f ${dsttmp}" 0 &&
-
-# and set any options; do chmod last to preserve setuid bits
-
-# If any of these fail, we abort the whole thing. If we want to
-# ignore errors from any of these, just make sure not to ignore
-# errors from the above "$doit $instcmd $src $dsttmp" command.
-
- if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
- if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
- if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
- if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&
-
-# Now rename the file to the real destination.
-
- $doit $rmcmd -f $dstdir/$dstfile &&
- $doit $mvcmd $dsttmp $dstdir/$dstfile
-
-fi &&
-
-
-exit 0
diff --git a/util/autoconf/install.texi b/util/autoconf/install.texi
deleted file mode 100644
index bff0738..0000000
--- a/util/autoconf/install.texi
+++ /dev/null
@@ -1,193 +0,0 @@
-@c This file is included by autoconf.texi and is used to produce
-@c the INSTALL file.
-
-@node Basic Installation
-@section Basic Installation
-
-These are generic installation instructions.
-
-The @code{configure} shell script attempts to guess correct values for
-various system-dependent variables used during compilation. It uses
-those values to create a @file{Makefile} in each directory of the
-package. It may also create one or more @file{.h} files containing
-system-dependent definitions. Finally, it creates a shell script
-@file{config.status} that you can run in the future to recreate the
-current configuration, a file @file{config.cache} that saves the results
-of its tests to speed up reconfiguring, and a file @file{config.log}
-containing compiler output (useful mainly for debugging
-@code{configure}).
-
-If you need to do unusual things to compile the package, please try to
-figure out how @code{configure} could check whether to do them, and mail
-diffs or instructions to the address given in the @file{README} so they
-can be considered for the next release. If at some point
-@file{config.cache} contains results you don't want to keep, you may
-remove or edit it.
-
-The file @file{configure.in} is used to create @file{configure} by a
-program called @code{autoconf}. You only need @file{configure.in} if
-you want to change it or regenerate @file{configure} using a newer
-version of @code{autoconf}.
-
-@noindent
-The simplest way to compile this package is:
-
-@enumerate
-@item
-@code{cd} to the directory containing the package's source code and type
-@samp{./configure} to configure the package for your system. If you're
-using @code{csh} on an old version of System V, you might need to type
-@samp{sh ./configure} instead to prevent @code{csh} from trying to
-execute @code{configure} itself.
-
-Running @code{configure} takes awhile. While running, it prints some
-messages telling which features it is checking for.
-
-@item
-Type @samp{make} to compile the package.
-
-@item
-Optionally, type @samp{make check} to run any self-tests that come with
-the package.
-
-@item
-Type @samp{make install} to install the programs and any data files and
-documentation.
-
-@item
-You can remove the program binaries and object files from the source
-directory by typing @samp{make clean}. To also remove the files that
-@code{configure} created (so you can compile the package for a different
-kind of computer), type @samp{make distclean}.
-@end enumerate
-
-@node Compilers and Options
-@section Compilers and Options
-
-Some systems require unusual options for compilation or linking that
-the @code{configure} script does not know about. You can give
-@code{configure} initial values for variables by setting them in the
-environment. Using a Bourne-compatible shell, you can do that on the
-command line like this:
-@example
-CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
-@end example
-
-@noindent
-Or on systems that have the @code{env} program, you can do it like this:
-@example
-env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
-@end example
-
-@node Build Directory
-@section Using a Different Build Directory
-
-You can compile the package in a different directory from the one
-containing the source code. Doing so allows you to compile it on more
-than one kind of computer at the same time. To do this, you must use a
-version of @code{make} that supports the @code{VPATH} variable, such as
-GNU @code{make}. @code{cd} to the directory where you want the object
-files and executables to go and run the @code{configure} script.
-@code{configure} automatically checks for the source code in the
-directory that @code{configure} is in and in @file{..}.
-
-@node Installation Names
-@section Installation Names
-
-By default, @samp{make install} will install the package's files in
-@file{/usr/local/bin}, @file{/usr/local/man}, etc. You can specify an
-installation prefix other than @file{/usr/local} by giving
-@code{configure} the option @samp{--prefix=@var{path}}.
-
-You can specify separate installation prefixes for architecture-specific
-files and architecture-independent files. If you give @code{configure}
-the option @samp{--exec-prefix=@var{path}}, the package will use
-@var{path} as the prefix for installing programs and libraries.
-Documentation and other data files will still use the regular prefix.
-
-If the package supports it, you can cause programs to be installed with
-an extra prefix or suffix on their names by giving @code{configure} the
-option @samp{--program-prefix=@var{PREFIX}} or
-@samp{--program-suffix=@var{SUFFIX}}.
-
-@node Optional Features
-@section Optional Features
-
-Some packages pay attention to @samp{--enable-@var{feature}} options to
-@code{configure}, where @var{feature} indicates an optional part of the
-package. They may also pay attention to @samp{--with-@var{package}}
-options, where @var{package} is something like @samp{gnu-as} or @samp{x}
-(for the X Window System). The @file{README} should mention any
-@samp{--enable-} and @samp{--with-} options that the package recognizes.
-
-For packages that use the X Window System, @code{configure} can usually
-find the X include and library files automatically, but if it doesn't,
-you can use the @code{configure} options @samp{--x-includes=@var{dir}}
-and @samp{--x-libraries=@var{dir}} to specify their locations.
-
-@node System Type
-@section Specifying the System Type
-
-There may be some features @code{configure} can not figure out
-automatically, but needs to determine by the type of host the package
-will run on. Usually @code{configure} can figure that out, but if it
-prints a message saying it can not guess the host type, give it the
-@samp{--host=@var{type}} option. @var{type} can either be a short name
-for the system type, such as @samp{sun4}, or a canonical name with three
-fields:
-@example
-@var{cpu}-@var{company}-@var{system}
-@end example
-@noindent
-See the file @file{config.sub} for the possible values of each field.
-If @file{config.sub} isn't included in this package, then this package
-doesn't need to know the host type.
-
-If you are building compiler tools for cross-compiling, you can also use
-the @samp{--target=@var{type}} option to select the type of system
-they will produce code for and the @samp{--build=@var{type}} option
-to select the type of system on which you are compiling the package.
-
-@node Sharing Defaults
-@section Sharing Defaults
-
-If you want to set default values for @code{configure} scripts to share,
-you can create a site shell script called @file{config.site} that gives
-default values for variables like @code{CC}, @code{cache_file}, and
-@code{prefix}. @code{configure} looks for
-@file{@var{prefix}/share/config.site} if it exists, then
-@file{@var{prefix}/etc/config.site} if it exists. Or, you can set
-the @code{CONFIG_SITE} environment variable to the location of the site
-script. A warning: not all @code{configure} scripts look for a site script.
-
-@node Operation Controls
-@section Operation Controls
-
-@code{configure} recognizes the following options to control how it
-operates.
-
-@table @code
-@item --cache-file=@var{file}
-Save the results of the tests in @var{file} instead of
-@file{config.cache}. Set @var{file} to @file{/dev/null} to disable
-caching, for debugging @code{configure}.
-
-@item --help
-Print a summary of the options to @code{configure}, and exit.
-
-@item --quiet
-@itemx --silent
-@itemx -q
-Do not print messages saying which checks are being made.
-
-@item --srcdir=@var{dir}
-Look for the package's source code in directory @var{dir}. Usually
-@code{configure} can determine that directory automatically.
-
-@item --version
-Print the version of Autoconf used to generate the @code{configure}
-script, and exit.
-@end table
-
-@noindent
-@code{configure} also accepts some other, not widely useful, options.
diff --git a/util/autoconf/make-stds.texi b/util/autoconf/make-stds.texi
deleted file mode 100644
index 95a42ec..0000000
--- a/util/autoconf/make-stds.texi
+++ /dev/null
@@ -1,625 +0,0 @@
-@comment This file is included by both standards.texi and make.texinfo.
-@comment It was broken out of standards.texi on 1/6/93 by roland.
-
-@node Makefile Conventions
-@chapter Makefile Conventions
-@comment standards.texi does not print an index, but make.texinfo does.
-@cindex makefile, conventions for
-@cindex conventions for makefiles
-@cindex standards for makefiles
-
-This chapter describes conventions for writing the Makefiles for GNU programs.
-
-@menu
-* Makefile Basics::
-* Utilities in Makefiles::
-* Standard Targets::
-* Command Variables::
-* Directory Variables::
-@end menu
-
-@node Makefile Basics
-@section General Conventions for Makefiles
-
-Every Makefile should contain this line:
-
-@example
-SHELL = /bin/sh
-@end example
-
-@noindent
-to avoid trouble on systems where the @code{SHELL} variable might be
-inherited from the environment. (This is never a problem with GNU
-@code{make}.)
-
-Different @code{make} programs have incompatible suffix lists and
-implicit rules, and this sometimes creates confusion or misbehavior. So
-it is a good idea to set the suffix list explicitly using only the
-suffixes you need in the particular Makefile, like this:
-
-@example
-.SUFFIXES:
-.SUFFIXES: .c .o
-@end example
-
-@noindent
-The first line clears out the suffix list, the second introduces all
-suffixes which may be subject to implicit rules in this Makefile.
-
-Don't assume that @file{.} is in the path for command execution. When
-you need to run programs that are a part of your package during the
-make, please make sure that it uses @file{./} if the program is built as
-part of the make or @file{$(srcdir)/} if the file is an unchanging part
-of the source code. Without one of these prefixes, the current search
-path is used.
-
-The distinction between @file{./} and @file{$(srcdir)/} is important
-when using the @samp{--srcdir} option to @file{configure}. A rule of
-the form:
-
-@smallexample
-foo.1 : foo.man sedscript
- sed -e sedscript foo.man > foo.1
-@end smallexample
-
-@noindent
-will fail when the current directory is not the source directory,
-because @file{foo.man} and @file{sedscript} are not in the current
-directory.
-
-When using GNU @code{make}, relying on @samp{VPATH} to find the source
-file will work in the case where there is a single dependency file,
-since the @file{make} automatic variable @samp{$<} will represent the
-source file wherever it is. (Many versions of @code{make} set @samp{$<}
-only in implicit rules.) A makefile target like
-
-@smallexample
-foo.o : bar.c
- $(CC) -I. -I$(srcdir) $(CFLAGS) -c bar.c -o foo.o
-@end smallexample
-
-@noindent
-should instead be written as
-
-@smallexample
-foo.o : bar.c
- $(CC) -I. -I$(srcdir) $(CFLAGS) -c $< -o $@@
-@end smallexample
-
-@noindent
-in order to allow @samp{VPATH} to work correctly. When the target has
-multiple dependencies, using an explicit @samp{$(srcdir)} is the easiest
-way to make the rule work well. For example, the target above for
-@file{foo.1} is best written as:
-
-@smallexample
-foo.1 : foo.man sedscript
- sed -e $(srcdir)/sedscript $(srcdir)/foo.man > $@@
-@end smallexample
-
-@node Utilities in Makefiles
-@section Utilities in Makefiles
-
-Write the Makefile commands (and any shell scripts, such as
-@code{configure}) to run in @code{sh}, not in @code{csh}. Don't use any
-special features of @code{ksh} or @code{bash}.
-
-The @code{configure} script and the Makefile rules for building and
-installation should not use any utilities directly except these:
-
-@example
-cat cmp cp echo egrep expr grep
-ln mkdir mv pwd rm rmdir sed test touch
-@end example
-
-Stick to the generally supported options for these programs. For
-example, don't use @samp{mkdir -p}, convenient as it may be, because
-most systems don't support it.
-
-The Makefile rules for building and installation can also use compilers
-and related programs, but should do so via @code{make} variables so that the
-user can substitute alternatives. Here are some of the programs we
-mean:
-
-@example
-ar bison cc flex install ld lex
-make makeinfo ranlib texi2dvi yacc
-@end example
-
-Use the following @code{make} variables:
-
-@example
-$(AR) $(BISON) $(CC) $(FLEX) $(INSTALL) $(LD) $(LEX)
-$(MAKE) $(MAKEINFO) $(RANLIB) $(TEXI2DVI) $(YACC)
-@end example
-
-When you use @code{ranlib}, you should make sure nothing bad happens if
-the system does not have @code{ranlib}. Arrange to ignore an error
-from that command, and print a message before the command to tell the
-user that failure of the @code{ranlib} command does not mean a problem.
-
-If you use symbolic links, you should implement a fallback for systems
-that don't have symbolic links.
-
-It is ok to use other utilities in Makefile portions (or scripts)
-intended only for particular systems where you know those utilities to
-exist.
-
-@node Standard Targets
-@section Standard Targets for Users
-
-All GNU programs should have the following targets in their Makefiles:
-
-@table @samp
-@item all
-Compile the entire program. This should be the default target. This
-target need not rebuild any documentation files; Info files should
-normally be included in the distribution, and DVI files should be made
-only when explicitly asked for.
-
-@item install
-Compile the program and copy the executables, libraries, and so on to
-the file names where they should reside for actual use. If there is a
-simple test to verify that a program is properly installed, this target
-should run that test.
-
-The commands should create all the directories in which files are to be
-installed, if they don't already exist. This includes the directories
-specified as the values of the variables @code{prefix} and
-@code{exec_prefix}, as well as all subdirectories that are needed.
-One way to do this is by means of an @code{installdirs} target
-as described below.
-
-Use @samp{-} before any command for installing a man page, so that
-@code{make} will ignore any errors. This is in case there are systems
-that don't have the Unix man page documentation system installed.
-
-The way to install Info files is to copy them into @file{$(infodir)}
-with @code{$(INSTALL_DATA)} (@pxref{Command Variables}), and then run
-the @code{install-info} program if it is present. @code{install-info}
-is a script that edits the Info @file{dir} file to add or update the
-menu entry for the given Info file; it will be part of the Texinfo package.
-Here is a sample rule to install an Info file:
-
-@comment This example has been carefully formatted for the Make manual.
-@comment Please do not reformat it without talking to roland@gnu.ai.mit.edu.
-@smallexample
-$(infodir)/foo.info: foo.info
-# There may be a newer info file in . than in srcdir.
- -if test -f foo.info; then d=.; \
- else d=$(srcdir); fi; \
- $(INSTALL_DATA) $$d/foo.info $@@; \
-# Run install-info only if it exists.
-# Use `if' instead of just prepending `-' to the
-# line so we notice real errors from install-info.
-# We use `$(SHELL) -c' because some shells do not
-# fail gracefully when there is an unknown command.
- if $(SHELL) -c 'install-info --version' \
- >/dev/null 2>&1; then \
- install-info --infodir=$(infodir) $$d/foo.info; \
- else true; fi
-@end smallexample
-
-@item uninstall
-Delete all the installed files that the @samp{install} target would
-create (but not the noninstalled files such as @samp{make all} would
-create).
-
-@comment The gratuitous blank line here is to make the table look better
-@comment in the printed Make manual. Please leave it in.
-@item clean
-
-Delete all files from the current directory that are normally created by
-building the program. Don't delete the files that record the
-configuration. Also preserve files that could be made by building, but
-normally aren't because the distribution comes with them.
-
-Delete @file{.dvi} files here if they are not part of the distribution.
-
-@item distclean
-Delete all files from the current directory that are created by
-configuring or building the program. If you have unpacked the source
-and built the program without creating any other files, @samp{make
-distclean} should leave only the files that were in the distribution.
-
-@item mostlyclean
-Like @samp{clean}, but may refrain from deleting a few files that people
-normally don't want to recompile. For example, the @samp{mostlyclean}
-target for GCC does not delete @file{libgcc.a}, because recompiling it
-is rarely necessary and takes a lot of time.
-
-@item realclean
-Delete everything from the current directory that can be reconstructed
-with this Makefile. This typically includes everything deleted by
-@code{distclean}, plus more: C source files produced by Bison, tags tables,
-Info files, and so on.
-
-One exception, however: @samp{make realclean} should not delete
-@file{configure} even if @file{configure} can be remade using a rule in
-the Makefile. More generally, @samp{make realclean} should not delete
-anything that needs to exist in order to run @file{configure}
-and then begin to build the program.
-
-@item TAGS
-Update a tags table for this program.
-
-@item info
-Generate any Info files needed. The best way to write the rules is as
-follows:
-
-@smallexample
-info: foo.info
-
-foo.info: foo.texi chap1.texi chap2.texi
- $(MAKEINFO) $(srcdir)/foo.texi
-@end smallexample
-
-@noindent
-You must define the variable @code{MAKEINFO} in the Makefile. It should
-run the @code{makeinfo} program, which is part of the Texinfo
-distribution.
-
-@item dvi
-Generate DVI files for all TeXinfo documentation.
-For example:
-
-@smallexample
-dvi: foo.dvi
-
-foo.dvi: foo.texi chap1.texi chap2.texi
- $(TEXI2DVI) $(srcdir)/foo.texi
-@end smallexample
-
-@noindent
-You must define the variable @code{TEXI2DVI} in the Makefile. It should
-run the program @code{texi2dvi}, which is part of the Texinfo
-distribution. Alternatively, write just the dependencies, and allow GNU
-Make to provide the command.
-
-@item dist
-Create a distribution tar file for this program. The tar file should be
-set up so that the file names in the tar file start with a subdirectory
-name which is the name of the package it is a distribution for. This
-name can include the version number.
-
-For example, the distribution tar file of GCC version 1.40 unpacks into
-a subdirectory named @file{gcc-1.40}.
-
-The easiest way to do this is to create a subdirectory appropriately
-named, use @code{ln} or @code{cp} to install the proper files in it, and
-then @code{tar} that subdirectory.
-
-The @code{dist} target should explicitly depend on all non-source files
-that are in the distribution, to make sure they are up to date in the
-distribution.
-@xref{Releases, , Making Releases, standards, GNU Coding Standards}.
-
-@item check
-Perform self-tests (if any). The user must build the program before
-running the tests, but need not install the program; you should write
-the self-tests so that they work when the program is built but not
-installed.
-@end table
-
-The following targets are suggested as conventional names, for programs
-in which they are useful.
-
-@table @code
-@item installcheck
-Perform installation tests (if any). The user must build and install
-the program before running the tests. You should not assume that
-@file{$(bindir)} is in the search path.
-
-@item installdirs
-It's useful to add a target named @samp{installdirs} to create the
-directories where files are installed, and their parent directories.
-There is a script called @file{mkinstalldirs} which is convenient for
-this; find it in the Texinfo package.@c It's in /gd/gnu/lib/mkinstalldirs.
-You can use a rule like this:
-
-@comment This has been carefully formatted to look decent in the Make manual.
-@comment Please be sure not to make it extend any further to the right.--roland
-@smallexample
-# Make sure all installation directories (e.g. $(bindir))
-# actually exist by making them if necessary.
-installdirs: mkinstalldirs
- $(srcdir)/mkinstalldirs $(bindir) $(datadir) \
- $(libdir) $(infodir) \
- $(mandir)
-@end smallexample
-@end table
-
-@node Command Variables
-@section Variables for Specifying Commands
-
-Makefiles should provide variables for overriding certain commands, options,
-and so on.
-
-In particular, you should run most utility programs via variables.
-Thus, if you use Bison, have a variable named @code{BISON} whose default
-value is set with @samp{BISON = bison}, and refer to it with
-@code{$(BISON)} whenever you need to use Bison.
-
-File management utilities such as @code{ln}, @code{rm}, @code{mv}, and
-so on, need not be referred to through variables in this way, since users
-don't need to replace them with other programs.
-
-Each program-name variable should come with an options variable that is
-used to supply options to the program. Append @samp{FLAGS} to the
-program-name variable name to get the options variable name---for
-example, @code{BISONFLAGS}. (The name @code{CFLAGS} is an exception to
-this rule, but we keep it because it is standard.) Use @code{CPPFLAGS}
-in any compilation command that runs the preprocessor, and use
-@code{LDFLAGS} in any compilation command that does linking as well as
-in any direct use of @code{ld}.
-
-If there are C compiler options that @emph{must} be used for proper
-compilation of certain files, do not include them in @code{CFLAGS}.
-Users expect to be able to specify @code{CFLAGS} freely themselves.
-Instead, arrange to pass the necessary options to the C compiler
-independently of @code{CFLAGS}, by writing them explicitly in the
-compilation commands or by defining an implicit rule, like this:
-
-@smallexample
-CFLAGS = -g
-ALL_CFLAGS = -I. $(CFLAGS)
-.c.o:
- $(CC) -c $(CPPFLAGS) $(ALL_CFLAGS) $<
-@end smallexample
-
-Do include the @samp{-g} option in @code{CFLAGS}, because that is not
-@emph{required} for proper compilation. You can consider it a default
-that is only recommended. If the package is set up so that it is
-compiled with GCC by default, then you might as well include @samp{-O}
-in the default value of @code{CFLAGS} as well.
-
-Put @code{CFLAGS} last in the compilation command, after other variables
-containing compiler options, so the user can use @code{CFLAGS} to
-override the others.
-
-Every Makefile should define the variable @code{INSTALL}, which is the
-basic command for installing a file into the system.
-
-Every Makefile should also define the variables @code{INSTALL_PROGRAM}
-and @code{INSTALL_DATA}. (The default for each of these should be
-@code{$(INSTALL)}.) Then it should use those variables as the commands
-for actual installation, for executables and nonexecutables
-respectively. Use these variables as follows:
-
-@example
-$(INSTALL_PROGRAM) foo $(bindir)/foo
-$(INSTALL_DATA) libfoo.a $(libdir)/libfoo.a
-@end example
-
-@noindent
-Always use a file name, not a directory name, as the second argument of
-the installation commands. Use a separate command for each file to be
-installed.
-
-@node Directory Variables
-@section Variables for Installation Directories
-
-Installation directories should always be named by variables, so it is
-easy to install in a nonstandard place. The standard names for these
-variables are as follows.
-
-These two variables set the root for the installation. All the other
-installation directories should be subdirectories of one of these two,
-and nothing should be directly installed into these two directories.
-
-@table @samp
-@item prefix
-A prefix used in constructing the default values of the variables listed
-below. The default value of @code{prefix} should be @file{/usr/local}
-(at least for now).
-
-@item exec_prefix
-A prefix used in constructing the default values of some of the
-variables listed below. The default value of @code{exec_prefix} should
-be @code{$(prefix)}.
-
-Generally, @code{$(exec_prefix)} is used for directories that contain
-machine-specific files (such as executables and subroutine libraries),
-while @code{$(prefix)} is used directly for other directories.
-@end table
-
-Executable programs are installed in one of the following directories.
-
-@table @samp
-@item bindir
-The directory for installing executable programs that users can run.
-This should normally be @file{/usr/local/bin}, but write it as
-@file{$(exec_prefix)/bin}.
-
-@item sbindir
-The directory for installing executable programs that can be run from
-the shell, but are only generally useful to system administrators. This
-should normally be @file{/usr/local/sbin}, but write it as
-@file{$(exec_prefix)/sbin}.
-
-@item libexecdir
-@comment This paragraph adjusted to avoid overfull hbox --roland 5jul94
-The directory for installing executable programs to be run by other
-programs rather than by users. This directory should normally be
-@file{/usr/local/libexec}, but write it as @file{$(exec_prefix)/libexec}.
-@end table
-
-Data files used by the program during its execution are divided into
-categories in two ways.
-
-@itemize @bullet
-@item
-Some files are normally modified by programs; others are never normally
-modified (though users may edit some of these).
-
-@item
-Some files are architecture-independent and can be shared by all
-machines at a site; some are architecture-dependent and can be shared
-only by machines of the same kind and operating system; others may never
-be shared between two machines.
-@end itemize
-
-This makes for six different possibilities. However, we want to
-discourage the use of architecture-dependent files, aside from of object
-files and libraries. It is much cleaner to make other data files
-architecture-independent, and it is generally not hard.
-
-Therefore, here are the variables makefiles should use to specify
-directories:
-
-@table @samp
-@item datadir
-The directory for installing read-only architecture independent data
-files. This should normally be @file{/usr/local/share}, but write it as
-@file{$(prefix)/share}. As a special exception, see @file{$(infodir)}
-and @file{$(includedir)} below.
-
-@item sysconfdir
-The directory for installing read-only data files that pertain to a
-single machine--that is to say, files for configuring a host. Mailer
-and network configuration files, @file{/etc/passwd}, and so forth belong
-here. All the files in this directory should be ordinary ASCII text
-files. This directory should normally be @file{/usr/local/etc}, but
-write it as @file{$(prefix)/etc}.
-
-@c rewritten to avoid overfull hbox --tower
-Do not install executables
-@c here
-in this directory (they probably
-belong in @file{$(libexecdir)} or @file{$(sbindir))}. Also do not
-install files that are modified in the normal course of their use
-(programs whose purpose is to change the configuration of the system
-excluded). Those probably belong in @file{$(localstatedir)}.
-
-@item sharedstatedir
-The directory for installing architecture-independent data files which
-the programs modify while they run. This should normally be
-@file{/usr/local/com}, but write it as @file{$(prefix)/com}.
-
-@item localstatedir
-The directory for installing data files which the programs modify while
-they run, and that pertain to one specific machine. Users should never
-need to modify files in this directory to configure the package's
-operation; put such configuration information in separate files that go
-in @file{datadir} or @file{$(sysconfdir)}. @file{$(localstatedir)}
-should normally be @file{/usr/local/var}, but write it as
-@file{$(prefix)/var}.
-
-@item libdir
-The directory for object files and libraries of object code. Do not
-install executables here, they probably belong in @file{$(libexecdir)}
-instead. The value of @code{libdir} should normally be
-@file{/usr/local/lib}, but write it as @file{$(exec_prefix)/lib}.
-
-@item infodir
-The directory for installing the Info files for this package. By
-default, it should be @file{/usr/local/info}, but it should be written
-as @file{$(prefix)/info}.
-
-@item includedir
-@c rewritten to avoid overfull hbox --roland
-The directory for installing header files to be included by user
-programs with the C @samp{#include} preprocessor directive. This
-should normally be @file{/usr/local/include}, but write it as
-@file{$(prefix)/include}.
-
-Most compilers other than GCC do not look for header files in
-@file{/usr/local/include}. So installing the header files this way is
-only useful with GCC. Sometimes this is not a problem because some
-libraries are only really intended to work with GCC. But some libraries
-are intended to work with other compilers. They should install their
-header files in two places, one specified by @code{includedir} and one
-specified by @code{oldincludedir}.
-
-@item oldincludedir
-The directory for installing @samp{#include} header files for use with
-compilers other than GCC. This should normally be @file{/usr/include}.
-
-The Makefile commands should check whether the value of
-@code{oldincludedir} is empty. If it is, they should not try to use
-it; they should cancel the second installation of the header files.
-
-A package should not replace an existing header in this directory unless
-the header came from the same package. Thus, if your Foo package
-provides a header file @file{foo.h}, then it should install the header
-file in the @code{oldincludedir} directory if either (1) there is no
-@file{foo.h} there or (2) the @file{foo.h} that exists came from the Foo
-package.
-
-To tell whether @file{foo.h} came from the Foo package, put a magic
-string in the file---part of a comment---and grep for that string.
-@end table
-
-Unix-style man pages are installed in one of the following:
-
-@table @samp
-@item mandir
-The directory for installing the man pages (if any) for this package.
-It should include the suffix for the proper section of the
-manual---usually @samp{1} for a utility. It will normally be
-@file{/usr/local/man/man1}, but you should write it as
-@file{$(prefix)/man/man1}.
-
-@item man1dir
-The directory for installing section 1 man pages.
-@item man2dir
-The directory for installing section 2 man pages.
-@item @dots{}
-Use these names instead of @samp{mandir} if the package needs to install man
-pages in more than one section of the manual.
-
-@strong{Don't make the primary documentation for any GNU software be a
-man page. Write a manual in Texinfo instead. Man pages are just for
-the sake of people running GNU software on Unix, which is a secondary
-application only.}
-
-@item manext
-The file name extension for the installed man page. This should contain
-a period followed by the appropriate digit; it should normally be @samp{.1}.
-
-@item man1ext
-The file name extension for installed section 1 man pages.
-@item man2ext
-The file name extension for installed section 2 man pages.
-@item @dots{}
-Use these names instead of @samp{manext} if the package needs to install man
-pages in more than one section of the manual.
-@end table
-
-And finally, you should set the following variable:
-
-@table @samp
-@item srcdir
-The directory for the sources being compiled. The value of this
-variable is normally inserted by the @code{configure} shell script.
-@end table
-
-For example:
-
-@smallexample
-@c I have changed some of the comments here slightly to fix an overfull
-@c hbox, so the make manual can format correctly. --roland
-# Common prefix for installation directories.
-# NOTE: This directory must exist when you start the install.
-prefix = /usr/local
-exec_prefix = $(prefix)
-# Where to put the executable for the command `gcc'.
-bindir = $(exec_prefix)/bin
-# Where to put the directories used by the compiler.
-libexecdir = $(exec_prefix)/libexec
-# Where to put the Info files.
-infodir = $(prefix)/info
-@end smallexample
-
-If your program installs a large number of files into one of the
-standard user-specified directories, it might be useful to group them
-into a subdirectory particular to that program. If you do this, you
-should write the @code{install} rule to create these subdirectories.
-
-Do not expect the user to include the subdirectory name in the value of
-any of the variables listed above. The idea of having a uniform set of
-variable names for installation directories is to enable the user to
-specify the exact same values for several different GNU packages. In
-order for this to be useful, all the packages must be designed so that
-they will work sensibly when the user does so.
-
diff --git a/util/autoconf/mkinstalldirs b/util/autoconf/mkinstalldirs
deleted file mode 100755
index 91f6d04..0000000
--- a/util/autoconf/mkinstalldirs
+++ /dev/null
@@ -1,32 +0,0 @@
-#!/bin/sh
-# mkinstalldirs --- make directory hierarchy
-# Author: Noah Friedman <friedman@prep.ai.mit.edu>
-# Created: 1993-05-16
-# Last modified: 1994-03-25
-# Public domain
-
-errstatus=0
-
-for file in ${1+"$@"} ; do
- set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
- shift
-
- pathcomp=
- for d in ${1+"$@"} ; do
- pathcomp="$pathcomp$d"
- case "$pathcomp" in
- -* ) pathcomp=./$pathcomp ;;
- esac
-
- if test ! -d "$pathcomp"; then
- echo "mkdir $pathcomp" 1>&2
- mkdir "$pathcomp" || errstatus=$?
- fi
-
- pathcomp="$pathcomp/"
- done
-done
-
-exit $errstatus
-
-# mkinstalldirs ends here
diff --git a/util/autoconf/standards.info b/util/autoconf/standards.info
deleted file mode 100644
index 7f3dda8..0000000
--- a/util/autoconf/standards.info
+++ /dev/null
@@ -1,60 +0,0 @@
-This is Info file ../standards.info, produced by Makeinfo-1.55 from the
-input file ../standards.texi.
-
-START-INFO-DIR-ENTRY
-* Standards: (standards). GNU coding standards.
-END-INFO-DIR-ENTRY
-
- GNU Coding Standards Copyright (C) 1992, 1993, 1994 Free Software
-Foundation, Inc.
-
- Permission is granted to make and distribute verbatim copies of this
-manual provided the copyright notice and this permission notice are
-preserved on all copies.
-
- Permission is granted to copy and distribute modified versions of
-this manual under the conditions for verbatim copying, provided that
-the entire resulting derived work is distributed under the terms of a
-permission notice identical to this one.
-
- Permission is granted to copy and distribute translations of this
-manual into another language, under the above conditions for modified
-versions, except that this permission notice may be stated in a
-translation approved by the Free Software Foundation.
-
-
-Indirect:
-standards.info-1: 960
-standards.info-2: 49450
-
-Tag Table:
-(Indirect)
-Node: Top960
-Node: Preface2096
-Node: Reading Non-Free Code3138
-Node: Contributions4868
-Node: Change Logs6466
-Node: Compatibility10182
-Node: Makefile Conventions11821
-Node: Makefile Basics12178
-Node: Utilities in Makefiles14522
-Node: Standard Targets16219
-Node: Command Variables23328
-Node: Directory Variables26158
-Node: Configuration35220
-Node: Source Language42244
-Node: Formatting43374
-Node: Comments46664
-Node: Syntactic Conventions49450
-Node: Names52342
-Node: Using Extensions53632
-Node: System Functions55373
-Node: Semantics60176
-Node: Errors63464
-Node: Libraries64667
-Node: Portability65891
-Node: User Interfaces69178
-Node: Documentation85106
-Node: Releases89040
-
-End Tag Table
diff --git a/util/autoconf/standards.info-1 b/util/autoconf/standards.info-1
deleted file mode 100644
index 05178a0..0000000
--- a/util/autoconf/standards.info-1
+++ /dev/null
@@ -1,1188 +0,0 @@
-This is Info file ../standards.info, produced by Makeinfo-1.55 from the
-input file ../standards.texi.
-
-START-INFO-DIR-ENTRY
-* Standards: (standards). GNU coding standards.
-END-INFO-DIR-ENTRY
-
- GNU Coding Standards Copyright (C) 1992, 1993, 1994 Free Software
-Foundation, Inc.
-
- Permission is granted to make and distribute verbatim copies of this
-manual provided the copyright notice and this permission notice are
-preserved on all copies.
-
- Permission is granted to copy and distribute modified versions of
-this manual under the conditions for verbatim copying, provided that
-the entire resulting derived work is distributed under the terms of a
-permission notice identical to this one.
-
- Permission is granted to copy and distribute translations of this
-manual into another language, under the above conditions for modified
-versions, except that this permission notice may be stated in a
-translation approved by the Free Software Foundation.
-
-
-File: standards.info, Node: Top, Next: Preface, Prev: (dir), Up: (dir)
-
-Version
-*******
-
- Last updated 21 September 1994.
-
-* Menu:
-
-* Preface:: About the GNU Coding Standards
-* Reading Non-Free Code:: Referring to Proprietary Programs
-* Contributions:: Accepting Contributions
-* Change Logs:: Recording Changes
-* Compatibility:: Compatibility with Other Implementations
-* Makefile Conventions:: Makefile Conventions
-* Configuration:: How Configuration Should Work
-* Source Language:: Using Languages Other Than C
-* Formatting:: Formatting Your Source Code
-* Comments:: Commenting Your Work
-* Syntactic Conventions:: Clean Use of C Constructs
-* Names:: Naming Variables and Functions
-* Using Extensions:: Using Non-standard Features
-* System Functions:: Portability and "standard" library functions
-* Semantics:: Program Behavior for All Programs
-* Errors:: Formatting Error Messages
-* Libraries:: Library Behavior
-* Portability:: Portability As It Applies to GNU
-* User Interfaces:: Standards for Command Line Interfaces
-* Documentation:: Documenting Programs
-* Releases:: Making Releases
-
-
-File: standards.info, Node: Preface, Next: Reading Non-Free Code, Prev: Top, Up: Top
-
-About the GNU Coding Standards
-******************************
-
- The GNU Coding Standards were written by Richard Stallman and other
-GNU Project volunteers. Their purpose is to make the GNU system clean,
-consistent, and easy to install. This document can also be read as a
-guide to write portable, robust and reliable programs. It focuses on
-programs written in C, but many of the rules and principles are useful
-even if you write in another programming language. The rules often
-state reasons for writing in a certain way.
-
- Corrections or suggestions regarding this document should be sent to
-`gnu@prep.ai.mit.edu'. If you make a suggestion, please include a
-suggested new wording for it; our time is limited. We prefer a context
-diff to the `standards.texi' or `make-stds.texi' files, but if you
-don't have those files, please mail your suggestion anyway.
-
- This release of the GNU Coding Standards was last updated 21
-September 1994.
-
-
-File: standards.info, Node: Reading Non-Free Code, Next: Contributions, Prev: Preface, Up: Top
-
-Referring to Proprietary Programs
-*********************************
-
- Don't in any circumstances refer to Unix source code for or during
-your work on GNU! (Or to any other proprietary programs.)
-
- If you have a vague recollection of the internals of a Unix program,
-this does not absolutely mean you can't write an imitation of it, but
-do try to organize the imitation internally along different lines,
-because this is likely to make the details of the Unix version
-irrelevant and dissimilar to your results.
-
- For example, Unix utilities were generally optimized to minimize
-memory use; if you go for speed instead, your program will be very
-different. You could keep the entire input file in core and scan it
-there instead of using stdio. Use a smarter algorithm discovered more
-recently than the Unix program. Eliminate use of temporary files. Do
-it in one pass instead of two (we did this in the assembler).
-
- Or, on the contrary, emphasize simplicity instead of speed. For some
-applications, the speed of today's computers makes simpler algorithms
-adequate.
-
- Or go for generality. For example, Unix programs often have static
-tables or fixed-size strings, which make for arbitrary limits; use
-dynamic allocation instead. Make sure your program handles NULs and
-other funny characters in the input files. Add a programming language
-for extensibility and write part of the program in that language.
-
- Or turn some parts of the program into independently usable
-libraries. Or use a simple garbage collector instead of tracking
-precisely when to free memory, or use a new GNU facility such as
-obstacks.
-
-
-File: standards.info, Node: Contributions, Next: Change Logs, Prev: Reading Non-Free Code, Up: Top
-
-Accepting Contributions
-***********************
-
- If someone else sends you a piece of code to add to the program you
-are working on, we need legal papers to use it--the same sort of legal
-papers we will need to get from you. *Each* significant contributor to
-a program must sign some sort of legal papers in order for us to have
-clear title to the program. The main author alone is not enough.
-
- So, before adding in any contributions from other people, tell us so
-we can arrange to get the papers. Then wait until we tell you that we
-have received the signed papers, before you actually use the
-contribution.
-
- This applies both before you release the program and afterward. If
-you receive diffs to fix a bug, and they make significant change, we
-need legal papers for it.
-
- You don't need papers for changes of a few lines here or there, since
-they are not significant for copyright purposes. Also, you don't need
-papers if all you get from the suggestion is some ideas, not actual code
-which you use. For example, if you write a different solution to the
-problem, you don't need to get papers.
-
- I know this is frustrating; it's frustrating for us as well. But if
-you don't wait, you are going out on a limb--for example, what if the
-contributor's employer won't sign a disclaimer? You might have to take
-that code out again!
-
- The very worst thing is if you forget to tell us about the other
-contributor. We could be very embarrassed in court some day as a
-result.
-
-
-File: standards.info, Node: Change Logs, Next: Compatibility, Prev: Contributions, Up: Top
-
-Change Logs
-***********
-
- Keep a change log for each directory, describing the changes made to
-source files in that directory. The purpose of this is so that people
-investigating bugs in the future will know about the changes that might
-have introduced the bug. Often a new bug can be found by looking at
-what was recently changed. More importantly, change logs can help
-eliminate conceptual inconsistencies between different parts of a
-program; they can give you a history of how the conflicting concepts
-arose.
-
- Use the Emacs command `M-x add-change' to start a new entry in the
-change log. An entry should have an asterisk, the name of the changed
-file, and then in parentheses the name of the changed functions,
-variables or whatever, followed by a colon. Then describe the changes
-you made to that function or variable.
-
- Separate unrelated entries with blank lines. When two entries
-represent parts of the same change, so that they work together, then
-don't put blank lines between them. Then you can omit the file name
-and the asterisk when successive entries are in the same file.
-
- Here are some examples:
-
- * register.el (insert-register): Return nil.
- (jump-to-register): Likewise.
-
- * sort.el (sort-subr): Return nil.
-
- * tex-mode.el (tex-bibtex-file, tex-file, tex-region):
- Restart the tex shell if process is gone or stopped.
- (tex-shell-running): New function.
-
- * expr.c (store_one_arg): Round size up for move_block_to_reg.
- (expand_call): Round up when emitting USE insns.
- * stmt.c (assign_parms): Round size up for move_block_from_reg.
-
- It's important to name the changed function or variable in full.
-Don't abbreviate them; don't combine them. Subsequent maintainers will
-often search for a function name to find all the change log entries that
-pertain to it; if you abbreviate the name, they won't find it when they
-search. For example, some people are tempted to abbreviate groups of
-function names by writing `* register.el ({insert,jump-to}-register)';
-this is not a good idea, since searching for `jump-to-register' or
-`insert-register' would not find the entry.
-
- There's no need to describe the full purpose of the changes or how
-they work together. It is better to put such explanations in comments
-in the code. That's why just "New function" is enough; there is a
-comment with the function in the source to explain what it does.
-
- However, sometimes it is useful to write one line to describe the
-overall purpose of a large batch of changes.
-
- You can think of the change log as a conceptual "undo list" which
-explains how earlier versions were different from the current version.
-People can see the current version; they don't need the change log to
-tell them what is in it. What they want from a change log is a clear
-explanation of how the earlier version differed.
-
- When you change the calling sequence of a function in a simple
-fashion, and you change all the callers of the function, there is no
-need to make individual entries for all the callers. Just write in the
-entry for the function being called, "All callers changed."
-
- When you change just comments or doc strings, it is enough to write
-an entry for the file, without mentioning the functions. Write just,
-"Doc fix." There's no need to keep a change log for documentation
-files. This is because documentation is not susceptible to bugs that
-are hard to fix. Documentation does not consist of parts that must
-interact in a precisely engineered fashion; to correct an error, you
-need not know the history of the erroneous passage.
-
-
-File: standards.info, Node: Compatibility, Next: Makefile Conventions, Prev: Change Logs, Up: Top
-
-Compatibility with Other Implementations
-****************************************
-
- With certain exceptions, utility programs and libraries for GNU
-should be upward compatible with those in Berkeley Unix, and upward
-compatible with ANSI C if ANSI C specifies their behavior, and upward
-compatible with POSIX if POSIX specifies their behavior.
-
- When these standards conflict, it is useful to offer compatibility
-modes for each of them.
-
- ANSI C and POSIX prohibit many kinds of extensions. Feel free to
-make the extensions anyway, and include a `--ansi' or `--compatible'
-option to turn them off. However, if the extension has a significant
-chance of breaking any real programs or scripts, then it is not really
-upward compatible. Try to redesign its interface.
-
- Many GNU programs suppress extensions that conflict with POSIX if the
-environment variable `POSIXLY_CORRECT' is defined (even if it is
-defined with a null value). Please make your program recognize this
-variable if appropriate.
-
- When a feature is used only by users (not by programs or command
-files), and it is done poorly in Unix, feel free to replace it
-completely with something totally different and better. (For example,
-vi is replaced with Emacs.) But it is nice to offer a compatible
-feature as well. (There is a free vi clone, so we offer it.)
-
- Additional useful features not in Berkeley Unix are welcome.
-Additional programs with no counterpart in Unix may be useful, but our
-first priority is usually to duplicate what Unix already has.
-
-
-File: standards.info, Node: Makefile Conventions, Next: Configuration, Prev: Compatibility, Up: Top
-
-Makefile Conventions
-********************
-
- This chapter describes conventions for writing the Makefiles for GNU
-programs.
-
-* Menu:
-
-* Makefile Basics::
-* Utilities in Makefiles::
-* Standard Targets::
-* Command Variables::
-* Directory Variables::
-
-
-File: standards.info, Node: Makefile Basics, Next: Utilities in Makefiles, Up: Makefile Conventions
-
-General Conventions for Makefiles
-=================================
-
- Every Makefile should contain this line:
-
- SHELL = /bin/sh
-
-to avoid trouble on systems where the `SHELL' variable might be
-inherited from the environment. (This is never a problem with GNU
-`make'.)
-
- Different `make' programs have incompatible suffix lists and
-implicit rules, and this sometimes creates confusion or misbehavior. So
-it is a good idea to set the suffix list explicitly using only the
-suffixes you need in the particular Makefile, like this:
-
- .SUFFIXES:
- .SUFFIXES: .c .o
-
-The first line clears out the suffix list, the second introduces all
-suffixes which may be subject to implicit rules in this Makefile.
-
- Don't assume that `.' is in the path for command execution. When
-you need to run programs that are a part of your package during the
-make, please make sure that it uses `./' if the program is built as
-part of the make or `$(srcdir)/' if the file is an unchanging part of
-the source code. Without one of these prefixes, the current search
-path is used.
-
- The distinction between `./' and `$(srcdir)/' is important when
-using the `--srcdir' option to `configure'. A rule of the form:
-
- foo.1 : foo.man sedscript
- sed -e sedscript foo.man > foo.1
-
-will fail when the current directory is not the source directory,
-because `foo.man' and `sedscript' are not in the current directory.
-
- When using GNU `make', relying on `VPATH' to find the source file
-will work in the case where there is a single dependency file, since
-the `make' automatic variable `$<' will represent the source file
-wherever it is. (Many versions of `make' set `$<' only in implicit
-rules.) A makefile target like
-
- foo.o : bar.c
- $(CC) -I. -I$(srcdir) $(CFLAGS) -c bar.c -o foo.o
-
-should instead be written as
-
- foo.o : bar.c
- $(CC) -I. -I$(srcdir) $(CFLAGS) -c $< -o $@
-
-in order to allow `VPATH' to work correctly. When the target has
-multiple dependencies, using an explicit `$(srcdir)' is the easiest way
-to make the rule work well. For example, the target above for `foo.1'
-is best written as:
-
- foo.1 : foo.man sedscript
- sed -e $(srcdir)/sedscript $(srcdir)/foo.man > $@
-
-
-File: standards.info, Node: Utilities in Makefiles, Next: Standard Targets, Prev: Makefile Basics, Up: Makefile Conventions
-
-Utilities in Makefiles
-======================
-
- Write the Makefile commands (and any shell scripts, such as
-`configure') to run in `sh', not in `csh'. Don't use any special
-features of `ksh' or `bash'.
-
- The `configure' script and the Makefile rules for building and
-installation should not use any utilities directly except these:
-
- cat cmp cp echo egrep expr grep
- ln mkdir mv pwd rm rmdir sed test touch
-
- Stick to the generally supported options for these programs. For
-example, don't use `mkdir -p', convenient as it may be, because most
-systems don't support it.
-
- The Makefile rules for building and installation can also use
-compilers and related programs, but should do so via `make' variables
-so that the user can substitute alternatives. Here are some of the
-programs we mean:
-
- ar bison cc flex install ld lex
- make makeinfo ranlib texi2dvi yacc
-
- Use the following `make' variables:
-
- $(AR) $(BISON) $(CC) $(FLEX) $(INSTALL) $(LD) $(LEX)
- $(MAKE) $(MAKEINFO) $(RANLIB) $(TEXI2DVI) $(YACC)
-
- When you use `ranlib', you should make sure nothing bad happens if
-the system does not have `ranlib'. Arrange to ignore an error from
-that command, and print a message before the command to tell the user
-that failure of the `ranlib' command does not mean a problem.
-
- If you use symbolic links, you should implement a fallback for
-systems that don't have symbolic links.
-
- It is ok to use other utilities in Makefile portions (or scripts)
-intended only for particular systems where you know those utilities to
-exist.
-
-
-File: standards.info, Node: Standard Targets, Next: Command Variables, Prev: Utilities in Makefiles, Up: Makefile Conventions
-
-Standard Targets for Users
-==========================
-
- All GNU programs should have the following targets in their
-Makefiles:
-
-`all'
- Compile the entire program. This should be the default target.
- This target need not rebuild any documentation files; Info files
- should normally be included in the distribution, and DVI files
- should be made only when explicitly asked for.
-
-`install'
- Compile the program and copy the executables, libraries, and so on
- to the file names where they should reside for actual use. If
- there is a simple test to verify that a program is properly
- installed, this target should run that test.
-
- The commands should create all the directories in which files are
- to be installed, if they don't already exist. This includes the
- directories specified as the values of the variables `prefix' and
- `exec_prefix', as well as all subdirectories that are needed. One
- way to do this is by means of an `installdirs' target as described
- below.
-
- Use `-' before any command for installing a man page, so that
- `make' will ignore any errors. This is in case there are systems
- that don't have the Unix man page documentation system installed.
-
- The way to install Info files is to copy them into `$(infodir)'
- with `$(INSTALL_DATA)' (*note Command Variables::.), and then run
- the `install-info' program if it is present. `install-info' is a
- script that edits the Info `dir' file to add or update the menu
- entry for the given Info file; it will be part of the Texinfo
- package. Here is a sample rule to install an Info file:
-
- $(infodir)/foo.info: foo.info
- # There may be a newer info file in . than in srcdir.
- -if test -f foo.info; then d=.; \
- else d=$(srcdir); fi; \
- $(INSTALL_DATA) $$d/foo.info $@; \
- # Run install-info only if it exists.
- # Use `if' instead of just prepending `-' to the
- # line so we notice real errors from install-info.
- # We use `$(SHELL) -c' because some shells do not
- # fail gracefully when there is an unknown command.
- if $(SHELL) -c 'install-info --version' \
- >/dev/null 2>&1; then \
- install-info --infodir=$(infodir) $$d/foo.info; \
- else true; fi
-
-`uninstall'
- Delete all the installed files that the `install' target would
- create (but not the noninstalled files such as `make all' would
- create).
-
-`clean'
- Delete all files from the current directory that are normally
- created by building the program. Don't delete the files that
- record the configuration. Also preserve files that could be made
- by building, but normally aren't because the distribution comes
- with them.
-
- Delete `.dvi' files here if they are not part of the distribution.
-
-`distclean'
- Delete all files from the current directory that are created by
- configuring or building the program. If you have unpacked the
- source and built the program without creating any other files,
- `make distclean' should leave only the files that were in the
- distribution.
-
-`mostlyclean'
- Like `clean', but may refrain from deleting a few files that people
- normally don't want to recompile. For example, the `mostlyclean'
- target for GCC does not delete `libgcc.a', because recompiling it
- is rarely necessary and takes a lot of time.
-
-`realclean'
- Delete everything from the current directory that can be
- reconstructed with this Makefile. This typically includes
- everything deleted by `distclean', plus more: C source files
- produced by Bison, tags tables, Info files, and so on.
-
- One exception, however: `make realclean' should not delete
- `configure' even if `configure' can be remade using a rule in the
- Makefile. More generally, `make realclean' should not delete
- anything that needs to exist in order to run `configure' and then
- begin to build the program.
-
-`TAGS'
- Update a tags table for this program.
-
-`info'
- Generate any Info files needed. The best way to write the rules
- is as follows:
-
- info: foo.info
-
- foo.info: foo.texi chap1.texi chap2.texi
- $(MAKEINFO) $(srcdir)/foo.texi
-
- You must define the variable `MAKEINFO' in the Makefile. It should
- run the `makeinfo' program, which is part of the Texinfo
- distribution.
-
-`dvi'
- Generate DVI files for all TeXinfo documentation. For example:
-
- dvi: foo.dvi
-
- foo.dvi: foo.texi chap1.texi chap2.texi
- $(TEXI2DVI) $(srcdir)/foo.texi
-
- You must define the variable `TEXI2DVI' in the Makefile. It should
- run the program `texi2dvi', which is part of the Texinfo
- distribution. Alternatively, write just the dependencies, and
- allow GNU Make to provide the command.
-
-`dist'
- Create a distribution tar file for this program. The tar file
- should be set up so that the file names in the tar file start with
- a subdirectory name which is the name of the package it is a
- distribution for. This name can include the version number.
-
- For example, the distribution tar file of GCC version 1.40 unpacks
- into a subdirectory named `gcc-1.40'.
-
- The easiest way to do this is to create a subdirectory
- appropriately named, use `ln' or `cp' to install the proper files
- in it, and then `tar' that subdirectory.
-
- The `dist' target should explicitly depend on all non-source files
- that are in the distribution, to make sure they are up to date in
- the distribution. *Note Making Releases: (standards)Releases.
-
-`check'
- Perform self-tests (if any). The user must build the program
- before running the tests, but need not install the program; you
- should write the self-tests so that they work when the program is
- built but not installed.
-
- The following targets are suggested as conventional names, for
-programs in which they are useful.
-
-`installcheck'
- Perform installation tests (if any). The user must build and
- install the program before running the tests. You should not
- assume that `$(bindir)' is in the search path.
-
-`installdirs'
- It's useful to add a target named `installdirs' to create the
- directories where files are installed, and their parent
- directories. There is a script called `mkinstalldirs' which is
- convenient for this; find it in the Texinfo package.You can use a
- rule like this:
-
- # Make sure all installation directories (e.g. $(bindir))
- # actually exist by making them if necessary.
- installdirs: mkinstalldirs
- $(srcdir)/mkinstalldirs $(bindir) $(datadir) \
- $(libdir) $(infodir) \
- $(mandir)
-
-
-File: standards.info, Node: Command Variables, Next: Directory Variables, Prev: Standard Targets, Up: Makefile Conventions
-
-Variables for Specifying Commands
-=================================
-
- Makefiles should provide variables for overriding certain commands,
-options, and so on.
-
- In particular, you should run most utility programs via variables.
-Thus, if you use Bison, have a variable named `BISON' whose default
-value is set with `BISON = bison', and refer to it with `$(BISON)'
-whenever you need to use Bison.
-
- File management utilities such as `ln', `rm', `mv', and so on, need
-not be referred to through variables in this way, since users don't
-need to replace them with other programs.
-
- Each program-name variable should come with an options variable that
-is used to supply options to the program. Append `FLAGS' to the
-program-name variable name to get the options variable name--for
-example, `BISONFLAGS'. (The name `CFLAGS' is an exception to this
-rule, but we keep it because it is standard.) Use `CPPFLAGS' in any
-compilation command that runs the preprocessor, and use `LDFLAGS' in
-any compilation command that does linking as well as in any direct use
-of `ld'.
-
- If there are C compiler options that *must* be used for proper
-compilation of certain files, do not include them in `CFLAGS'. Users
-expect to be able to specify `CFLAGS' freely themselves. Instead,
-arrange to pass the necessary options to the C compiler independently
-of `CFLAGS', by writing them explicitly in the compilation commands or
-by defining an implicit rule, like this:
-
- CFLAGS = -g
- ALL_CFLAGS = -I. $(CFLAGS)
- .c.o:
- $(CC) -c $(CPPFLAGS) $(ALL_CFLAGS) $<
-
- Do include the `-g' option in `CFLAGS', because that is not
-*required* for proper compilation. You can consider it a default that
-is only recommended. If the package is set up so that it is compiled
-with GCC by default, then you might as well include `-O' in the default
-value of `CFLAGS' as well.
-
- Put `CFLAGS' last in the compilation command, after other variables
-containing compiler options, so the user can use `CFLAGS' to override
-the others.
-
- Every Makefile should define the variable `INSTALL', which is the
-basic command for installing a file into the system.
-
- Every Makefile should also define the variables `INSTALL_PROGRAM'
-and `INSTALL_DATA'. (The default for each of these should be
-`$(INSTALL)'.) Then it should use those variables as the commands for
-actual installation, for executables and nonexecutables respectively.
-Use these variables as follows:
-
- $(INSTALL_PROGRAM) foo $(bindir)/foo
- $(INSTALL_DATA) libfoo.a $(libdir)/libfoo.a
-
-Always use a file name, not a directory name, as the second argument of
-the installation commands. Use a separate command for each file to be
-installed.
-
-
-File: standards.info, Node: Directory Variables, Prev: Command Variables, Up: Makefile Conventions
-
-Variables for Installation Directories
-======================================
-
- Installation directories should always be named by variables, so it
-is easy to install in a nonstandard place. The standard names for these
-variables are as follows.
-
- These two variables set the root for the installation. All the other
-installation directories should be subdirectories of one of these two,
-and nothing should be directly installed into these two directories.
-
-`prefix'
- A prefix used in constructing the default values of the variables
- listed below. The default value of `prefix' should be `/usr/local'
- (at least for now).
-
-`exec_prefix'
- A prefix used in constructing the default values of some of the
- variables listed below. The default value of `exec_prefix' should
- be `$(prefix)'.
-
- Generally, `$(exec_prefix)' is used for directories that contain
- machine-specific files (such as executables and subroutine
- libraries), while `$(prefix)' is used directly for other
- directories.
-
- Executable programs are installed in one of the following
-directories.
-
-`bindir'
- The directory for installing executable programs that users can
- run. This should normally be `/usr/local/bin', but write it as
- `$(exec_prefix)/bin'.
-
-`sbindir'
- The directory for installing executable programs that can be run
- from the shell, but are only generally useful to system
- administrators. This should normally be `/usr/local/sbin', but
- write it as `$(exec_prefix)/sbin'.
-
-`libexecdir'
- The directory for installing executable programs to be run by other
- programs rather than by users. This directory should normally be
- `/usr/local/libexec', but write it as `$(exec_prefix)/libexec'.
-
- Data files used by the program during its execution are divided into
-categories in two ways.
-
- * Some files are normally modified by programs; others are never
- normally modified (though users may edit some of these).
-
- * Some files are architecture-independent and can be shared by all
- machines at a site; some are architecture-dependent and can be
- shared only by machines of the same kind and operating system;
- others may never be shared between two machines.
-
- This makes for six different possibilities. However, we want to
-discourage the use of architecture-dependent files, aside from of object
-files and libraries. It is much cleaner to make other data files
-architecture-independent, and it is generally not hard.
-
- Therefore, here are the variables makefiles should use to specify
-directories:
-
-`datadir'
- The directory for installing read-only architecture independent
- data files. This should normally be `/usr/local/share', but write
- it as `$(prefix)/share'. As a special exception, see `$(infodir)'
- and `$(includedir)' below.
-
-`sysconfdir'
- The directory for installing read-only data files that pertain to a
- single machine-that is to say, files for configuring a host.
- Mailer and network configuration files, `/etc/passwd', and so
- forth belong here. All the files in this directory should be
- ordinary ASCII text files. This directory should normally be
- `/usr/local/etc', but write it as `$(prefix)/etc'.
-
- Do not install executables in this directory (they probably belong
- in `$(libexecdir)' or `$(sbindir))'. Also do not install files
- that are modified in the normal course of their use (programs
- whose purpose is to change the configuration of the system
- excluded). Those probably belong in `$(localstatedir)'.
-
-`sharedstatedir'
- The directory for installing architecture-independent data files
- which the programs modify while they run. This should normally be
- `/usr/local/com', but write it as `$(prefix)/com'.
-
-`localstatedir'
- The directory for installing data files which the programs modify
- while they run, and that pertain to one specific machine. Users
- should never need to modify files in this directory to configure
- the package's operation; put such configuration information in
- separate files that go in `datadir' or `$(sysconfdir)'.
- `$(localstatedir)' should normally be `/usr/local/var', but write
- it as `$(prefix)/var'.
-
-`libdir'
- The directory for object files and libraries of object code. Do
- not install executables here, they probably belong in
- `$(libexecdir)' instead. The value of `libdir' should normally be
- `/usr/local/lib', but write it as `$(exec_prefix)/lib'.
-
-`infodir'
- The directory for installing the Info files for this package. By
- default, it should be `/usr/local/info', but it should be written
- as `$(prefix)/info'.
-
-`includedir'
- The directory for installing header files to be included by user
- programs with the C `#include' preprocessor directive. This
- should normally be `/usr/local/include', but write it as
- `$(prefix)/include'.
-
- Most compilers other than GCC do not look for header files in
- `/usr/local/include'. So installing the header files this way is
- only useful with GCC. Sometimes this is not a problem because some
- libraries are only really intended to work with GCC. But some
- libraries are intended to work with other compilers. They should
- install their header files in two places, one specified by
- `includedir' and one specified by `oldincludedir'.
-
-`oldincludedir'
- The directory for installing `#include' header files for use with
- compilers other than GCC. This should normally be `/usr/include'.
-
- The Makefile commands should check whether the value of
- `oldincludedir' is empty. If it is, they should not try to use
- it; they should cancel the second installation of the header files.
-
- A package should not replace an existing header in this directory
- unless the header came from the same package. Thus, if your Foo
- package provides a header file `foo.h', then it should install the
- header file in the `oldincludedir' directory if either (1) there
- is no `foo.h' there or (2) the `foo.h' that exists came from the
- Foo package.
-
- To tell whether `foo.h' came from the Foo package, put a magic
- string in the file--part of a comment--and grep for that string.
-
- Unix-style man pages are installed in one of the following:
-
-`mandir'
- The directory for installing the man pages (if any) for this
- package. It should include the suffix for the proper section of
- the manual--usually `1' for a utility. It will normally be
- `/usr/local/man/man1', but you should write it as
- `$(prefix)/man/man1'.
-
-`man1dir'
- The directory for installing section 1 man pages.
-
-`man2dir'
- The directory for installing section 2 man pages.
-
-`...'
- Use these names instead of `mandir' if the package needs to
- install man pages in more than one section of the manual.
-
- *Don't make the primary documentation for any GNU software be a
- man page. Write a manual in Texinfo instead. Man pages are just
- for the sake of people running GNU software on Unix, which is a
- secondary application only.*
-
-`manext'
- The file name extension for the installed man page. This should
- contain a period followed by the appropriate digit; it should
- normally be `.1'.
-
-`man1ext'
- The file name extension for installed section 1 man pages.
-
-`man2ext'
- The file name extension for installed section 2 man pages.
-
-`...'
- Use these names instead of `manext' if the package needs to
- install man pages in more than one section of the manual.
-
- And finally, you should set the following variable:
-
-`srcdir'
- The directory for the sources being compiled. The value of this
- variable is normally inserted by the `configure' shell script.
-
- For example:
-
- # Common prefix for installation directories.
- # NOTE: This directory must exist when you start the install.
- prefix = /usr/local
- exec_prefix = $(prefix)
- # Where to put the executable for the command `gcc'.
- bindir = $(exec_prefix)/bin
- # Where to put the directories used by the compiler.
- libexecdir = $(exec_prefix)/libexec
- # Where to put the Info files.
- infodir = $(prefix)/info
-
- If your program installs a large number of files into one of the
-standard user-specified directories, it might be useful to group them
-into a subdirectory particular to that program. If you do this, you
-should write the `install' rule to create these subdirectories.
-
- Do not expect the user to include the subdirectory name in the value
-of any of the variables listed above. The idea of having a uniform set
-of variable names for installation directories is to enable the user to
-specify the exact same values for several different GNU packages. In
-order for this to be useful, all the packages must be designed so that
-they will work sensibly when the user does so.
-
-
-File: standards.info, Node: Configuration, Next: Source Language, Prev: Makefile Conventions, Up: Top
-
-How Configuration Should Work
-*****************************
-
- Each GNU distribution should come with a shell script named
-`configure'. This script is given arguments which describe the kind of
-machine and system you want to compile the program for.
-
- The `configure' script must record the configuration options so that
-they affect compilation.
-
- One way to do this is to make a link from a standard name such as
-`config.h' to the proper configuration file for the chosen system. If
-you use this technique, the distribution should *not* contain a file
-named `config.h'. This is so that people won't be able to build the
-program without configuring it first.
-
- Another thing that `configure' can do is to edit the Makefile. If
-you do this, the distribution should *not* contain a file named
-`Makefile'. Instead, include a file `Makefile.in' which contains the
-input used for editing. Once again, this is so that people won't be
-able to build the program without configuring it first.
-
- If `configure' does write the `Makefile', then `Makefile' should
-have a target named `Makefile' which causes `configure' to be rerun,
-setting up the same configuration that was set up last time. The files
-that `configure' reads should be listed as dependencies of `Makefile'.
-
- All the files which are output from the `configure' script should
-have comments at the beginning explaining that they were generated
-automatically using `configure'. This is so that users won't think of
-trying to edit them by hand.
-
- The `configure' script should write a file named `config.status'
-which describes which configuration options were specified when the
-program was last configured. This file should be a shell script which,
-if run, will recreate the same configuration.
-
- The `configure' script should accept an option of the form
-`--srcdir=DIRNAME' to specify the directory where sources are found (if
-it is not the current directory). This makes it possible to build the
-program in a separate directory, so that the actual source directory is
-not modified.
-
- If the user does not specify `--srcdir', then `configure' should
-check both `.' and `..' to see if it can find the sources. If it finds
-the sources in one of these places, it should use them from there.
-Otherwise, it should report that it cannot find the sources, and should
-exit with nonzero status.
-
- Usually the easy way to support `--srcdir' is by editing a
-definition of `VPATH' into the Makefile. Some rules may need to refer
-explicitly to the specified source directory. To make this possible,
-`configure' can add to the Makefile a variable named `srcdir' whose
-value is precisely the specified directory.
-
- The `configure' script should also take an argument which specifies
-the type of system to build the program for. This argument should look
-like this:
-
- CPU-COMPANY-SYSTEM
-
- For example, a Sun 3 might be `m68k-sun-sunos4.1'.
-
- The `configure' script needs to be able to decode all plausible
-alternatives for how to describe a machine. Thus, `sun3-sunos4.1'
-would be a valid alias. So would `sun3-bsd4.2', since SunOS is
-basically BSD and no other BSD system is used on a Sun. For many
-programs, `vax-dec-ultrix' would be an alias for `vax-dec-bsd', simply
-because the differences between Ultrix and BSD are rarely noticeable,
-but a few programs might need to distinguish them.
-
- There is a shell script called `config.sub' that you can use as a
-subroutine to validate system types and canonicalize aliases.
-
- Other options are permitted to specify in more detail the software
-or hardware present on the machine, and include or exclude optional
-parts of the package:
-
-`--enable-FEATURE[=PARAMETER]'
- Configure the package to build and install an optional user-level
- facility called FEATURE. This allows users to choose which
- optional features to include. Giving an optional PARAMETER of
- `no' should omit FEATURE, if it is built by default.
-
- No `--enable' option should *ever* cause one feature to replace
- another. No `--enable' option should ever substitute one useful
- behavior for another useful behavior. The only proper use for
- `--enable' is for questions of whether to build part of the program
- or exclude it.
-
-`--with-PACKAGE'
- The package PACKAGE will be installed, so configure this package
- to work with PACKAGE.
-
- Possible values of PACKAGE include `x', `x-toolkit', `gnu-as' (or
- `gas'), `gnu-ld', `gnu-libc', and `gdb'.
-
- Do not use a `--with' option to specify the file name to use to
- find certain files. That is outside the scope of what `--with'
- options are for.
-
-`--nfp'
- The target machine has no floating point processor.
-
-`--gas'
- The target machine assembler is GAS, the GNU assembler. This is
- obsolete; users should use `--with-gnu-as' instead.
-
-`--x'
- The target machine has the X Window System installed. This is
- obsolete; users should use `--with-x' instead.
-
- All `configure' scripts should accept all of these "detail" options,
-whether or not they make any difference to the particular package at
-hand. In particular, they should accept any option that starts with
-`--with-' or `--enable-'. This is so users will be able to configure
-an entire GNU source tree at once with a single set of options.
-
- You will note that the categories `--with-' and `--enable-' are
-narrow: they *do not* provide a place for any sort of option you might
-think of. That is deliberate. We want to limit the possible
-configuration options in GNU software. We do not want GNU programs to
-have idiosyncratic configuration options.
-
- Packages that perform part of compilation may support
-cross-compilation. In such a case, the host and target machines for
-the program may be different. The `configure' script should normally
-treat the specified type of system as both the host and the target,
-thus producing a program which works for the same type of machine that
-it runs on.
-
- The way to build a cross-compiler, cross-assembler, or what have
-you, is to specify the option `--host=HOSTTYPE' when running
-`configure'. This specifies the host system without changing the type
-of target system. The syntax for HOSTTYPE is the same as described
-above.
-
- Bootstrapping a cross-compiler requires compiling it on a machine
-other than the host it will run on. Compilation packages accept a
-configuration option `--build=HOSTTYPE' for specifying the
-configuration on which you will compile them, in case that is different
-from the host.
-
- Programs for which cross-operation is not meaningful need not accept
-the `--host' option, because configuring an entire operating system for
-cross-operation is not a meaningful thing.
-
- Some programs have ways of configuring themselves automatically. If
-your program is set up to do this, your `configure' script can simply
-ignore most of its arguments.
-
-
-File: standards.info, Node: Source Language, Next: Formatting, Prev: Configuration, Up: Top
-
-Using Languages Other Than C
-****************************
-
- Using a language other than C is like using a non-standard feature:
-it will cause trouble for users. Even if GCC supports the other
-language, users may find it inconvenient to have to install the
-compiler for that other language in order to build your program. So
-please write in C.
-
- There are three exceptions for this rule:
-
- * It is okay to use a special language if the same program contains
- an interpreter for that language.
-
- Thus, it is not a problem that GNU Emacs contains code written in
- Emacs Lisp, because it comes with a Lisp interpreter.
-
- * It is okay to use another language in a tool specifically intended
- for use with that language.
-
- This is okay because the only people who want to build the tool
- will be those who have installed the other language anyway.
-
- * If an application is not of extremely widespread interest, then
- perhaps it's not important if the application is inconvenient to
- install.
-
-
-File: standards.info, Node: Formatting, Next: Comments, Prev: Source Language, Up: Top
-
-Formatting Your Source Code
-***************************
-
- It is important to put the open-brace that starts the body of a C
-function in column zero, and avoid putting any other open-brace or
-open-parenthesis or open-bracket in column zero. Several tools look
-for open-braces in column zero to find the beginnings of C functions.
-These tools will not work on code not formatted that way.
-
- It is also important for function definitions to start the name of
-the function in column zero. This helps people to search for function
-definitions, and may also help certain tools recognize them. Thus, the
-proper format is this:
-
- static char *
- concat (s1, s2) /* Name starts in column zero here */
- char *s1, *s2;
- { /* Open brace in column zero here */
- ...
- }
-
-or, if you want to use ANSI C, format the definition like this:
-
- static char *
- concat (char *s1, char *s2)
- {
- ...
- }
-
- In ANSI C, if the arguments don't fit nicely on one line, split it
-like this:
-
- int
- lots_of_args (int an_integer, long a_long, short a_short,
- double a_double, float a_float)
- ...
-
- For the body of the function, we prefer code formatted like this:
-
- if (x < foo (y, z))
- haha = bar[4] + 5;
- else
- {
- while (z)
- {
- haha += foo (z, z);
- z--;
- }
- return ++x + bar ();
- }
-
- We find it easier to read a program when it has spaces before the
-open-parentheses and after the commas. Especially after the commas.
-
- When you split an expression into multiple lines, split it before an
-operator, not after one. Here is the right way:
-
- if (foo_this_is_long && bar > win (x, y, z)
- && remaining_condition)
-
- Try to avoid having two operators of different precedence at the same
-level of indentation. For example, don't write this:
-
- mode = (inmode[j] == VOIDmode
- || GET_MODE_SIZE (outmode[j]) > GET_MODE_SIZE (inmode[j])
- ? outmode[j] : inmode[j]);
-
- Instead, use extra parentheses so that the indentation shows the
-nesting:
-
- mode = ((inmode[j] == VOIDmode
- || (GET_MODE_SIZE (outmode[j]) > GET_MODE_SIZE (inmode[j])))
- ? outmode[j] : inmode[j]);
-
- Insert extra parentheses so that Emacs will indent the code properly.
-For example, the following indentation looks nice if you do it by hand,
-but Emacs would mess it up:
-
- v = rup->ru_utime.tv_sec*1000 + rup->ru_utime.tv_usec/1000
- + rup->ru_stime.tv_sec*1000 + rup->ru_stime.tv_usec/1000;
-
- But adding a set of parentheses solves the problem:
-
- v = (rup->ru_utime.tv_sec*1000 + rup->ru_utime.tv_usec/1000
- + rup->ru_stime.tv_sec*1000 + rup->ru_stime.tv_usec/1000);
-
- Format do-while statements like this:
-
- do
- {
- a = foo (a);
- }
- while (a > 0);
-
- Please use formfeed characters (control-L) to divide the program into
-pages at logical places (but not within a function). It does not matter
-just how long the pages are, since they do not have to fit on a printed
-page. The formfeeds should appear alone on lines by themselves.
-
-
-File: standards.info, Node: Comments, Next: Syntactic Conventions, Prev: Formatting, Up: Top
-
-Commenting Your Work
-********************
-
- Every program should start with a comment saying briefly what it is
-for. Example: `fmt - filter for simple filling of text'.
-
- Please put a comment on each function saying what the function does,
-what sorts of arguments it gets, and what the possible values of
-arguments mean and are used for. It is not necessary to duplicate in
-words the meaning of the C argument declarations, if a C type is being
-used in its customary fashion. If there is anything nonstandard about
-its use (such as an argument of type `char *' which is really the
-address of the second character of a string, not the first), or any
-possible values that would not work the way one would expect (such as,
-that strings containing newlines are not guaranteed to work), be sure
-to say so.
-
- Also explain the significance of the return value, if there is one.
-
- Please put two spaces after the end of a sentence in your comments,
-so that the Emacs sentence commands will work. Also, please write
-complete sentences and capitalize the first word. If a lower-case
-identifer comes at the beginning of a sentence, don't capitalize it!
-Changing the spelling makes it a different identifier. If you don't
-like starting a sentence with a lower case letter, write the sentence
-differently (e.g., "The identifier lower-case is ...").
-
- The comment on a function is much clearer if you use the argument
-names to speak about the argument values. The variable name itself
-should be lower case, but write it in upper case when you are speaking
-about the value rather than the variable itself. Thus, "the inode
-number NODE_NUM" rather than "an inode".
-
- There is usually no purpose in restating the name of the function in
-the comment before it, because the reader can see that for himself.
-There might be an exception when the comment is so long that the
-function itself would be off the bottom of the screen.
-
- There should be a comment on each static variable as well, like this:
-
- /* Nonzero means truncate lines in the display;
- zero means continue them. */
- int truncate_lines;
-
- Every `#endif' should have a comment, except in the case of short
-conditionals (just a few lines) that are not nested. The comment should
-state the condition of the conditional that is ending, *including its
-sense*. `#else' should have a comment describing the condition *and
-sense* of the code that follows. For example:
-
- #ifdef foo
- ...
- #else /* not foo */
- ...
- #endif /* not foo */
-
-but, by contrast, write the comments this way for a `#ifndef':
-
- #ifndef foo
- ...
- #else /* foo */
- ...
- #endif /* foo */
-
diff --git a/util/autoconf/standards.info-2 b/util/autoconf/standards.info-2
deleted file mode 100644
index 25570a0..0000000
--- a/util/autoconf/standards.info-2
+++ /dev/null
@@ -1,1691 +0,0 @@
-This is Info file ../standards.info, produced by Makeinfo-1.55 from the
-input file ../standards.texi.
-
-START-INFO-DIR-ENTRY
-* Standards: (standards). GNU coding standards.
-END-INFO-DIR-ENTRY
-
- GNU Coding Standards Copyright (C) 1992, 1993, 1994 Free Software
-Foundation, Inc.
-
- Permission is granted to make and distribute verbatim copies of this
-manual provided the copyright notice and this permission notice are
-preserved on all copies.
-
- Permission is granted to copy and distribute modified versions of
-this manual under the conditions for verbatim copying, provided that
-the entire resulting derived work is distributed under the terms of a
-permission notice identical to this one.
-
- Permission is granted to copy and distribute translations of this
-manual into another language, under the above conditions for modified
-versions, except that this permission notice may be stated in a
-translation approved by the Free Software Foundation.
-
-
-File: standards.info, Node: Syntactic Conventions, Next: Names, Prev: Comments, Up: Top
-
-Clean Use of C Constructs
-*************************
-
- Please explicitly declare all arguments to functions. Don't omit
-them just because they are `int's.
-
- Declarations of external functions and functions to appear later in
-the source file should all go in one place near the beginning of the
-file (somewhere before the first function definition in the file), or
-else should go in a header file. Don't put `extern' declarations inside
-functions.
-
- It used to be common practice to use the same local variables (with
-names like `tem') over and over for different values within one
-function. Instead of doing this, it is better declare a separate local
-variable for each distinct purpose, and give it a name which is
-meaningful. This not only makes programs easier to understand, it also
-facilitates optimization by good compilers. You can also move the
-declaration of each local variable into the smallest scope that includes
-all its uses. This makes the program even cleaner.
-
- Don't use local variables or parameters that shadow global
-identifiers.
-
- Don't declare multiple variables in one declaration that spans lines.
-Start a new declaration on each line, instead. For example, instead of
-this:
-
- int foo,
- bar;
-
-write either this:
-
- int foo, bar;
-
-or this:
-
- int foo;
- int bar;
-
-(If they are global variables, each should have a comment preceding it
-anyway.)
-
- When you have an `if'-`else' statement nested in another `if'
-statement, always put braces around the `if'-`else'. Thus, never write
-like this:
-
- if (foo)
- if (bar)
- win ();
- else
- lose ();
-
-always like this:
-
- if (foo)
- {
- if (bar)
- win ();
- else
- lose ();
- }
-
- If you have an `if' statement nested inside of an `else' statement,
-either write `else if' on one line, like this,
-
- if (foo)
- ...
- else if (bar)
- ...
-
-with its `then'-part indented like the preceding `then'-part, or write
-the nested `if' within braces like this:
-
- if (foo)
- ...
- else
- {
- if (bar)
- ...
- }
-
- Don't declare both a structure tag and variables or typedefs in the
-same declaration. Instead, declare the structure tag separately and
-then use it to declare the variables or typedefs.
-
- Try to avoid assignments inside `if'-conditions. For example, don't
-write this:
-
- if ((foo = (char *) malloc (sizeof *foo)) == 0)
- fatal ("virtual memory exhausted");
-
-instead, write this:
-
- foo = (char *) malloc (sizeof *foo);
- if (foo == 0)
- fatal ("virtual memory exhausted");
-
- Don't make the program ugly to placate `lint'. Please don't insert
-any casts to `void'. Zero without a cast is perfectly fine as a null
-pointer constant.
-
-
-File: standards.info, Node: Names, Next: Using Extensions, Prev: Syntactic Conventions, Up: Top
-
-Naming Variables and Functions
-******************************
-
- Please use underscores to separate words in a name, so that the Emacs
-word commands can be useful within them. Stick to lower case; reserve
-upper case for macros and `enum' constants, and for name-prefixes that
-follow a uniform convention.
-
- For example, you should use names like `ignore_space_change_flag';
-don't use names like `iCantReadThis'.
-
- Variables that indicate whether command-line options have been
-specified should be named after the meaning of the option, not after
-the option-letter. A comment should state both the exact meaning of
-the option and its letter. For example,
-
- /* Ignore changes in horizontal whitespace (-b). */
- int ignore_space_change_flag;
-
- When you want to define names with constant integer values, use
-`enum' rather than `#define'. GDB knows about enumeration constants.
-
- Use file names of 14 characters or less, to avoid creating gratuitous
-problems on System V. You can use the program `doschk' to test for
-this. `doschk' also tests for potential name conflicts if the files
-were loaded onto an MS-DOS file system--something you may or may not
-care about.
-
-
-File: standards.info, Node: Using Extensions, Next: System Functions, Prev: Names, Up: Top
-
-Using Non-standard Features
-***************************
-
- Many GNU facilities that already exist support a number of convenient
-extensions over the comparable Unix facilities. Whether to use these
-extensions in implementing your program is a difficult question.
-
- On the one hand, using the extensions can make a cleaner program.
-On the other hand, people will not be able to build the program unless
-the other GNU tools are available. This might cause the program to
-work on fewer kinds of machines.
-
- With some extensions, it might be easy to provide both alternatives.
-For example, you can define functions with a "keyword" `INLINE' and
-define that as a macro to expand into either `inline' or nothing,
-depending on the compiler.
-
- In general, perhaps it is best not to use the extensions if you can
-straightforwardly do without them, but to use the extensions if they
-are a big improvement.
-
- An exception to this rule are the large, established programs (such
-as Emacs) which run on a great variety of systems. Such programs would
-be broken by use of GNU extensions.
-
- Another exception is for programs that are used as part of
-compilation: anything that must be compiled with other compilers in
-order to bootstrap the GNU compilation facilities. If these require
-the GNU compiler, then no one can compile them without having them
-installed already. That would be no good.
-
- Since most computer systems do not yet implement ANSI C, using the
-ANSI C features is effectively using a GNU extension, so the same
-considerations apply. (Except for ANSI features that we discourage,
-such as trigraphs--don't ever use them.)
-
-
-File: standards.info, Node: System Functions, Next: Semantics, Prev: Using Extensions, Up: Top
-
-Calling System Functions
-************************
-
- C implementations differ substantially. ANSI C reduces but does not
-eliminate the incompatibilities; meanwhile, many users wish to compile
-GNU software with pre-ANSI compilers. This chapter gives
-recommendations for how to use the more or less standard C library
-functions to avoid unnecessary loss of portability.
-
- * Don't use the value of `sprintf'. It returns the number of
- characters written on some systems, but not on all systems.
-
- * Don't declare system functions explicitly.
-
- Almost any declaration for a system function is wrong on some
- system. To minimize conflicts, leave it to the system header
- files to declare system functions. If the headers don't declare a
- function, let it remain undeclared.
-
- While it may seem unclean to use a function without declaring it,
- in practice this works fine for most system library functions on
- the systems where this really happens. The problem is only
- theoretical. By contrast, actual declarations have frequently
- caused actual conflicts.
-
- * If you must declare a system function, don't specify the argument
- types. Use an old-style declaration, not an ANSI prototype. The
- more you specify about the function, the more likely a conflict.
-
- * In particular, don't unconditionally declare `malloc' or `realloc'.
-
- Most GNU programs use those functions just once, in functions
- conventionally named `xmalloc' and `xrealloc'. These functions
- call `malloc' and `realloc', respectively, and check the results.
-
- Because `xmalloc' and `xrealloc' are defined in your program, you
- can declare them in other files without any risk of type conflict.
-
- On most systems, `int' is the same length as a pointer; thus, the
- calls to `malloc' and `realloc' work fine. For the few
- exceptional systems (mostly 64-bit machines), you can use
- *conditionalized* declarations of `malloc' and `realloc'--or put
- these declarations in configuration files specific to those
- systems.
-
- * The string functions require special treatment. Some Unix systems
- have a header file `string.h'; other have `strings.h'. Neither
- file name is portable. There are two things you can do: use
- Autoconf to figure out which file to include, or don't include
- either file.
-
- * If you don't include either strings file, you can't get
- declarations for the string functions from the header file in the
- usual way.
-
- That causes less of a problem than you might think. The newer ANSI
- string functions are off-limits anyway because many systems still
- don't support them. The string functions you can use are these:
-
- strcpy strncpy strcat strncat
- strlen strcmp strncmp
- strchr strrchr
-
- The copy and concatenate functions work fine without a declaration
- as long as you don't use their values. Using their values without
- a declaration fails on systems where the width of a pointer
- differs from the width of `int', and perhaps in other cases. It
- is trivial to avoid using their values, so do that.
-
- The compare functions and `strlen' work fine without a declaration
- on most systems, possibly all the ones that GNU software runs on.
- You may find it necessary to declare them *conditionally* on a few
- systems.
-
- The search functions must be declared to return `char *'. Luckily,
- there is no variation in the data type they return. But there is
- variation in their names. Some systems give these functions the
- names `index' and `rindex'; other systems use the names `strchr'
- and `strrchr'. Some systems support both pairs of names, but
- neither pair works on all systems.
-
- You should pick a single pair of names and use it throughout your
- program. (Nowadays, it is better to choose `strchr' and
- `strrchr'.) Declare both of those names as functions returning
- `char *'. On systems which don't support those names, define them
- as macros in terms of the other pair. For example, here is what
- to put at the beginning of your file (or in a header) if you want
- to use the names `strchr' and `strrchr' throughout:
-
- #ifndef HAVE_STRCHR
- #define strchr index
- #endif
- #ifndef HAVE_STRRCHR
- #define strrchr rindex
- #endif
-
- char *strchr ();
- char *strrchr ();
-
- Here we assume that `HAVE_STRCHR' and `HAVE_STRRCHR' are macros
-defined in systems where the corresponding functions exist. One way to
-get them properly defined is to use Autoconf.
-
-
-File: standards.info, Node: Semantics, Next: Errors, Prev: System Functions, Up: Top
-
-Program Behavior for All Programs
-*********************************
-
- Avoid arbitrary limits on the length or number of *any* data
-structure, including filenames, lines, files, and symbols, by allocating
-all data structures dynamically. In most Unix utilities, "long lines
-are silently truncated". This is not acceptable in a GNU utility.
-
- Utilities reading files should not drop NUL characters, or any other
-nonprinting characters *including those with codes above 0177*. The
-only sensible exceptions would be utilities specifically intended for
-interface to certain types of printers that can't handle those
-characters.
-
- Check every system call for an error return, unless you know you
-wish to ignore errors. Include the system error text (from `perror' or
-equivalent) in *every* error message resulting from a failing system
-call, as well as the name of the file if any and the name of the
-utility. Just "cannot open foo.c" or "stat failed" is not sufficient.
-
- Check every call to `malloc' or `realloc' to see if it returned
-zero. Check `realloc' even if you are making the block smaller; in a
-system that rounds block sizes to a power of 2, `realloc' may get a
-different block if you ask for less space.
-
- In Unix, `realloc' can destroy the storage block if it returns zero.
-GNU `realloc' does not have this bug: if it fails, the original block
-is unchanged. Feel free to assume the bug is fixed. If you wish to
-run your program on Unix, and wish to avoid lossage in this case, you
-can use the GNU `malloc'.
-
- You must expect `free' to alter the contents of the block that was
-freed. Anything you want to fetch from the block, you must fetch before
-calling `free'.
-
- If `malloc' fails in a noninteractive program, make that a fatal
-error. In an interactive program (one that reads commands from the
-user), it is better to abort the command and return to the command
-reader loop. This allows the user to kill other processes to free up
-virtual memory, and then try the command again.
-
- Use `getopt_long' to decode arguments, unless the argument syntax
-makes this unreasonable.
-
- When static storage is to be written in during program execution, use
-explicit C code to initialize it. Reserve C initialized declarations
-for data that will not be changed.
-
- Try to avoid low-level interfaces to obscure Unix data structures
-(such as file directories, utmp, or the layout of kernel memory), since
-these are less likely to work compatibly. If you need to find all the
-files in a directory, use `readdir' or some other high-level interface.
-These will be supported compatibly by GNU.
-
- By default, the GNU system will provide the signal handling
-functions of BSD and of POSIX. So GNU software should be written to use
-these.
-
- In error checks that detect "impossible" conditions, just abort.
-There is usually no point in printing any message. These checks
-indicate the existence of bugs. Whoever wants to fix the bugs will have
-to read the source code and run a debugger. So explain the problem with
-comments in the source. The relevant data will be in variables, which
-are easy to examine with the debugger, so there is no point moving them
-elsewhere.
-
-
-File: standards.info, Node: Errors, Next: Libraries, Prev: Semantics, Up: Top
-
-Formatting Error Messages
-*************************
-
- Error messages from compilers should look like this:
-
- SOURCE-FILE-NAME:LINENO: MESSAGE
-
- Error messages from other noninteractive programs should look like
-this:
-
- PROGRAM:SOURCE-FILE-NAME:LINENO: MESSAGE
-
-when there is an appropriate source file, or like this:
-
- PROGRAM: MESSAGE
-
-when there is no relevant source file.
-
- In an interactive program (one that is reading commands from a
-terminal), it is better not to include the program name in an error
-message. The place to indicate which program is running is in the
-prompt or with the screen layout. (When the same program runs with
-input from a source other than a terminal, it is not interactive and
-would do best to print error messages using the noninteractive style.)
-
- The string MESSAGE should not begin with a capital letter when it
-follows a program name and/or filename. Also, it should not end with a
-period.
-
- Error messages from interactive programs, and other messages such as
-usage messages, should start with a capital letter. But they should not
-end with a period.
-
-
-File: standards.info, Node: Libraries, Next: Portability, Prev: Errors, Up: Top
-
-Library Behavior
-****************
-
- Try to make library functions reentrant. If they need to do dynamic
-storage allocation, at least try to avoid any nonreentrancy aside from
-that of `malloc' itself.
-
- Here are certain name conventions for libraries, to avoid name
-conflicts.
-
- Choose a name prefix for the library, more than two characters long.
-All external function and variable names should start with this prefix.
-In addition, there should only be one of these in any given library
-member. This usually means putting each one in a separate source file.
-
- An exception can be made when two external symbols are always used
-together, so that no reasonable program could use one without the
-other; then they can both go in the same file.
-
- External symbols that are not documented entry points for the user
-should have names beginning with `_'. They should also contain the
-chosen name prefix for the library, to prevent collisions with other
-libraries. These can go in the same files with user entry points if
-you like.
-
- Static functions and variables can be used as you like and need not
-fit any naming convention.
-
-
-File: standards.info, Node: Portability, Next: User Interfaces, Prev: Libraries, Up: Top
-
-Portability As It Applies to GNU
-********************************
-
- Much of what is called "portability" in the Unix world refers to
-porting to different Unix versions. This is a secondary consideration
-for GNU software, because its primary purpose is to run on top of one
-and only one kernel, the GNU kernel, compiled with one and only one C
-compiler, the GNU C compiler. The amount and kinds of variation among
-GNU systems on different cpu's will be like the variation among Berkeley
-4.3 systems on different cpu's.
-
- All users today run GNU software on non-GNU systems. So supporting a
-variety of non-GNU systems is desirable; simply not paramount. The
-easiest way to achieve portability to a reasonable range of systems is
-to use Autoconf. It's unlikely that your program needs to know more
-information about the host machine than Autoconf can provide, simply
-because most of the programs that need such knowledge have already been
-written.
-
- It is difficult to be sure exactly what facilities the GNU kernel
-will provide, since it isn't finished yet. Therefore, assume you can
-use anything in 4.3; just avoid using the format of semi-internal data
-bases (e.g., directories) when there is a higher-level alternative
-(`readdir').
-
- You can freely assume any reasonably standard facilities in the C
-language, libraries or kernel, because we will find it necessary to
-support these facilities in the full GNU system, whether or not we have
-already done so. The fact that there may exist kernels or C compilers
-that lack these facilities is irrelevant as long as the GNU kernel and
-C compiler support them.
-
- It remains necessary to worry about differences among cpu types, such
-as the difference in byte ordering and alignment restrictions. It's
-unlikely that 16-bit machines will ever be supported by GNU, so there
-is no point in spending any time to consider the possibility that an
-int will be less than 32 bits.
-
- You can assume that all pointers have the same format, regardless of
-the type they point to, and that this is really an integer. There are
-some weird machines where this isn't true, but they aren't important;
-don't waste time catering to them. Besides, eventually we will put
-function prototypes into all GNU programs, and that will probably make
-your program work even on weird machines.
-
- Since some important machines (including the 68000) are big-endian,
-it is important not to assume that the address of an `int' object is
-also the address of its least-significant byte. Thus, don't make the
-following mistake:
-
- int c;
- ...
- while ((c = getchar()) != EOF)
- write(file_descriptor, &c, 1);
-
- You can assume that it is reasonable to use a meg of memory. Don't
-strain to reduce memory usage unless it can get to that level. If your
-program creates complicated data structures, just make them in core and
-give a fatal error if malloc returns zero.
-
- If a program works by lines and could be applied to arbitrary
-user-supplied input files, it should keep only a line in memory, because
-this is not very hard and users will want to be able to operate on input
-files that are bigger than will fit in core all at once.
-
-
-File: standards.info, Node: User Interfaces, Next: Documentation, Prev: Portability, Up: Top
-
-Standards for Command Line Interfaces
-*************************************
-
- Please don't make the behavior of a utility depend on the name used
-to invoke it. It is useful sometimes to make a link to a utility with
-a different name, and that should not change what it does.
-
- Instead, use a run time option or a compilation switch or both to
-select among the alternate behaviors.
-
- Likewise, please don't make the behavior of the program depend on the
-type of output device it is used with. Device independence is an
-important principle of the system's design; do not compromise it merely
-to save someone from typing an option now and then.
-
- If you think one behavior is most useful when the output is to a
-terminal, and another is most useful when the output is a file or a
-pipe, then it is usually best to make the default behavior the one that
-is useful with output to a terminal, and have an option for the other
-behavior.
-
- Compatibility requires certain programs to depend on the type of
-output device. It would be disastrous if `ls' or `sh' did not do so in
-the way all users expect. In some of these cases, we supplement the
-program with a preferred alternate version that does not depend on the
-output device type. For example, we provide a `dir' program much like
-`ls' except that its default output format is always multi-column
-format.
-
- It is a good idea to follow the POSIX guidelines for the
-command-line options of a program. The easiest way to do this is to use
-`getopt' to parse them. Note that the GNU version of `getopt' will
-normally permit options anywhere among the arguments unless the special
-argument `--' is used. This is not what POSIX specifies; it is a GNU
-extension.
-
- Please define long-named options that are equivalent to the
-single-letter Unix-style options. We hope to make GNU more user
-friendly this way. This is easy to do with the GNU function
-`getopt_long'.
-
- One of the advantages of long-named options is that they can be
-consistent from program to program. For example, users should be able
-to expect the "verbose" option of any GNU program which has one, to be
-spelled precisely `--verbose'. To achieve this uniformity, look at the
-table of common long-option names when you choose the option names for
-your program. The table appears below.
-
- If you use names not already in the table, please send
-`gnu@prep.ai.mit.edu' a list of them, with their meanings, so we can
-update the table.
-
- It is usually a good idea for file names given as ordinary arguments
-to be input files only; any output files would be specified using
-options (preferably `-o'). Even if you allow an output file name as an
-ordinary argument for compatibility, try to provide a suitable option
-as well. This will lead to more consistency among GNU utilities, so
-that there are fewer idiosyncracies for users to remember.
-
- Programs should support an option `--version' which prints the
-program's version number on standard output and exits successfully, and
-an option `--help' which prints option usage information on standard
-output and exits successfully. These options should inhibit the normal
-function of the command; they should do nothing except print the
-requested information.
-
-`auto-check'
- `-a' in `recode'.
-
-`auto-reference'
- `-A' in `ptx'.
-
-`after-date'
- `-N' in `tar'.
-
-`all'
- `-a' in `du', `ls', `nm', `stty', `uname', and `unexpand'.
-
-`all-text'
- `-a' in `diff'.
-
-`almost-all'
- `-A' in `ls'.
-
-`append'
- `-a' in `etags', `tee', `time'; `-r' in `tar'.
-
-`archive'
- `-a' in `cp'.
-
-`archive-name'
- `-n' in `shar'.
-
-`arglength'
- `-l' in `m4'.
-
-`ascii'
- `-a' in `diff'.
-
-`assume-new'
- `-W' in Make.
-
-`assume-old'
- `-o' in Make.
-
-`backward-search'
- `-B' in etags.
-
-`basename'
- `-f' in `shar'.
-
-`batch'
- Used in GDB.
-
-`baud'
- Used in GDB.
-
-`before'
- `-b' in `tac'.
-
-`binary'
- `-b' in `cpio' and `diff'.
-
-`bits-per-code'
- `-b' in `shar'.
-
-`block-size'
- Used in `cpio' and `tar'.
-
-`blocks'
- `-b' in `head' and `tail'.
-
-`break-file'
- `-b' in `ptx'.
-
-`brief'
- Used in various programs to make output shorter.
-
-`bytes'
- `-c' in `head', `split', and `tail'.
-
-`c++'
- `-C' in `etags'.
-
-`catenate'
- `-A' in `tar'.
-
-`cd'
- Used in various programs to specify the directory to use.
-
-`changes'
- `-c' in `chgrp' and `chown'.
-
-`classify'
- `-F' in `ls'.
-
-`colons'
- `-c' in `recode'.
-
-`command'
- `-c' in `su'; `-x' in GDB.
-
-`compare'
- `-d' in `tar'.
-
-`compress'
- `-Z' in `tar' and `shar'.
-
-`concatenate'
- `-A' in `tar'.
-
-`confirmation'
- `-w' in `tar'.
-
-`context'
- Used in `diff'.
-
-`copyright'
- `-C' in `ptx' and `recode'.
-
-`core'
- Used in GDB.
-
-`count'
- `-q' in `who'.
-
-`count-links'
- `-l' in `du'.
-
-`create'
- Used in `tar' and `cpio'.
-
-`cut-mark'
- `-c' in `shar'.
-
-`cxref'
- `-x' in `etags'.
-
-`date'
- `-d' in `touch'.
-
-`debug'
- `-d' in Make and `m4'; `-t' in Bison.
-
-`define'
- `-D' in `m4'.
-
-`defines'
- `-d' in Bison and `etags'.
-
-`delete'
- `-D' in `tar'.
-
-`dereference'
- `-L' in `chgrp', `chown', `cpio', `du', `ls', and `tar'.
-
-`dereference-args'
- `-D' in `du'.
-
-`diacritics'
- `-d' in `recode'.
-
-`dictionary-order'
- `-d' in `look'.
-
-`diff'
- `-d' in `tar'.
-
-`digits'
- `-n' in `csplit'.
-
-`directory'
- Specify the directory to use, in various programs. In `ls', it
- means to show directories themselves rather than their contents.
- In `rm' and `ln', it means to not treat links to directories
- specially.
-
-`discard-all'
- `-x' in `strip'.
-
-`discard-locals'
- `-X' in `strip'.
-
-`diversions'
- `-N' in `m4'.
-
-`dry-run'
- `-n' in Make.
-
-`ed'
- `-e' in `diff'.
-
-`elide-empty-files'
- `-z' in `csplit'.
-
-`entire-new-file'
- `-N' in `diff'.
-
-`environment-overrides'
- `-e' in Make.
-
-`eof'
- `-e' in `xargs'.
-
-`epoch'
- Used in GDB.
-
-`error-limit'
- Used in Makeinfo.
-
-`error-output'
- `-o' in `m4'.
-
-`escape'
- `-b' in `ls'.
-
-`exclude-from'
- `-X' in `tar'.
-
-`exec'
- Used in GDB.
-
-`exit'
- `-x' in `xargs'.
-
-`exit-0'
- `-e' in `unshar'.
-
-`expand-tabs'
- `-t' in `diff'.
-
-`expression'
- `-e' in `sed'.
-
-`extern-only'
- `-g' in `nm'.
-
-`extract'
- `-i' in `cpio'; `-x' in `tar'.
-
-`faces'
- `-f' in `finger'.
-
-`fast'
- `-f' in `su'.
-
-`fatal-warnings'
- `-E' in `m4'.
-
-`file'
- `-f' in `info', Make, `mt', and `tar'; `-n' in `sed'; `-r' in
- `touch'.
-
-`file-prefix'
- `-b' in Bison.
-
-`file-type'
- `-F' in `ls'.
-
-`files-from'
- `-T' in `tar'.
-
-`fill-column'
- Used in Makeinfo.
-
-`flag-truncation'
- `-F' in `ptx'.
-
-`fixed-output-files'
- `-y' in Bison.
-
-`follow'
- `-f' in `tail'.
-
-`footnote-style'
- Used in Makeinfo.
-
-`force'
- `-f' in `cp', `ln', `mv', and `rm'.
-
-`force-prefix'
- `-F' in `shar'.
-
-`format'
- Used in `ls', `time', and `ptx'.
-
-`forward-search'
- `-F' in `etags'.
-
-`fullname'
- Used in GDB.
-
-`gap-size'
- `-g' in `ptx'.
-
-`get'
- `-x' in `tar'.
-
-`graphic'
- `-i' in `ul'.
-
-`graphics'
- `-g' in `recode'.
-
-`group'
- `-g' in `install'.
-
-`gzip'
- `-z' in `tar' and `shar'.
-
-`hashsize'
- `-H' in `m4'.
-
-`header'
- `-h' in `objdump' and `recode'
-
-`heading'
- `-H' in `who'.
-
-`help'
- Used to ask for brief usage information.
-
-`here-delimiter'
- `-d' in `shar'.
-
-`hide-control-chars'
- `-q' in `ls'.
-
-`idle'
- `-u' in `who'.
-
-`ifdef'
- `-D' in `diff'.
-
-`ignore'
- `-I' in `ls'; `-x' in `recode'.
-
-`ignore-all-space'
- `-w' in `diff'.
-
-`ignore-backups'
- `-B' in `ls'.
-
-`ignore-blank-lines'
- `-B' in `diff'.
-
-`ignore-case'
- `-f' in `look' and `ptx'; `-i' in `diff'.
-
-`ignore-errors'
- `-i' in Make.
-
-`ignore-file'
- `-i' in `ptx'.
-
-`ignore-indentation'
- `-S' in `etags'.
-
-`ignore-init-file'
- `-f' in Oleo.
-
-`ignore-interrupts'
- `-i' in `tee'.
-
-`ignore-matching-lines'
- `-I' in `diff'.
-
-`ignore-space-change'
- `-b' in `diff'.
-
-`ignore-zeros'
- `-i' in `tar'.
-
-`include'
- `-i' in `etags'; `-I' in `m4'.
-
-`include-dir'
- `-I' in Make.
-
-`incremental'
- `-G' in `tar'.
-
-`info'
- `-i', `-l', and `-m' in Finger.
-
-`initial'
- `-i' in `expand'.
-
-`initial-tab'
- `-T' in `diff'.
-
-`inode'
- `-i' in `ls'.
-
-`interactive'
- `-i' in `cp', `ln', `mv', `rm'; `-e' in `m4'; `-p' in `xargs';
- `-w' in `tar'.
-
-`intermix-type'
- `-p' in `shar'.
-
-`jobs'
- `-j' in Make.
-
-`just-print'
- `-n' in Make.
-
-`keep-going'
- `-k' in Make.
-
-`keep-files'
- `-k' in `csplit'.
-
-`kilobytes'
- `-k' in `du' and `ls'.
-
-`level-for-gzip'
- `-g' in `shar'.
-
-`line-bytes'
- `-C' in `split'.
-
-`lines'
- Used in `split', `head', and `tail'.
-
-`link'
- `-l' in `cpio'.
-
-`list'
- `-t' in `cpio'; `-l' in `recode'.
-
-`list'
- `-t' in `tar'.
-
-`literal'
- `-N' in `ls'.
-
-`load-average'
- `-l' in Make.
-
-`login'
- Used in `su'.
-
-`machine'
- No listing of which programs already use this; someone should
- check to see if any actually do and tell `gnu@prep.ai.mit.edu'.
-
-`macro-name'
- `-M' in `ptx'.
-
-`mail'
- `-m' in `hello' and `uname'.
-
-`make-directories'
- `-d' in `cpio'.
-
-`makefile'
- `-f' in Make.
-
-`mapped'
- Used in GDB.
-
-`max-args'
- `-n' in `xargs'.
-
-`max-chars'
- `-n' in `xargs'.
-
-`max-lines'
- `-l' in `xargs'.
-
-`max-load'
- `-l' in Make.
-
-`max-procs'
- `-P' in `xargs'.
-
-`mesg'
- `-T' in `who'.
-
-`message'
- `-T' in `who'.
-
-`minimal'
- `-d' in `diff'.
-
-`mixed-uuencode'
- `-M' in `shar'.
-
-`mode'
- `-m' in `install', `mkdir', and `mkfifo'.
-
-`modification-time'
- `-m' in `tar'.
-
-`multi-volume'
- `-M' in `tar'.
-
-`name-prefix'
- `-a' in Bison.
-
-`nesting-limit'
- `-L' in `m4'.
-
-`net-headers'
- `-a' in `shar'.
-
-`new-file'
- `-W' in Make.
-
-`no-builtin-rules'
- `-r' in Make.
-
-`no-character-count'
- `-w' in `shar'.
-
-`no-check-existing'
- `-x' in `shar'.
-
-`no-create'
- `-c' in `touch'.
-
-`no-defines'
- `-D' in `etags'.
-
-`no-dereference'
- `-d' in `cp'.
-
-`no-keep-going'
- `-S' in Make.
-
-`no-lines'
- `-l' in Bison.
-
-`no-piping'
- `-P' in `shar'.
-
-`no-prof'
- `-e' in `gprof'.
-
-`no-sort'
- `-p' in `nm'.
-
-`no-split'
- Used in Makeinfo.
-
-`no-static'
- `-a' in `gprof'.
-
-`no-time'
- `-E' in `gprof'.
-
-`no-timestamp'
- `-m' in `shar'.
-
-`no-validate'
- Used in Makeinfo.
-
-`no-verbose'
- `-v' in `shar'.
-
-`no-warn'
- Used in various programs to inhibit warnings.
-
-`node'
- `-n' in `info'.
-
-`nodename'
- `-n' in `uname'.
-
-`nonmatching'
- `-f' in `cpio'.
-
-`nstuff'
- `-n' in `objdump'.
-
-`null'
- `-0' in `xargs'.
-
-`number'
- `-n' in `cat'.
-
-`number-nonblank'
- `-b' in `cat'.
-
-`numeric-sort'
- `-n' in `nm'.
-
-`numeric-uid-gid'
- `-n' in `cpio' and `ls'.
-
-`nx'
- Used in GDB.
-
-`old-archive'
- `-o' in `tar'.
-
-`old-file'
- `-o' in Make.
-
-`one-file-system'
- `-l' in `tar', `cp', and `du'.
-
-`only-file'
- `-o' in `ptx'.
-
-`only-prof'
- `-f' in `gprof'.
-
-`only-time'
- `-F' in `gprof'.
-
-`output'
- In various programs, specify the output file name.
-
-`output-prefix'
- `-o' in `shar'.
-
-`override'
- `-o' in `rm'.
-
-`overwrite'
- `-c' in `unshar'.
-
-`owner'
- `-o' in `install'.
-
-`paginate'
- `-l' in `diff'.
-
-`paragraph-indent'
- Used in Makeinfo.
-
-`parents'
- `-p' in `mkdir' and `rmdir'.
-
-`pass-all'
- `-p' in `ul'.
-
-`pass-through'
- `-p' in `cpio'.
-
-`port'
- `-P' in `finger'.
-
-`portability'
- `-c' in `cpio' and `tar'.
-
-`prefix-builtins'
- `-P' in `m4'.
-
-`prefix'
- `-f' in `csplit'.
-
-`preserve'
- Used in `tar' and `cp'.
-
-`preserve-environment'
- `-p' in `su'.
-
-`preserve-modification-time'
- `-m' in `cpio'.
-
-`preserve-order'
- `-s' in `tar'.
-
-`preserve-permissions'
- `-p' in `tar'.
-
-`print'
- `-l' in `diff'.
-
-`print-chars'
- `-L' in `cmp'.
-
-`print-data-base'
- `-p' in Make.
-
-`print-directory'
- `-w' in Make.
-
-`print-file-name'
- `-o' in `nm'.
-
-`print-symdefs'
- `-s' in `nm'.
-
-`query-user'
- `-X' in `shar'.
-
-`question'
- `-q' in Make.
-
-`quiet'
- Used in many programs to inhibit the usual output. *Note:* every
- program accepting `--quiet' should accept `--silent' as a synonym.
-
-`quote-name'
- `-Q' in `ls'.
-
-`rcs'
- `-n' in `diff'.
-
-`read-full-blocks'
- `-B' in `tar'.
-
-`readnow'
- Used in GDB.
-
-`recon'
- `-n' in Make.
-
-`record-number'
- `-R' in `tar'.
-
-`recursive'
- Used in `chgrp', `chown', `cp', `ls', `diff', and `rm'.
-
-`reference-limit'
- Used in Makeinfo.
-
-`references'
- `-r' in `ptx'.
-
-`regex'
- `-r' in `tac'.
-
-`release'
- `-r' in `uname'.
-
-`relocation'
- `-r' in `objdump'.
-
-`rename'
- `-r' in `cpio'.
-
-`replace'
- `-i' in `xargs'.
-
-`report-identical-files'
- `-s' in `diff'.
-
-`reset-access-time'
- `-a' in `cpio'.
-
-`reverse'
- `-r' in `ls' and `nm'.
-
-`reversed-ed'
- `-f' in `diff'.
-
-`right-side-defs'
- `-R' in `ptx'.
-
-`same-order'
- `-s' in `tar'.
-
-`same-permissions'
- `-p' in `tar'.
-
-`save'
- `-g' in `stty'.
-
-`se'
- Used in GDB.
-
-`sentence-regexp'
- `-S' in `ptx'.
-
-`separate-dirs'
- `-S' in `du'.
-
-`separator'
- `-s' in `tac'.
-
-`sequence'
- Used by `recode' to chose files or pipes for sequencing passes.
-
-`shell'
- `-s' in `su'.
-
-`show-all'
- `-A' in `cat'.
-
-`show-c-function'
- `-p' in `diff'.
-
-`show-ends'
- `-E' in `cat'.
-
-`show-function-line'
- `-F' in `diff'.
-
-`show-tabs'
- `-T' in `cat'.
-
-`silent'
- Used in many programs to inhibit the usual output. *Note:* every
- program accepting `--silent' should accept `--quiet' as a synonym.
-
-`size'
- `-s' in `ls'.
-
-`sort'
- Used in `ls'.
-
-`sparse'
- `-S' in `tar'.
-
-`speed-large-files'
- `-H' in `diff'.
-
-`split-at'
- `-E' in `unshar'.
-
-`split-size-limit'
- `-L' in `shar'.
-
-`squeeze-blank'
- `-s' in `cat'.
-
-`starting-file'
- Used in `tar' and `diff' to specify which file within a directory
- to start processing with.
-
-`stdin-file-list'
- `-S' in `shar'.
-
-`stop'
- `-S' in Make.
-
-`strict'
- `-s' in `recode'.
-
-`strip'
- `-s' in `install'.
-
-`strip-all'
- `-s' in `strip'.
-
-`strip-debug'
- `-S' in `strip'.
-
-`submitter'
- `-s' in `shar'.
-
-`suffix'
- `-S' in `cp', `ln', `mv'.
-
-`suffix-format'
- `-b' in `csplit'.
-
-`sum'
- `-s' in `gprof'.
-
-`summarize'
- `-s' in `du'.
-
-`symbolic'
- `-s' in `ln'.
-
-`symbols'
- Used in GDB and `objdump'.
-
-`synclines'
- `-s' in `m4'.
-
-`sysname'
- `-s' in `uname'.
-
-`tabs'
- `-t' in `expand' and `unexpand'.
-
-`tabsize'
- `-T' in `ls'.
-
-`terminal'
- `-T' in `tput' and `ul'.
-
-`text'
- `-a' in `diff'.
-
-`text-files'
- `-T' in `shar'.
-
-`time'
- Used in `ls' and `touch'.
-
-`to-stdout'
- `-O' in `tar'.
-
-`total'
- `-c' in `du'.
-
-`touch'
- `-t' in Make, `ranlib', and `recode'.
-
-`trace'
- `-t' in `m4'.
-
-`traditional'
- `-t' in `hello'; `-G' in `m4' and `ptx'.
-
-`tty'
- Used in GDB.
-
-`typedefs'
- `-t' in `etags'.
-
-`typedefs-and-c++'
- `-T' in `etags'.
-
-`typeset-mode'
- `-t' in `ptx'.
-
-`uncompress'
- `-z' in `tar'.
-
-`unconditional'
- `-u' in `cpio'.
-
-`undefine'
- `-U' in `m4'.
-
-`undefined-only'
- `-u' in `nm'.
-
-`update'
- `-u' in `cp', `etags', `mv', `tar'.
-
-`uuencode'
- `-B' in `shar'.
-
-`vanilla-operation'
- `-V' in `shar'.
-
-`verbose'
- Print more information about progress. Many programs support this.
-
-`verify'
- `-W' in `tar'.
-
-`version'
- Print the version number.
-
-`version-control'
- `-V' in `cp', `ln', `mv'.
-
-`vgrind'
- `-v' in `etags'.
-
-`volume'
- `-V' in `tar'.
-
-`what-if'
- `-W' in Make.
-
-`whole-size-limit'
- `-l' in `shar'.
-
-`width'
- `-w' in `ls' and `ptx'.
-
-`word-regexp'
- `-W' in `ptx'.
-
-`writable'
- `-T' in `who'.
-
-`zeros'
- `-z' in `gprof'.
-
-
-File: standards.info, Node: Documentation, Next: Releases, Prev: User Interfaces, Up: Top
-
-Documenting Programs
-********************
-
- Please use Texinfo for documenting GNU programs. See the Texinfo
-manual, either the hardcopy or the version in the GNU Emacs Info
-subsystem (`C-h i'). See existing GNU Texinfo files (e.g., those under
-the `man/' directory in the GNU Emacs distribution) for examples.
-
- The title page of the manual should state the version of the program
-which the manual applies to. The Top node of the manual should also
-contain this information. If the manual is changing more frequently
-than or independent of the program, also state a version number for the
-manual in both of these places.
-
- The manual should document all command-line arguments and all
-commands. It should give examples of their use. But don't organize
-the manual as a list of features. Instead, organize it by the concepts
-a user will have before reaching that point in the manual. Address the
-goals that a user will have in mind, and explain how to accomplish
-them. Don't use Unix man pages as a model for how to write GNU
-documentation; they are a bad example to follow.
-
- The manual should have a node named `PROGRAM Invocation' or
-`Invoking PROGRAM', where PROGRAM stands for the name of the program
-being described, as you would type it in the shell to run the program.
-This node (together with its subnodes, if any) should describe the
-program's command line arguments and how to run it (the sort of
-information people would look in a man page for). Start with an
-`@example' containing a template for all the options and arguments that
-the program uses.
-
- Alternatively, put a menu item in some menu whose item name fits one
-of the above patterns. This identifies the node which that item points
-to as the node for this purpose, regardless of the node's actual name.
-
- There will be automatic features for specifying a program name and
-quickly reading just this part of its manual.
-
- If one manual describes several programs, it should have such a node
-for each program described.
-
- In addition to its manual, the package should have a file named
-`NEWS' which contains a list of user-visible changes worth mentioning.
-In each new release, add items to the front of the file and identify
-the version they pertain to. Don't discard old items; leave them in
-the file after the newer items. This way, a user upgrading from any
-previous version can see what is new.
-
- If the `NEWS' file gets very long, move some of the older items into
-a file named `ONEWS' and put a note at the end referring the user to
-that file.
-
- Please do not use the term "pathname" that is used in Unix
-documentation; use "file name" (two words) instead. We use the term
-"path" only for search paths, which are lists of file names.
-
- It is ok to supply a man page for the program as well as a Texinfo
-manual if you wish to. But keep in mind that supporting a man page
-requires continual effort, each time the program is changed. Any time
-you spend on the man page is time taken away from more useful things you
-could contribute.
-
- Thus, even if a user volunteers to donate a man page, you may find
-this gift costly to accept. Unless you have time on your hands, it may
-be better to refuse the man page unless the same volunteer agrees to
-take full responsibility for maintaining it--so that you can wash your
-hands of it entirely. If the volunteer ceases to do the job, then
-don't feel obliged to pick it up yourself; it may be better to withdraw
-the man page until another volunteer offers to carry on with it.
-
- Alternatively, if you expect the discrepancies to be small enough
-that the man page remains useful, put a prominent note near the
-beginning of the man page explaining that you don't maintain it and
-that the Texinfo manual is more authoritative, and describing how to
-access the Texinfo documentation.
-
-
-File: standards.info, Node: Releases, Prev: Documentation, Up: Top
-
-Making Releases
-***************
-
- Package the distribution of Foo version 69.96 in a gzipped tar file
-named `foo-69.96.tar.gz'. It should unpack into a subdirectory named
-`foo-69.96'.
-
- Building and installing the program should never modify any of the
-files contained in the distribution. This means that all the files
-that form part of the program in any way must be classified into "source
-files" and "non-source files". Source files are written by humans and
-never changed automatically; non-source files are produced from source
-files by programs under the control of the Makefile.
-
- Naturally, all the source files must be in the distribution. It is
-okay to include non-source files in the distribution, provided they are
-up-to-date and machine-independent, so that building the distribution
-normally will never modify them. We commonly include non-source files
-produced by Bison, Lex, TeX, and Makeinfo; this helps avoid unnecessary
-dependencies between our distributions, so that users can install
-whichever packages they want to install.
-
- Non-source files that might actually be modified by building and
-installing the program should *never* be included in the distribution.
-So if you do distribute non-source files, always make sure they are up
-to date when you make a new distribution.
-
- Make sure that the directory into which the distribution unpacks (as
-well as any subdirectories) are all world-writable (octal mode 777).
-This is so that old versions of `tar' which preserve the ownership and
-permissions of the files from the tar archive will be able to extract
-all the files even if the user is unprivileged.
-
- Make sure that all the files in the distribution are world-readable.
-
- Make sure that no file name in the distribution is more than 14
-characters long. Likewise, no file created by building the program
-should have a name longer than 14 characters. The reason for this is
-that some systems adhere to a foolish interpretation of the POSIX
-standard, and refuse to open a longer name, rather than truncating as
-they did in the past.
-
- Don't include any symbolic links in the distribution itself. If the
-tar file contains symbolic links, then people cannot even unpack it on
-systems that don't support symbolic links. Also, don't use multiple
-names for one file in different directories, because certain file
-systems cannot handle this and that prevents unpacking the distribution.
-
- Try to make sure that all the file names will be unique on MS-DOG. A
-name on MS-DOG consists of up to 8 characters, optionally followed by a
-period and up to three characters. MS-DOG will truncate extra
-characters both before and after the period. Thus, `foobarhacker.c'
-and `foobarhacker.o' are not ambiguous; they are truncated to
-`foobarha.c' and `foobarha.o', which are distinct.
-
- Include in your distribution a copy of the `texinfo.tex' you used to
-test print any `*.texinfo' files.
-
- Likewise, if your program uses small GNU software packages like
-regex, getopt, obstack, or termcap, include them in the distribution
-file. Leaving them out would make the distribution file a little
-smaller at the expense of possible inconvenience to a user who doesn't
-know what other files to get.
-
-
diff --git a/util/autoconf/standards.texi b/util/autoconf/standards.texi
deleted file mode 100644
index e50b367..0000000
--- a/util/autoconf/standards.texi
+++ /dev/null
@@ -1,2409 +0,0 @@
-\input texinfo @c -*-texinfo-*-
-@c %**start of header
-@setfilename standards.info
-@settitle GNU Coding Standards
-@c UPDATE THIS DATE WHENEVER YOU MAKE CHANGES!
-@set lastupdate 21 September 1994
-@c %**end of header
-
-@ifinfo
-@format
-START-INFO-DIR-ENTRY
-* Standards: (standards). GNU coding standards.
-END-INFO-DIR-ENTRY
-@end format
-@end ifinfo
-
-@setchapternewpage off
-
-@ifinfo
-GNU Coding Standards
-Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc.
-
-Permission is granted to make and distribute verbatim copies of
-this manual provided the copyright notice and this permission notice
-are preserved on all copies.
-
-@ignore
-Permission is granted to process this file through TeX and print the
-results, provided the printed document carries copying permission
-notice identical to this one except for the removal of this paragraph
-(this paragraph not being relevant to the printed manual).
-@end ignore
-
-Permission is granted to copy and distribute modified versions of this
-manual under the conditions for verbatim copying, provided that the entire
-resulting derived work is distributed under the terms of a permission
-notice identical to this one.
-
-Permission is granted to copy and distribute translations of this manual
-into another language, under the above conditions for modified versions,
-except that this permission notice may be stated in a translation approved
-by the Free Software Foundation.
-@end ifinfo
-
-@titlepage
-@title GNU Coding Standards
-@author Richard Stallman
-@author last updated @value{lastupdate}
-@page
-
-@vskip 0pt plus 1filll
-Copyright @copyright{} 1992, 1993 Free Software Foundation, Inc.
-
-Permission is granted to make and distribute verbatim copies of
-this manual provided the copyright notice and this permission notice
-are preserved on all copies.
-
-Permission is granted to copy and distribute modified versions of this
-manual under the conditions for verbatim copying, provided that the entire
-resulting derived work is distributed under the terms of a permission
-notice identical to this one.
-
-Permission is granted to copy and distribute translations of this manual
-into another language, under the above conditions for modified versions,
-except that this permission notice may be stated in a translation approved
-by the Free Software Foundation.
-@end titlepage
-
-@ifinfo
-@node Top, Preface, (dir), (dir)
-@top Version
-
-Last updated @value{lastupdate}.
-@end ifinfo
-
-@menu
-* Preface:: About the GNU Coding Standards
-* Reading Non-Free Code:: Referring to Proprietary Programs
-* Contributions:: Accepting Contributions
-* Change Logs:: Recording Changes
-* Compatibility:: Compatibility with Other Implementations
-* Makefile Conventions:: Makefile Conventions
-* Configuration:: How Configuration Should Work
-* Source Language:: Using Languages Other Than C
-* Formatting:: Formatting Your Source Code
-* Comments:: Commenting Your Work
-* Syntactic Conventions:: Clean Use of C Constructs
-* Names:: Naming Variables and Functions
-* Using Extensions:: Using Non-standard Features
-* System Functions:: Portability and ``standard'' library functions
-* Semantics:: Program Behavior for All Programs
-* Errors:: Formatting Error Messages
-* Libraries:: Library Behavior
-* Portability:: Portability As It Applies to GNU
-* User Interfaces:: Standards for Command Line Interfaces
-* Documentation:: Documenting Programs
-* Releases:: Making Releases
-@end menu
-
-@node Preface
-@chapter About the GNU Coding Standards
-
-The GNU Coding Standards were written by Richard Stallman and other GNU
-Project volunteers. Their purpose is to make the GNU system clean,
-consistent, and easy to install. This document can also be read as a
-guide to write portable, robust and reliable programs. It focuses on
-programs written in C, but many of the rules and principles are useful
-even if you write in another programming language. The rules often
-state reasons for writing in a certain way.
-
-Corrections or suggestions regarding this document should be sent to
-@code{gnu@@prep.ai.mit.edu}. If you make a suggestion, please include a
-suggested new wording for it; our time is limited. We prefer a context
-diff to the @file{standards.texi} or @file{make-stds.texi} files, but if
-you don't have those files, please mail your suggestion anyway.
-
-This release of the GNU Coding Standards was last updated
-@value{lastupdate}.
-
-@node Reading Non-Free Code
-@chapter Referring to Proprietary Programs
-
-Don't in any circumstances refer to Unix source code for or during
-your work on GNU! (Or to any other proprietary programs.)
-
-If you have a vague recollection of the internals of a Unix program,
-this does not absolutely mean you can't write an imitation of it, but
-do try to organize the imitation internally along different lines,
-because this is likely to make the details of the Unix version
-irrelevant and dissimilar to your results.
-
-For example, Unix utilities were generally optimized to minimize
-memory use; if you go for speed instead, your program will be very
-different. You could keep the entire input file in core and scan it
-there instead of using stdio. Use a smarter algorithm discovered more
-recently than the Unix program. Eliminate use of temporary files. Do
-it in one pass instead of two (we did this in the assembler).
-
-Or, on the contrary, emphasize simplicity instead of speed. For some
-applications, the speed of today's computers makes simpler algorithms
-adequate.
-
-Or go for generality. For example, Unix programs often have static
-tables or fixed-size strings, which make for arbitrary limits; use
-dynamic allocation instead. Make sure your program handles NULs and
-other funny characters in the input files. Add a programming language
-for extensibility and write part of the program in that language.
-
-Or turn some parts of the program into independently usable libraries.
-Or use a simple garbage collector instead of tracking precisely when
-to free memory, or use a new GNU facility such as obstacks.
-
-
-@node Contributions
-@chapter Accepting Contributions
-
-If someone else sends you a piece of code to add to the program you are
-working on, we need legal papers to use it---the same sort of legal
-papers we will need to get from you. @emph{Each} significant
-contributor to a program must sign some sort of legal papers in order
-for us to have clear title to the program. The main author alone is not
-enough.
-
-So, before adding in any contributions from other people, tell us
-so we can arrange to get the papers. Then wait until we tell you
-that we have received the signed papers, before you actually use the
-contribution.
-
-This applies both before you release the program and afterward. If
-you receive diffs to fix a bug, and they make significant change, we
-need legal papers for it.
-
-You don't need papers for changes of a few lines here or there, since
-they are not significant for copyright purposes. Also, you don't need
-papers if all you get from the suggestion is some ideas, not actual code
-which you use. For example, if you write a different solution to the
-problem, you don't need to get papers.
-
-I know this is frustrating; it's frustrating for us as well. But if
-you don't wait, you are going out on a limb---for example, what if the
-contributor's employer won't sign a disclaimer? You might have to take
-that code out again!
-
-The very worst thing is if you forget to tell us about the other
-contributor. We could be very embarrassed in court some day as a
-result.
-
-@node Change Logs
-@chapter Change Logs
-
-Keep a change log for each directory, describing the changes made to
-source files in that directory. The purpose of this is so that people
-investigating bugs in the future will know about the changes that
-might have introduced the bug. Often a new bug can be found by
-looking at what was recently changed. More importantly, change logs
-can help eliminate conceptual inconsistencies between different parts
-of a program; they can give you a history of how the conflicting
-concepts arose.
-
-Use the Emacs command @kbd{M-x add-change} to start a new entry in the
-change log. An entry should have an asterisk, the name of the changed
-file, and then in parentheses the name of the changed functions,
-variables or whatever, followed by a colon. Then describe the changes
-you made to that function or variable.
-
-Separate unrelated entries with blank lines. When two entries
-represent parts of the same change, so that they work together, then
-don't put blank lines between them. Then you can omit the file name
-and the asterisk when successive entries are in the same file.
-
-Here are some examples:
-
-@example
-* register.el (insert-register): Return nil.
-(jump-to-register): Likewise.
-
-* sort.el (sort-subr): Return nil.
-
-* tex-mode.el (tex-bibtex-file, tex-file, tex-region):
-Restart the tex shell if process is gone or stopped.
-(tex-shell-running): New function.
-
-* expr.c (store_one_arg): Round size up for move_block_to_reg.
-(expand_call): Round up when emitting USE insns.
-* stmt.c (assign_parms): Round size up for move_block_from_reg.
-@end example
-
-It's important to name the changed function or variable in full. Don't
-abbreviate them; don't combine them. Subsequent maintainers will often
-search for a function name to find all the change log entries that
-pertain to it; if you abbreviate the name, they won't find it when they
-search. For example, some people are tempted to abbreviate groups of
-function names by writing @samp{* register.el
-(@{insert,jump-to@}-register)}; this is not a good idea, since searching
-for @code{jump-to-register} or @code{insert-register} would not find the
-entry.
-
-There's no need to describe the full purpose of the changes or how they
-work together. It is better to put such explanations in comments in the
-code. That's why just ``New function'' is enough; there is a comment
-with the function in the source to explain what it does.
-
-However, sometimes it is useful to write one line to describe the
-overall purpose of a large batch of changes.
-
-You can think of the change log as a conceptual ``undo list'' which
-explains how earlier versions were different from the current version.
-People can see the current version; they don't need the change log
-to tell them what is in it. What they want from a change log is a
-clear explanation of how the earlier version differed.
-
-When you change the calling sequence of a function in a simple
-fashion, and you change all the callers of the function, there is no
-need to make individual entries for all the callers. Just write in
-the entry for the function being called, ``All callers changed.''
-
-When you change just comments or doc strings, it is enough to write an
-entry for the file, without mentioning the functions. Write just,
-``Doc fix.'' There's no need to keep a change log for documentation
-files. This is because documentation is not susceptible to bugs that
-are hard to fix. Documentation does not consist of parts that must
-interact in a precisely engineered fashion; to correct an error, you
-need not know the history of the erroneous passage.
-
-
-@node Compatibility
-@chapter Compatibility with Other Implementations
-
-With certain exceptions, utility programs and libraries for GNU should
-be upward compatible with those in Berkeley Unix, and upward compatible
-with @sc{ANSI} C if @sc{ANSI} C specifies their behavior, and upward
-compatible with @sc{POSIX} if @sc{POSIX} specifies their behavior.
-
-When these standards conflict, it is useful to offer compatibility
-modes for each of them.
-
-@sc{ANSI} C and @sc{POSIX} prohibit many kinds of extensions. Feel
-free to make the extensions anyway, and include a @samp{--ansi} or
-@samp{--compatible} option to turn them off. However, if the extension
-has a significant chance of breaking any real programs or scripts,
-then it is not really upward compatible. Try to redesign its
-interface.
-
-Many GNU programs suppress extensions that conflict with POSIX if the
-environment variable @code{POSIXLY_CORRECT} is defined (even if it is
-defined with a null value). Please make your program recognize this
-variable if appropriate.
-
-When a feature is used only by users (not by programs or command
-files), and it is done poorly in Unix, feel free to replace it
-completely with something totally different and better. (For example,
-vi is replaced with Emacs.) But it is nice to offer a compatible
-feature as well. (There is a free vi clone, so we offer it.)
-
-Additional useful features not in Berkeley Unix are welcome.
-Additional programs with no counterpart in Unix may be useful,
-but our first priority is usually to duplicate what Unix already
-has.
-
-@comment The makefile standards are in a separate file that is also
-@comment included by make.texinfo. Done by roland@gnu.ai.mit.edu on 1/6/93.
-@include make-stds.texi
-
-@node Configuration
-@chapter How Configuration Should Work
-
-Each GNU distribution should come with a shell script named
-@code{configure}. This script is given arguments which describe the
-kind of machine and system you want to compile the program for.
-
-The @code{configure} script must record the configuration options so
-that they affect compilation.
-
-One way to do this is to make a link from a standard name such as
-@file{config.h} to the proper configuration file for the chosen system.
-If you use this technique, the distribution should @emph{not} contain a
-file named @file{config.h}. This is so that people won't be able to
-build the program without configuring it first.
-
-Another thing that @code{configure} can do is to edit the Makefile. If
-you do this, the distribution should @emph{not} contain a file named
-@file{Makefile}. Instead, include a file @file{Makefile.in} which
-contains the input used for editing. Once again, this is so that people
-won't be able to build the program without configuring it first.
-
-If @code{configure} does write the @file{Makefile}, then @file{Makefile}
-should have a target named @file{Makefile} which causes @code{configure}
-to be rerun, setting up the same configuration that was set up last
-time. The files that @code{configure} reads should be listed as
-dependencies of @file{Makefile}.
-
-All the files which are output from the @code{configure} script should
-have comments at the beginning explaining that they were generated
-automatically using @code{configure}. This is so that users won't think
-of trying to edit them by hand.
-
-The @code{configure} script should write a file named @file{config.status}
-which describes which configuration options were specified when the
-program was last configured. This file should be a shell script which,
-if run, will recreate the same configuration.
-
-The @code{configure} script should accept an option of the form
-@samp{--srcdir=@var{dirname}} to specify the directory where sources are found
-(if it is not the current directory). This makes it possible to build
-the program in a separate directory, so that the actual source directory
-is not modified.
-
-If the user does not specify @samp{--srcdir}, then @code{configure} should
-check both @file{.} and @file{..} to see if it can find the sources. If
-it finds the sources in one of these places, it should use them from
-there. Otherwise, it should report that it cannot find the sources, and
-should exit with nonzero status.
-
-Usually the easy way to support @samp{--srcdir} is by editing a
-definition of @code{VPATH} into the Makefile. Some rules may need to
-refer explicitly to the specified source directory. To make this
-possible, @code{configure} can add to the Makefile a variable named
-@code{srcdir} whose value is precisely the specified directory.
-
-The @code{configure} script should also take an argument which specifies the
-type of system to build the program for. This argument should look like
-this:
-
-@example
-@var{cpu}-@var{company}-@var{system}
-@end example
-
-For example, a Sun 3 might be @samp{m68k-sun-sunos4.1}.
-
-The @code{configure} script needs to be able to decode all plausible
-alternatives for how to describe a machine. Thus, @samp{sun3-sunos4.1}
-would be a valid alias. So would @samp{sun3-bsd4.2}, since SunOS is
-basically @sc{BSD} and no other @sc{BSD} system is used on a Sun. For many
-programs, @samp{vax-dec-ultrix} would be an alias for
-@samp{vax-dec-bsd}, simply because the differences between Ultrix and
-@sc{BSD} are rarely noticeable, but a few programs might need to distinguish
-them.
-
-There is a shell script called @file{config.sub} that you can use
-as a subroutine to validate system types and canonicalize aliases.
-
-Other options are permitted to specify in more detail the software
-or hardware present on the machine, and include or exclude optional
-parts of the package:
-
-@table @samp
-@item --enable-@var{feature}@r{[}=@var{parameter}@r{]}
-Configure the package to build and install an optional user-level
-facility called @var{feature}. This allows users to choose which
-optional features to include. Giving an optional @var{parameter} of
-@samp{no} should omit @var{feature}, if it is built by default.
-
-No @samp{--enable} option should @strong{ever} cause one feature to
-replace another. No @samp{--enable} option should ever substitute one
-useful behavior for another useful behavior. The only proper use for
-@samp{--enable} is for questions of whether to build part of the program
-or exclude it.
-
-@item --with-@var{package}
-@c @r{[}=@var{parameter}@r{]}
-The package @var{package} will be installed, so configure this package
-to work with @var{package}.
-
-@c Giving an optional @var{parameter} of
-@c @samp{no} should omit @var{package}, if it is used by default.
-
-Possible values of @var{package} include @samp{x}, @samp{x-toolkit},
-@samp{gnu-as} (or @samp{gas}), @samp{gnu-ld}, @samp{gnu-libc}, and
-@samp{gdb}.
-
-Do not use a @samp{--with} option to specify the file name to use to
-find certain files. That is outside the scope of what @samp{--with}
-options are for.
-
-@item --nfp
-The target machine has no floating point processor.
-
-@item --gas
-The target machine assembler is GAS, the GNU assembler.
-This is obsolete; users should use @samp{--with-gnu-as} instead.
-
-@item --x
-The target machine has the X Window System installed.
-This is obsolete; users should use @samp{--with-x} instead.
-@end table
-
-All @code{configure} scripts should accept all of these ``detail''
-options, whether or not they make any difference to the particular
-package at hand. In particular, they should accept any option that
-starts with @samp{--with-} or @samp{--enable-}. This is so users will
-be able to configure an entire GNU source tree at once with a single set
-of options.
-
-You will note that the categories @samp{--with-} and @samp{--enable-}
-are narrow: they @strong{do not} provide a place for any sort of option
-you might think of. That is deliberate. We want to limit the possible
-configuration options in GNU software. We do not want GNU programs to
-have idiosyncratic configuration options.
-
-Packages that perform part of compilation may support cross-compilation.
-In such a case, the host and target machines for the program may be
-different. The @code{configure} script should normally treat the
-specified type of system as both the host and the target, thus producing
-a program which works for the same type of machine that it runs on.
-
-The way to build a cross-compiler, cross-assembler, or what have you, is
-to specify the option @samp{--host=@var{hosttype}} when running
-@code{configure}. This specifies the host system without changing the
-type of target system. The syntax for @var{hosttype} is the same as
-described above.
-
-Bootstrapping a cross-compiler requires compiling it on a machine other
-than the host it will run on. Compilation packages accept a
-configuration option @samp{--build=@var{hosttype}} for specifying the
-configuration on which you will compile them, in case that is different
-from the host.
-
-Programs for which cross-operation is not meaningful need not accept the
-@samp{--host} option, because configuring an entire operating system for
-cross-operation is not a meaningful thing.
-
-Some programs have ways of configuring themselves automatically. If
-your program is set up to do this, your @code{configure} script can simply
-ignore most of its arguments.
-
-
-@node Source Language
-@chapter Using Languages Other Than C
-
-Using a language other than C is like using a non-standard feature: it
-will cause trouble for users. Even if GCC supports the other language,
-users may find it inconvenient to have to install the compiler for that
-other language in order to build your program. So please write in C.
-
-There are three exceptions for this rule:
-
-@itemize @bullet
-@item
-It is okay to use a special language if the same program contains an
-interpreter for that language.
-
-Thus, it is not a problem that GNU Emacs contains code written in Emacs
-Lisp, because it comes with a Lisp interpreter.
-
-@item
-It is okay to use another language in a tool specifically intended for
-use with that language.
-
-This is okay because the only people who want to build the tool will be
-those who have installed the other language anyway.
-
-@item
-If an application is not of extremely widespread interest, then perhaps
-it's not important if the application is inconvenient to install.
-@end itemize
-
-@node Formatting
-@chapter Formatting Your Source Code
-
-It is important to put the open-brace that starts the body of a C
-function in column zero, and avoid putting any other open-brace or
-open-parenthesis or open-bracket in column zero. Several tools look
-for open-braces in column zero to find the beginnings of C functions.
-These tools will not work on code not formatted that way.
-
-It is also important for function definitions to start the name of the
-function in column zero. This helps people to search for function
-definitions, and may also help certain tools recognize them. Thus,
-the proper format is this:
-
-@example
-static char *
-concat (s1, s2) /* Name starts in column zero here */
- char *s1, *s2;
-@{ /* Open brace in column zero here */
- @dots{}
-@}
-@end example
-
-@noindent
-or, if you want to use @sc{ANSI} C, format the definition like this:
-
-@example
-static char *
-concat (char *s1, char *s2)
-@{
- @dots{}
-@}
-@end example
-
-In @sc{ANSI} C, if the arguments don't fit nicely on one line,
-split it like this:
-
-@example
-int
-lots_of_args (int an_integer, long a_long, short a_short,
- double a_double, float a_float)
-@dots{}
-@end example
-
-For the body of the function, we prefer code formatted like this:
-
-@example
-if (x < foo (y, z))
- haha = bar[4] + 5;
-else
- @{
- while (z)
- @{
- haha += foo (z, z);
- z--;
- @}
- return ++x + bar ();
- @}
-@end example
-
-We find it easier to read a program when it has spaces before the
-open-parentheses and after the commas. Especially after the commas.
-
-When you split an expression into multiple lines, split it
-before an operator, not after one. Here is the right way:
-
-@example
-if (foo_this_is_long && bar > win (x, y, z)
- && remaining_condition)
-@end example
-
-Try to avoid having two operators of different precedence at the same
-level of indentation. For example, don't write this:
-
-@example
-mode = (inmode[j] == VOIDmode
- || GET_MODE_SIZE (outmode[j]) > GET_MODE_SIZE (inmode[j])
- ? outmode[j] : inmode[j]);
-@end example
-
-Instead, use extra parentheses so that the indentation shows the nesting:
-
-@example
-mode = ((inmode[j] == VOIDmode
- || (GET_MODE_SIZE (outmode[j]) > GET_MODE_SIZE (inmode[j])))
- ? outmode[j] : inmode[j]);
-@end example
-
-Insert extra parentheses so that Emacs will indent the code properly.
-For example, the following indentation looks nice if you do it by hand,
-but Emacs would mess it up:
-
-@example
-v = rup->ru_utime.tv_sec*1000 + rup->ru_utime.tv_usec/1000
- + rup->ru_stime.tv_sec*1000 + rup->ru_stime.tv_usec/1000;
-@end example
-
-But adding a set of parentheses solves the problem:
-
-@example
-v = (rup->ru_utime.tv_sec*1000 + rup->ru_utime.tv_usec/1000
- + rup->ru_stime.tv_sec*1000 + rup->ru_stime.tv_usec/1000);
-@end example
-
-Format do-while statements like this:
-
-@example
-do
- @{
- a = foo (a);
- @}
-while (a > 0);
-@end example
-
-Please use formfeed characters (control-L) to divide the program into
-pages at logical places (but not within a function). It does not matter
-just how long the pages are, since they do not have to fit on a printed
-page. The formfeeds should appear alone on lines by themselves.
-
-
-@node Comments
-@chapter Commenting Your Work
-
-Every program should start with a comment saying briefly what it is for.
-Example: @samp{fmt - filter for simple filling of text}.
-
-Please put a comment on each function saying what the function does,
-what sorts of arguments it gets, and what the possible values of
-arguments mean and are used for. It is not necessary to duplicate in
-words the meaning of the C argument declarations, if a C type is being
-used in its customary fashion. If there is anything nonstandard about
-its use (such as an argument of type @code{char *} which is really the
-address of the second character of a string, not the first), or any
-possible values that would not work the way one would expect (such as,
-that strings containing newlines are not guaranteed to work), be sure
-to say so.
-
-Also explain the significance of the return value, if there is one.
-
-Please put two spaces after the end of a sentence in your comments, so
-that the Emacs sentence commands will work. Also, please write
-complete sentences and capitalize the first word. If a lower-case
-identifer comes at the beginning of a sentence, don't capitalize it!
-Changing the spelling makes it a different identifier. If you don't
-like starting a sentence with a lower case letter, write the sentence
-differently (e.g., ``The identifier lower-case is @dots{}'').
-
-The comment on a function is much clearer if you use the argument
-names to speak about the argument values. The variable name itself
-should be lower case, but write it in upper case when you are speaking
-about the value rather than the variable itself. Thus, ``the inode
-number NODE_NUM'' rather than ``an inode''.
-
-There is usually no purpose in restating the name of the function in
-the comment before it, because the reader can see that for himself.
-There might be an exception when the comment is so long that the function
-itself would be off the bottom of the screen.
-
-There should be a comment on each static variable as well, like this:
-
-@example
-/* Nonzero means truncate lines in the display;
- zero means continue them. */
-int truncate_lines;
-@end example
-
-Every @samp{#endif} should have a comment, except in the case of short
-conditionals (just a few lines) that are not nested. The comment should
-state the condition of the conditional that is ending, @emph{including
-its sense}. @samp{#else} should have a comment describing the condition
-@emph{and sense} of the code that follows. For example:
-
-@example
-#ifdef foo
- @dots{}
-#else /* not foo */
- @dots{}
-#endif /* not foo */
-@end example
-
-@noindent
-but, by contrast, write the comments this way for a @samp{#ifndef}:
-
-@example
-#ifndef foo
- @dots{}
-#else /* foo */
- @dots{}
-#endif /* foo */
-@end example
-
-
-@node Syntactic Conventions
-@chapter Clean Use of C Constructs
-
-Please explicitly declare all arguments to functions.
-Don't omit them just because they are @code{int}s.
-
-Declarations of external functions and functions to appear later in the
-source file should all go in one place near the beginning of the file
-(somewhere before the first function definition in the file), or else
-should go in a header file. Don't put @code{extern} declarations inside
-functions.
-
-It used to be common practice to use the same local variables (with
-names like @code{tem}) over and over for different values within one
-function. Instead of doing this, it is better declare a separate local
-variable for each distinct purpose, and give it a name which is
-meaningful. This not only makes programs easier to understand, it also
-facilitates optimization by good compilers. You can also move the
-declaration of each local variable into the smallest scope that includes
-all its uses. This makes the program even cleaner.
-
-Don't use local variables or parameters that shadow global identifiers.
-
-Don't declare multiple variables in one declaration that spans lines.
-Start a new declaration on each line, instead. For example, instead
-of this:
-
-@example
-int foo,
- bar;
-@end example
-
-@noindent
-write either this:
-
-@example
-int foo, bar;
-@end example
-
-@noindent
-or this:
-
-@example
-int foo;
-int bar;
-@end example
-
-@noindent
-(If they are global variables, each should have a comment preceding it
-anyway.)
-
-When you have an @code{if}-@code{else} statement nested in another
-@code{if} statement, always put braces around the @code{if}-@code{else}.
-Thus, never write like this:
-
-@example
-if (foo)
- if (bar)
- win ();
- else
- lose ();
-@end example
-
-@noindent
-always like this:
-
-@example
-if (foo)
- @{
- if (bar)
- win ();
- else
- lose ();
- @}
-@end example
-
-If you have an @code{if} statement nested inside of an @code{else}
-statement, either write @code{else if} on one line, like this,
-
-@example
-if (foo)
- @dots{}
-else if (bar)
- @dots{}
-@end example
-
-@noindent
-with its @code{then}-part indented like the preceding @code{then}-part,
-or write the nested @code{if} within braces like this:
-
-@example
-if (foo)
- @dots{}
-else
- @{
- if (bar)
- @dots{}
- @}
-@end example
-
-Don't declare both a structure tag and variables or typedefs in the
-same declaration. Instead, declare the structure tag separately
-and then use it to declare the variables or typedefs.
-
-Try to avoid assignments inside @code{if}-conditions. For example,
-don't write this:
-
-@example
-if ((foo = (char *) malloc (sizeof *foo)) == 0)
- fatal ("virtual memory exhausted");
-@end example
-
-@noindent
-instead, write this:
-
-@example
-foo = (char *) malloc (sizeof *foo);
-if (foo == 0)
- fatal ("virtual memory exhausted");
-@end example
-
-Don't make the program ugly to placate @code{lint}. Please don't insert any
-casts to @code{void}. Zero without a cast is perfectly fine as a null
-pointer constant.
-
-@node Names
-@chapter Naming Variables and Functions
-
-Please use underscores to separate words in a name, so that the Emacs
-word commands can be useful within them. Stick to lower case; reserve
-upper case for macros and @code{enum} constants, and for name-prefixes
-that follow a uniform convention.
-
-For example, you should use names like @code{ignore_space_change_flag};
-don't use names like @code{iCantReadThis}.
-
-Variables that indicate whether command-line options have been
-specified should be named after the meaning of the option, not after
-the option-letter. A comment should state both the exact meaning of
-the option and its letter. For example,
-
-@example
-/* Ignore changes in horizontal whitespace (-b). */
-int ignore_space_change_flag;
-@end example
-
-When you want to define names with constant integer values, use
-@code{enum} rather than @samp{#define}. GDB knows about enumeration
-constants.
-
-Use file names of 14 characters or less, to avoid creating gratuitous
-problems on System V. You can use the program @code{doschk} to test for
-this. @code{doschk} also tests for potential name conflicts if the
-files were loaded onto an MS-DOS file system---something you may or may
-not care about.
-
-
-@node Using Extensions
-@chapter Using Non-standard Features
-
-Many GNU facilities that already exist support a number of convenient
-extensions over the comparable Unix facilities. Whether to use these
-extensions in implementing your program is a difficult question.
-
-On the one hand, using the extensions can make a cleaner program.
-On the other hand, people will not be able to build the program
-unless the other GNU tools are available. This might cause the
-program to work on fewer kinds of machines.
-
-With some extensions, it might be easy to provide both alternatives.
-For example, you can define functions with a ``keyword'' @code{INLINE}
-and define that as a macro to expand into either @code{inline} or
-nothing, depending on the compiler.
-
-In general, perhaps it is best not to use the extensions if you can
-straightforwardly do without them, but to use the extensions if they
-are a big improvement.
-
-An exception to this rule are the large, established programs (such as
-Emacs) which run on a great variety of systems. Such programs would
-be broken by use of GNU extensions.
-
-Another exception is for programs that are used as part of
-compilation: anything that must be compiled with other compilers in
-order to bootstrap the GNU compilation facilities. If these require
-the GNU compiler, then no one can compile them without having them
-installed already. That would be no good.
-
-Since most computer systems do not yet implement @sc{ANSI} C, using the
-@sc{ANSI} C features is effectively using a GNU extension, so the
-same considerations apply. (Except for @sc{ANSI} features that we
-discourage, such as trigraphs---don't ever use them.)
-
-
-@node System Functions
-@chapter Calling System Functions
-
-C implementations differ substantially. ANSI C reduces but does not
-eliminate the incompatibilities; meanwhile, many users wish to compile
-GNU software with pre-ANSI compilers. This chapter gives
-recommendations for how to use the more or less standard C library
-functions to avoid unnecessary loss of portability.
-
-@itemize @bullet
-@item
-Don't use the value of @code{sprintf}. It returns the number of
-characters written on some systems, but not on all systems.
-
-@item
-Don't declare system functions explicitly.
-
-Almost any declaration for a system function is wrong on some system.
-To minimize conflicts, leave it to the system header files to declare
-system functions. If the headers don't declare a function, let it
-remain undeclared.
-
-While it may seem unclean to use a function without declaring it, in
-practice this works fine for most system library functions on the
-systems where this really happens. The problem is only theoretical. By
-contrast, actual declarations have frequently caused actual conflicts.
-
-@item
-If you must declare a system function, don't specify the argument types.
-Use an old-style declaration, not an ANSI prototype. The more you
-specify about the function, the more likely a conflict.
-
-@item
-In particular, don't unconditionally declare @code{malloc} or
-@code{realloc}.
-
-Most GNU programs use those functions just once, in functions
-conventionally named @code{xmalloc} and @code{xrealloc}. These
-functions call @code{malloc} and @code{realloc}, respectively, and
-check the results.
-
-Because @code{xmalloc} and @code{xrealloc} are defined in your program,
-you can declare them in other files without any risk of type conflict.
-
-On most systems, @code{int} is the same length as a pointer; thus, the
-calls to @code{malloc} and @code{realloc} work fine. For the few
-exceptional systems (mostly 64-bit machines), you can use
-@strong{conditionalized} declarations of @code{malloc} and
-@code{realloc}---or put these declarations in configuration files
-specific to those systems.
-
-@item
-The string functions require special treatment. Some Unix systems have
-a header file @file{string.h}; other have @file{strings.h}. Neither
-file name is portable. There are two things you can do: use Autoconf to
-figure out which file to include, or don't include either file.
-
-@item
-If you don't include either strings file, you can't get declarations for
-the string functions from the header file in the usual way.
-
-That causes less of a problem than you might think. The newer ANSI
-string functions are off-limits anyway because many systems still don't
-support them. The string functions you can use are these:
-
-@example
-strcpy strncpy strcat strncat
-strlen strcmp strncmp
-strchr strrchr
-@end example
-
-The copy and concatenate functions work fine without a declaration as
-long as you don't use their values. Using their values without a
-declaration fails on systems where the width of a pointer differs from
-the width of @code{int}, and perhaps in other cases. It is trivial to
-avoid using their values, so do that.
-
-The compare functions and @code{strlen} work fine without a declaration
-on most systems, possibly all the ones that GNU software runs on.
-You may find it necessary to declare them @strong{conditionally} on a
-few systems.
-
-The search functions must be declared to return @code{char *}. Luckily,
-there is no variation in the data type they return. But there is
-variation in their names. Some systems give these functions the names
-@code{index} and @code{rindex}; other systems use the names
-@code{strchr} and @code{strrchr}. Some systems support both pairs of
-names, but neither pair works on all systems.
-
-You should pick a single pair of names and use it throughout your
-program. (Nowadays, it is better to choose @code{strchr} and
-@code{strrchr}.) Declare both of those names as functions returning
-@code{char *}. On systems which don't support those names, define them
-as macros in terms of the other pair. For example, here is what to put
-at the beginning of your file (or in a header) if you want to use the
-names @code{strchr} and @code{strrchr} throughout:
-
-@example
-#ifndef HAVE_STRCHR
-#define strchr index
-#endif
-#ifndef HAVE_STRRCHR
-#define strrchr rindex
-#endif
-
-char *strchr ();
-char *strrchr ();
-@end example
-@end itemize
-
-Here we assume that @code{HAVE_STRCHR} and @code{HAVE_STRRCHR} are
-macros defined in systems where the corresponding functions exist.
-One way to get them properly defined is to use Autoconf.
-
-@node Semantics
-@chapter Program Behavior for All Programs
-
-Avoid arbitrary limits on the length or number of @emph{any} data
-structure, including filenames, lines, files, and symbols, by allocating
-all data structures dynamically. In most Unix utilities, ``long lines
-are silently truncated''. This is not acceptable in a GNU utility.
-
-Utilities reading files should not drop NUL characters, or any other
-nonprinting characters @emph{including those with codes above 0177}. The
-only sensible exceptions would be utilities specifically intended for
-interface to certain types of printers that can't handle those characters.
-
-Check every system call for an error return, unless you know you wish to
-ignore errors. Include the system error text (from @code{perror} or
-equivalent) in @emph{every} error message resulting from a failing
-system call, as well as the name of the file if any and the name of the
-utility. Just ``cannot open foo.c'' or ``stat failed'' is not
-sufficient.
-
-Check every call to @code{malloc} or @code{realloc} to see if it
-returned zero. Check @code{realloc} even if you are making the block
-smaller; in a system that rounds block sizes to a power of 2,
-@code{realloc} may get a different block if you ask for less space.
-
-In Unix, @code{realloc} can destroy the storage block if it returns
-zero. GNU @code{realloc} does not have this bug: if it fails, the
-original block is unchanged. Feel free to assume the bug is fixed. If
-you wish to run your program on Unix, and wish to avoid lossage in this
-case, you can use the GNU @code{malloc}.
-
-You must expect @code{free} to alter the contents of the block that was
-freed. Anything you want to fetch from the block, you must fetch before
-calling @code{free}.
-
-If @code{malloc} fails in a noninteractive program, make that a fatal
-error. In an interactive program (one that reads commands from the
-user), it is better to abort the command and return to the command
-reader loop. This allows the user to kill other processes to free up
-virtual memory, and then try the command again.
-
-Use @code{getopt_long} to decode arguments, unless the argument syntax
-makes this unreasonable.
-
-When static storage is to be written in during program execution, use
-explicit C code to initialize it. Reserve C initialized declarations
-for data that will not be changed.
-
-Try to avoid low-level interfaces to obscure Unix data structures (such
-as file directories, utmp, or the layout of kernel memory), since these
-are less likely to work compatibly. If you need to find all the files
-in a directory, use @code{readdir} or some other high-level interface.
-These will be supported compatibly by GNU.
-
-By default, the GNU system will provide the signal handling functions of
-@sc{BSD} and of @sc{POSIX}. So GNU software should be written to use
-these.
-
-In error checks that detect ``impossible'' conditions, just abort.
-There is usually no point in printing any message. These checks
-indicate the existence of bugs. Whoever wants to fix the bugs will have
-to read the source code and run a debugger. So explain the problem with
-comments in the source. The relevant data will be in variables, which
-are easy to examine with the debugger, so there is no point moving them
-elsewhere.
-
-
-@node Errors
-@chapter Formatting Error Messages
-
-Error messages from compilers should look like this:
-
-@example
-@var{source-file-name}:@var{lineno}: @var{message}
-@end example
-
-Error messages from other noninteractive programs should look like this:
-
-@example
-@var{program}:@var{source-file-name}:@var{lineno}: @var{message}
-@end example
-
-@noindent
-when there is an appropriate source file, or like this:
-
-@example
-@var{program}: @var{message}
-@end example
-
-@noindent
-when there is no relevant source file.
-
-In an interactive program (one that is reading commands from a
-terminal), it is better not to include the program name in an error
-message. The place to indicate which program is running is in the
-prompt or with the screen layout. (When the same program runs with
-input from a source other than a terminal, it is not interactive and
-would do best to print error messages using the noninteractive style.)
-
-The string @var{message} should not begin with a capital letter when
-it follows a program name and/or filename. Also, it should not end
-with a period.
-
-Error messages from interactive programs, and other messages such as
-usage messages, should start with a capital letter. But they should not
-end with a period.
-
-
-@node Libraries
-@chapter Library Behavior
-
-Try to make library functions reentrant. If they need to do dynamic
-storage allocation, at least try to avoid any nonreentrancy aside from
-that of @code{malloc} itself.
-
-Here are certain name conventions for libraries, to avoid name
-conflicts.
-
-Choose a name prefix for the library, more than two characters long.
-All external function and variable names should start with this
-prefix. In addition, there should only be one of these in any given
-library member. This usually means putting each one in a separate
-source file.
-
-An exception can be made when two external symbols are always used
-together, so that no reasonable program could use one without the
-other; then they can both go in the same file.
-
-External symbols that are not documented entry points for the user
-should have names beginning with @samp{_}. They should also contain
-the chosen name prefix for the library, to prevent collisions with
-other libraries. These can go in the same files with user entry
-points if you like.
-
-Static functions and variables can be used as you like and need not
-fit any naming convention.
-
-
-@node Portability
-@chapter Portability As It Applies to GNU
-
-Much of what is called ``portability'' in the Unix world refers to
-porting to different Unix versions. This is a secondary consideration
-for GNU software, because its primary purpose is to run on top of one
-and only one kernel, the GNU kernel, compiled with one and only one C
-compiler, the GNU C compiler. The amount and kinds of variation among
-GNU systems on different cpu's will be like the variation among Berkeley
-4.3 systems on different cpu's.
-
-All users today run GNU software on non-GNU systems. So supporting a
-variety of non-GNU systems is desirable; simply not paramount.
-The easiest way to achieve portability to a reasonable range of systems
-is to use Autoconf. It's unlikely that your program needs to know more
-information about the host machine than Autoconf can provide, simply
-because most of the programs that need such knowledge have already been
-written.
-
-It is difficult to be sure exactly what facilities the GNU kernel
-will provide, since it isn't finished yet. Therefore, assume you can
-use anything in 4.3; just avoid using the format of semi-internal data
-bases (e.g., directories) when there is a higher-level alternative
-(@code{readdir}).
-
-You can freely assume any reasonably standard facilities in the C
-language, libraries or kernel, because we will find it necessary to
-support these facilities in the full GNU system, whether or not we
-have already done so. The fact that there may exist kernels or C
-compilers that lack these facilities is irrelevant as long as the GNU
-kernel and C compiler support them.
-
-It remains necessary to worry about differences among cpu types, such
-as the difference in byte ordering and alignment restrictions. It's
-unlikely that 16-bit machines will ever be supported by GNU, so there
-is no point in spending any time to consider the possibility that an
-int will be less than 32 bits.
-
-You can assume that all pointers have the same format, regardless
-of the type they point to, and that this is really an integer.
-There are some weird machines where this isn't true, but they aren't
-important; don't waste time catering to them. Besides, eventually
-we will put function prototypes into all GNU programs, and that will
-probably make your program work even on weird machines.
-
-Since some important machines (including the 68000) are big-endian,
-it is important not to assume that the address of an @code{int} object
-is also the address of its least-significant byte. Thus, don't
-make the following mistake:
-
-@example
-int c;
-@dots{}
-while ((c = getchar()) != EOF)
- write(file_descriptor, &c, 1);
-@end example
-
-You can assume that it is reasonable to use a meg of memory. Don't
-strain to reduce memory usage unless it can get to that level. If
-your program creates complicated data structures, just make them in
-core and give a fatal error if malloc returns zero.
-
-If a program works by lines and could be applied to arbitrary
-user-supplied input files, it should keep only a line in memory, because
-this is not very hard and users will want to be able to operate on input
-files that are bigger than will fit in core all at once.
-
-
-@node User Interfaces
-@chapter Standards for Command Line Interfaces
-
-Please don't make the behavior of a utility depend on the name used
-to invoke it. It is useful sometimes to make a link to a utility
-with a different name, and that should not change what it does.
-
-Instead, use a run time option or a compilation switch or both
-to select among the alternate behaviors.
-
-Likewise, please don't make the behavior of the program depend on the
-type of output device it is used with. Device independence is an
-important principle of the system's design; do not compromise it
-merely to save someone from typing an option now and then.
-
-If you think one behavior is most useful when the output is to a
-terminal, and another is most useful when the output is a file or a
-pipe, then it is usually best to make the default behavior the one that
-is useful with output to a terminal, and have an option for the other
-behavior.
-
-Compatibility requires certain programs to depend on the type of output
-device. It would be disastrous if @code{ls} or @code{sh} did not do so
-in the way all users expect. In some of these cases, we supplement the
-program with a preferred alternate version that does not depend on the
-output device type. For example, we provide a @code{dir} program much
-like @code{ls} except that its default output format is always
-multi-column format.
-
-It is a good idea to follow the @sc{POSIX} guidelines for the
-command-line options of a program. The easiest way to do this is to use
-@code{getopt} to parse them. Note that the GNU version of @code{getopt}
-will normally permit options anywhere among the arguments unless the
-special argument @samp{--} is used. This is not what @sc{POSIX}
-specifies; it is a GNU extension.
-
-Please define long-named options that are equivalent to the
-single-letter Unix-style options. We hope to make GNU more user
-friendly this way. This is easy to do with the GNU function
-@code{getopt_long}.
-
-One of the advantages of long-named options is that they can be
-consistent from program to program. For example, users should be able
-to expect the ``verbose'' option of any GNU program which has one, to be
-spelled precisely @samp{--verbose}. To achieve this uniformity, look at
-the table of common long-option names when you choose the option names
-for your program. The table appears below.
-
-If you use names not already in the table, please send
-@samp{gnu@@prep.ai.mit.edu} a list of them, with their meanings, so we
-can update the table.
-
-It is usually a good idea for file names given as ordinary arguments
-to be input files only; any output files would be specified using
-options (preferably @samp{-o}). Even if you allow an output file name
-as an ordinary argument for compatibility, try to provide a suitable
-option as well. This will lead to more consistency among GNU
-utilities, so that there are fewer idiosyncracies for users to
-remember.
-
-Programs should support an option @samp{--version} which prints the
-program's version number on standard output and exits successfully, and
-an option @samp{--help} which prints option usage information on
-standard output and exits successfully. These options should inhibit
-the normal function of the command; they should do nothing except print
-the requested information.
-
-@c Please leave newlines between items in this table; it's much easier
-@c to update when it isn't completely squashed together and unreadable.
-@c When there is more than one short option for a long option name, put
-@c a semicolon between the lists of the programs that use them, not a
-@c period. --friedman
-
-@table @samp
-
-@item auto-check
-@samp{-a} in @code{recode}.
-
-@item auto-reference
-@samp{-A} in @code{ptx}.
-
-@item after-date
-@samp{-N} in @code{tar}.
-
-@item all
-@samp{-a} in @code{du}, @code{ls}, @code{nm}, @code{stty}, @code{uname},
-and @code{unexpand}.
-
-@item all-text
-@samp{-a} in @code{diff}.
-
-@item almost-all
-@samp{-A} in @code{ls}.
-
-@item append
-@samp{-a} in @code{etags}, @code{tee}, @code{time};
-@samp{-r} in @code{tar}.
-
-@item archive
-@samp{-a} in @code{cp}.
-
-@item archive-name
-@samp{-n} in @code{shar}.
-
-@item arglength
-@samp{-l} in @code{m4}.
-
-@item ascii
-@samp{-a} in @code{diff}.
-
-@item assume-new
-@samp{-W} in Make.
-
-@item assume-old
-@samp{-o} in Make.
-
-@item backward-search
-@samp{-B} in etags.
-
-@item basename
-@samp{-f} in @code{shar}.
-
-@item batch
-Used in GDB.
-
-@item baud
-Used in GDB.
-
-@item before
-@samp{-b} in @code{tac}.
-
-@item binary
-@samp{-b} in @code{cpio} and @code{diff}.
-
-@item bits-per-code
-@samp{-b} in @code{shar}.
-
-@item block-size
-Used in @code{cpio} and @code{tar}.
-
-@item blocks
-@samp{-b} in @code{head} and @code{tail}.
-
-@item break-file
-@samp{-b} in @code{ptx}.
-
-@item brief
-Used in various programs to make output shorter.
-
-@item bytes
-@samp{-c} in @code{head}, @code{split}, and @code{tail}.
-
-@item c@t{++}
-@samp{-C} in @code{etags}.
-
-@item catenate
-@samp{-A} in @code{tar}.
-
-@item cd
-Used in various programs to specify the directory to use.
-
-@item changes
-@samp{-c} in @code{chgrp} and @code{chown}.
-
-@item classify
-@samp{-F} in @code{ls}.
-
-@item colons
-@samp{-c} in @code{recode}.
-
-@item command
-@samp{-c} in @code{su};
-@samp{-x} in GDB.
-
-@item compare
-@samp{-d} in @code{tar}.
-
-@item compress
-@samp{-Z} in @code{tar} and @code{shar}.
-
-@item concatenate
-@samp{-A} in @code{tar}.
-
-@item confirmation
-@samp{-w} in @code{tar}.
-
-@item context
-Used in @code{diff}.
-
-@item copyright
-@samp{-C} in @code{ptx} and @code{recode}.
-
-@item core
-Used in GDB.
-
-@item count
-@samp{-q} in @code{who}.
-
-@item count-links
-@samp{-l} in @code{du}.
-
-@item create
-Used in @code{tar} and @code{cpio}.
-
-@item cut-mark
-@samp{-c} in @code{shar}.
-
-@item cxref
-@samp{-x} in @code{etags}.
-
-@item date
-@samp{-d} in @code{touch}.
-
-@item debug
-@samp{-d} in Make and @code{m4};
-@samp{-t} in Bison.
-
-@item define
-@samp{-D} in @code{m4}.
-
-@item defines
-@samp{-d} in Bison and @code{etags}.
-
-@item delete
-@samp{-D} in @code{tar}.
-
-@item dereference
-@samp{-L} in @code{chgrp}, @code{chown}, @code{cpio}, @code{du},
-@code{ls}, and @code{tar}.
-
-@item dereference-args
-@samp{-D} in @code{du}.
-
-@item diacritics
-@samp{-d} in @code{recode}.
-
-@item dictionary-order
-@samp{-d} in @code{look}.
-
-@item diff
-@samp{-d} in @code{tar}.
-
-@item digits
-@samp{-n} in @code{csplit}.
-
-@item directory
-Specify the directory to use, in various programs. In @code{ls}, it
-means to show directories themselves rather than their contents. In
-@code{rm} and @code{ln}, it means to not treat links to directories
-specially.
-
-@item discard-all
-@samp{-x} in @code{strip}.
-
-@item discard-locals
-@samp{-X} in @code{strip}.
-
-@item diversions
-@samp{-N} in @code{m4}.
-
-@item dry-run
-@samp{-n} in Make.
-
-@item ed
-@samp{-e} in @code{diff}.
-
-@item elide-empty-files
-@samp{-z} in @code{csplit}.
-
-@item entire-new-file
-@samp{-N} in @code{diff}.
-
-@item environment-overrides
-@samp{-e} in Make.
-
-@item eof
-@samp{-e} in @code{xargs}.
-
-@item epoch
-Used in GDB.
-
-@item error-limit
-Used in Makeinfo.
-
-@item error-output
-@samp{-o} in @code{m4}.
-
-@item escape
-@samp{-b} in @code{ls}.
-
-@item exclude-from
-@samp{-X} in @code{tar}.
-
-@item exec
-Used in GDB.
-
-@item exit
-@samp{-x} in @code{xargs}.
-
-@item exit-0
-@samp{-e} in @code{unshar}.
-
-@item expand-tabs
-@samp{-t} in @code{diff}.
-
-@item expression
-@samp{-e} in @code{sed}.
-
-@item extern-only
-@samp{-g} in @code{nm}.
-
-@item extract
-@samp{-i} in @code{cpio};
-@samp{-x} in @code{tar}.
-
-@item faces
-@samp{-f} in @code{finger}.
-
-@item fast
-@samp{-f} in @code{su}.
-
-@item fatal-warnings
-@samp{-E} in @code{m4}.
-
-@item file
-@samp{-f} in @code{info}, Make, @code{mt}, and @code{tar};
-@samp{-n} in @code{sed};
-@samp{-r} in @code{touch}.
-
-@item file-prefix
-@samp{-b} in Bison.
-
-@item file-type
-@samp{-F} in @code{ls}.
-
-@item files-from
-@samp{-T} in @code{tar}.
-
-@item fill-column
-Used in Makeinfo.
-
-@item flag-truncation
-@samp{-F} in @code{ptx}.
-
-@item fixed-output-files
-@samp{-y} in Bison.
-
-@item follow
-@samp{-f} in @code{tail}.
-
-@item footnote-style
-Used in Makeinfo.
-
-@item force
-@samp{-f} in @code{cp}, @code{ln}, @code{mv}, and @code{rm}.
-
-@item force-prefix
-@samp{-F} in @code{shar}.
-
-@item format
-Used in @code{ls}, @code{time}, and @code{ptx}.
-
-@item forward-search
-@samp{-F} in @code{etags}.
-
-@item fullname
-Used in GDB.
-
-@item gap-size
-@samp{-g} in @code{ptx}.
-
-@item get
-@samp{-x} in @code{tar}.
-
-@item graphic
-@samp{-i} in @code{ul}.
-
-@item graphics
-@samp{-g} in @code{recode}.
-
-@item group
-@samp{-g} in @code{install}.
-
-@item gzip
-@samp{-z} in @code{tar} and @code{shar}.
-
-@item hashsize
-@samp{-H} in @code{m4}.
-
-@item header
-@samp{-h} in @code{objdump} and @code{recode}
-
-@item heading
-@samp{-H} in @code{who}.
-
-@item help
-Used to ask for brief usage information.
-
-@item here-delimiter
-@samp{-d} in @code{shar}.
-
-@item hide-control-chars
-@samp{-q} in @code{ls}.
-
-@item idle
-@samp{-u} in @code{who}.
-
-@item ifdef
-@samp{-D} in @code{diff}.
-
-@item ignore
-@samp{-I} in @code{ls};
-@samp{-x} in @code{recode}.
-
-@item ignore-all-space
-@samp{-w} in @code{diff}.
-
-@item ignore-backups
-@samp{-B} in @code{ls}.
-
-@item ignore-blank-lines
-@samp{-B} in @code{diff}.
-
-@item ignore-case
-@samp{-f} in @code{look} and @code{ptx};
-@samp{-i} in @code{diff}.
-
-@item ignore-errors
-@samp{-i} in Make.
-
-@item ignore-file
-@samp{-i} in @code{ptx}.
-
-@item ignore-indentation
-@samp{-S} in @code{etags}.
-
-@item ignore-init-file
-@samp{-f} in Oleo.
-
-@item ignore-interrupts
-@samp{-i} in @code{tee}.
-
-@item ignore-matching-lines
-@samp{-I} in @code{diff}.
-
-@item ignore-space-change
-@samp{-b} in @code{diff}.
-
-@item ignore-zeros
-@samp{-i} in @code{tar}.
-
-@item include
-@samp{-i} in @code{etags};
-@samp{-I} in @code{m4}.
-
-@item include-dir
-@samp{-I} in Make.
-
-@item incremental
-@samp{-G} in @code{tar}.
-
-@item info
-@samp{-i}, @samp{-l}, and @samp{-m} in Finger.
-
-@item initial
-@samp{-i} in @code{expand}.
-
-@item initial-tab
-@samp{-T} in @code{diff}.
-
-@item inode
-@samp{-i} in @code{ls}.
-
-@item interactive
-@samp{-i} in @code{cp}, @code{ln}, @code{mv}, @code{rm};
-@samp{-e} in @code{m4};
-@samp{-p} in @code{xargs};
-@samp{-w} in @code{tar}.
-
-@item intermix-type
-@samp{-p} in @code{shar}.
-
-@item jobs
-@samp{-j} in Make.
-
-@item just-print
-@samp{-n} in Make.
-
-@item keep-going
-@samp{-k} in Make.
-
-@item keep-files
-@samp{-k} in @code{csplit}.
-
-@item kilobytes
-@samp{-k} in @code{du} and @code{ls}.
-
-@item level-for-gzip
-@samp{-g} in @code{shar}.
-
-@item line-bytes
-@samp{-C} in @code{split}.
-
-@item lines
-Used in @code{split}, @code{head}, and @code{tail}.
-
-@item link
-@samp{-l} in @code{cpio}.
-
-@item list
-@samp{-t} in @code{cpio};
-@samp{-l} in @code{recode}.
-
-@item list
-@samp{-t} in @code{tar}.
-
-@item literal
-@samp{-N} in @code{ls}.
-
-@item load-average
-@samp{-l} in Make.
-
-@item login
-Used in @code{su}.
-
-@item machine
-No listing of which programs already use this;
-someone should check to
-see if any actually do and tell @code{gnu@@prep.ai.mit.edu}.
-
-@item macro-name
-@samp{-M} in @code{ptx}.
-
-@item mail
-@samp{-m} in @code{hello} and @code{uname}.
-
-@item make-directories
-@samp{-d} in @code{cpio}.
-
-@item makefile
-@samp{-f} in Make.
-
-@item mapped
-Used in GDB.
-
-@item max-args
-@samp{-n} in @code{xargs}.
-
-@item max-chars
-@samp{-n} in @code{xargs}.
-
-@item max-lines
-@samp{-l} in @code{xargs}.
-
-@item max-load
-@samp{-l} in Make.
-
-@item max-procs
-@samp{-P} in @code{xargs}.
-
-@item mesg
-@samp{-T} in @code{who}.
-
-@item message
-@samp{-T} in @code{who}.
-
-@item minimal
-@samp{-d} in @code{diff}.
-
-@item mixed-uuencode
-@samp{-M} in @code{shar}.
-
-@item mode
-@samp{-m} in @code{install}, @code{mkdir}, and @code{mkfifo}.
-
-@item modification-time
-@samp{-m} in @code{tar}.
-
-@item multi-volume
-@samp{-M} in @code{tar}.
-
-@item name-prefix
-@samp{-a} in Bison.
-
-@item nesting-limit
-@samp{-L} in @code{m4}.
-
-@item net-headers
-@samp{-a} in @code{shar}.
-
-@item new-file
-@samp{-W} in Make.
-
-@item no-builtin-rules
-@samp{-r} in Make.
-
-@item no-character-count
-@samp{-w} in @code{shar}.
-
-@item no-check-existing
-@samp{-x} in @code{shar}.
-
-@item no-create
-@samp{-c} in @code{touch}.
-
-@item no-defines
-@samp{-D} in @code{etags}.
-
-@item no-dereference
-@samp{-d} in @code{cp}.
-
-@item no-keep-going
-@samp{-S} in Make.
-
-@item no-lines
-@samp{-l} in Bison.
-
-@item no-piping
-@samp{-P} in @code{shar}.
-
-@item no-prof
-@samp{-e} in @code{gprof}.
-
-@item no-sort
-@samp{-p} in @code{nm}.
-
-@item no-split
-Used in Makeinfo.
-
-@item no-static
-@samp{-a} in @code{gprof}.
-
-@item no-time
-@samp{-E} in @code{gprof}.
-
-@item no-timestamp
-@samp{-m} in @code{shar}.
-
-@item no-validate
-Used in Makeinfo.
-
-@item no-verbose
-@samp{-v} in @code{shar}.
-
-@item no-warn
-Used in various programs to inhibit warnings.
-
-@item node
-@samp{-n} in @code{info}.
-
-@item nodename
-@samp{-n} in @code{uname}.
-
-@item nonmatching
-@samp{-f} in @code{cpio}.
-
-@item nstuff
-@samp{-n} in @code{objdump}.
-
-@item null
-@samp{-0} in @code{xargs}.
-
-@item number
-@samp{-n} in @code{cat}.
-
-@item number-nonblank
-@samp{-b} in @code{cat}.
-
-@item numeric-sort
-@samp{-n} in @code{nm}.
-
-@item numeric-uid-gid
-@samp{-n} in @code{cpio} and @code{ls}.
-
-@item nx
-Used in GDB.
-
-@item old-archive
-@samp{-o} in @code{tar}.
-
-@item old-file
-@samp{-o} in Make.
-
-@item one-file-system
-@samp{-l} in @code{tar}, @code{cp}, and @code{du}.
-
-@item only-file
-@samp{-o} in @code{ptx}.
-
-@item only-prof
-@samp{-f} in @code{gprof}.
-
-@item only-time
-@samp{-F} in @code{gprof}.
-
-@item output
-In various programs, specify the output file name.
-
-@item output-prefix
-@samp{-o} in @code{shar}.
-
-@item override
-@samp{-o} in @code{rm}.
-
-@item overwrite
-@samp{-c} in @code{unshar}.
-
-@item owner
-@samp{-o} in @code{install}.
-
-@item paginate
-@samp{-l} in @code{diff}.
-
-@item paragraph-indent
-Used in Makeinfo.
-
-@item parents
-@samp{-p} in @code{mkdir} and @code{rmdir}.
-
-@item pass-all
-@samp{-p} in @code{ul}.
-
-@item pass-through
-@samp{-p} in @code{cpio}.
-
-@item port
-@samp{-P} in @code{finger}.
-
-@item portability
-@samp{-c} in @code{cpio} and @code{tar}.
-
-@item prefix-builtins
-@samp{-P} in @code{m4}.
-
-@item prefix
-@samp{-f} in @code{csplit}.
-
-@item preserve
-Used in @code{tar} and @code{cp}.
-
-@item preserve-environment
-@samp{-p} in @code{su}.
-
-@item preserve-modification-time
-@samp{-m} in @code{cpio}.
-
-@item preserve-order
-@samp{-s} in @code{tar}.
-
-@item preserve-permissions
-@samp{-p} in @code{tar}.
-
-@item print
-@samp{-l} in @code{diff}.
-
-@item print-chars
-@samp{-L} in @code{cmp}.
-
-@item print-data-base
-@samp{-p} in Make.
-
-@item print-directory
-@samp{-w} in Make.
-
-@item print-file-name
-@samp{-o} in @code{nm}.
-
-@item print-symdefs
-@samp{-s} in @code{nm}.
-
-@item query-user
-@samp{-X} in @code{shar}.
-
-@item question
-@samp{-q} in Make.
-
-@item quiet
-Used in many programs to inhibit the usual output. @strong{Note:} every
-program accepting @samp{--quiet} should accept @samp{--silent} as a
-synonym.
-
-@item quote-name
-@samp{-Q} in @code{ls}.
-
-@item rcs
-@samp{-n} in @code{diff}.
-
-@item read-full-blocks
-@samp{-B} in @code{tar}.
-
-@item readnow
-Used in GDB.
-
-@item recon
-@samp{-n} in Make.
-
-@item record-number
-@samp{-R} in @code{tar}.
-
-@item recursive
-Used in @code{chgrp}, @code{chown}, @code{cp}, @code{ls}, @code{diff},
-and @code{rm}.
-
-@item reference-limit
-Used in Makeinfo.
-
-@item references
-@samp{-r} in @code{ptx}.
-
-@item regex
-@samp{-r} in @code{tac}.
-
-@item release
-@samp{-r} in @code{uname}.
-
-@item relocation
-@samp{-r} in @code{objdump}.
-
-@item rename
-@samp{-r} in @code{cpio}.
-
-@item replace
-@samp{-i} in @code{xargs}.
-
-@item report-identical-files
-@samp{-s} in @code{diff}.
-
-@item reset-access-time
-@samp{-a} in @code{cpio}.
-
-@item reverse
-@samp{-r} in @code{ls} and @code{nm}.
-
-@item reversed-ed
-@samp{-f} in @code{diff}.
-
-@item right-side-defs
-@samp{-R} in @code{ptx}.
-
-@item same-order
-@samp{-s} in @code{tar}.
-
-@item same-permissions
-@samp{-p} in @code{tar}.
-
-@item save
-@samp{-g} in @code{stty}.
-
-@item se
-Used in GDB.
-
-@item sentence-regexp
-@samp{-S} in @code{ptx}.
-
-@item separate-dirs
-@samp{-S} in @code{du}.
-
-@item separator
-@samp{-s} in @code{tac}.
-
-@item sequence
-Used by @code{recode} to chose files or pipes for sequencing passes.
-
-@item shell
-@samp{-s} in @code{su}.
-
-@item show-all
-@samp{-A} in @code{cat}.
-
-@item show-c-function
-@samp{-p} in @code{diff}.
-
-@item show-ends
-@samp{-E} in @code{cat}.
-
-@item show-function-line
-@samp{-F} in @code{diff}.
-
-@item show-tabs
-@samp{-T} in @code{cat}.
-
-@item silent
-Used in many programs to inhibit the usual output.
-@strong{Note:} every program accepting
-@samp{--silent} should accept @samp{--quiet} as a synonym.
-
-@item size
-@samp{-s} in @code{ls}.
-
-@item sort
-Used in @code{ls}.
-
-@item sparse
-@samp{-S} in @code{tar}.
-
-@item speed-large-files
-@samp{-H} in @code{diff}.
-
-@item split-at
-@samp{-E} in @code{unshar}.
-
-@item split-size-limit
-@samp{-L} in @code{shar}.
-
-@item squeeze-blank
-@samp{-s} in @code{cat}.
-
-@item starting-file
-Used in @code{tar} and @code{diff} to specify which file within
-a directory to start processing with.
-
-@item stdin-file-list
-@samp{-S} in @code{shar}.
-
-@item stop
-@samp{-S} in Make.
-
-@item strict
-@samp{-s} in @code{recode}.
-
-@item strip
-@samp{-s} in @code{install}.
-
-@item strip-all
-@samp{-s} in @code{strip}.
-
-@item strip-debug
-@samp{-S} in @code{strip}.
-
-@item submitter
-@samp{-s} in @code{shar}.
-
-@item suffix
-@samp{-S} in @code{cp}, @code{ln}, @code{mv}.
-
-@item suffix-format
-@samp{-b} in @code{csplit}.
-
-@item sum
-@samp{-s} in @code{gprof}.
-
-@item summarize
-@samp{-s} in @code{du}.
-
-@item symbolic
-@samp{-s} in @code{ln}.
-
-@item symbols
-Used in GDB and @code{objdump}.
-
-@item synclines
-@samp{-s} in @code{m4}.
-
-@item sysname
-@samp{-s} in @code{uname}.
-
-@item tabs
-@samp{-t} in @code{expand} and @code{unexpand}.
-
-@item tabsize
-@samp{-T} in @code{ls}.
-
-@item terminal
-@samp{-T} in @code{tput} and @code{ul}.
-
-@item text
-@samp{-a} in @code{diff}.
-
-@item text-files
-@samp{-T} in @code{shar}.
-
-@item time
-Used in @code{ls} and @code{touch}.
-
-@item to-stdout
-@samp{-O} in @code{tar}.
-
-@item total
-@samp{-c} in @code{du}.
-
-@item touch
-@samp{-t} in Make, @code{ranlib}, and @code{recode}.
-
-@item trace
-@samp{-t} in @code{m4}.
-
-@item traditional
-@samp{-t} in @code{hello};
-@samp{-G} in @code{m4} and @code{ptx}.
-
-@item tty
-Used in GDB.
-
-@item typedefs
-@samp{-t} in @code{etags}.
-
-@item typedefs-and-c++
-@samp{-T} in @code{etags}.
-
-@item typeset-mode
-@samp{-t} in @code{ptx}.
-
-@item uncompress
-@samp{-z} in @code{tar}.
-
-@item unconditional
-@samp{-u} in @code{cpio}.
-
-@item undefine
-@samp{-U} in @code{m4}.
-
-@item undefined-only
-@samp{-u} in @code{nm}.
-
-@item update
-@samp{-u} in @code{cp}, @samp{etags}, @samp{mv}, @samp{tar}.
-
-@item uuencode
-@samp{-B} in @code{shar}.
-
-@item vanilla-operation
-@samp{-V} in @code{shar}.
-
-@item verbose
-Print more information about progress. Many programs support this.
-
-@item verify
-@samp{-W} in @code{tar}.
-
-@item version
-Print the version number.
-
-@item version-control
-@samp{-V} in @code{cp}, @code{ln}, @code{mv}.
-
-@item vgrind
-@samp{-v} in @code{etags}.
-
-@item volume
-@samp{-V} in @code{tar}.
-
-@item what-if
-@samp{-W} in Make.
-
-@item whole-size-limit
-@samp{-l} in @code{shar}.
-
-@item width
-@samp{-w} in @code{ls} and @code{ptx}.
-
-@item word-regexp
-@samp{-W} in @code{ptx}.
-
-@item writable
-@samp{-T} in @code{who}.
-
-@item zeros
-@samp{-z} in @code{gprof}.
-
-@end table
-
-@node Documentation
-@chapter Documenting Programs
-
-Please use Texinfo for documenting GNU programs. See the Texinfo
-manual, either the hardcopy or the version in the GNU Emacs Info
-subsystem (@kbd{C-h i}). See existing GNU Texinfo files (e.g., those
-under the @file{man/} directory in the GNU Emacs distribution) for
-examples.
-
-The title page of the manual should state the version of the program
-which the manual applies to. The Top node of the manual should also
-contain this information. If the manual is changing more frequently
-than or independent of the program, also state a version number for
-the manual in both of these places.
-
-The manual should document all command-line arguments and all
-commands. It should give examples of their use. But don't organize
-the manual as a list of features. Instead, organize it by the
-concepts a user will have before reaching that point in the manual.
-Address the goals that a user will have in mind, and explain how to
-accomplish them. Don't use Unix man pages as a model for how to
-write GNU documentation; they are a bad example to follow.
-
-The manual should have a node named @samp{@var{program} Invocation} or
-@samp{Invoking @var{program}}, where @var{program} stands for the name
-of the program being described, as you would type it in the shell to run
-the program. This node (together with its subnodes, if any) should
-describe the program's command line arguments and how to run it (the
-sort of information people would look in a man page for). Start with an
-@samp{@@example} containing a template for all the options and arguments
-that the program uses.
-
-Alternatively, put a menu item in some menu whose item name fits one of
-the above patterns. This identifies the node which that item points to
-as the node for this purpose, regardless of the node's actual name.
-
-There will be automatic features for specifying a program name and
-quickly reading just this part of its manual.
-
-If one manual describes several programs, it should have such a node for
-each program described.
-
-In addition to its manual, the package should have a file named
-@file{NEWS} which contains a list of user-visible changes worth
-mentioning. In each new release, add items to the front of the file and
-identify the version they pertain to. Don't discard old items; leave
-them in the file after the newer items. This way, a user upgrading from
-any previous version can see what is new.
-
-If the @file{NEWS} file gets very long, move some of the older items
-into a file named @file{ONEWS} and put a note at the end referring the
-user to that file.
-
-Please do not use the term ``pathname'' that is used in Unix
-documentation; use ``file name'' (two words) instead. We use the term
-``path'' only for search paths, which are lists of file names.
-
-It is ok to supply a man page for the program as well as a Texinfo
-manual if you wish to. But keep in mind that supporting a man page
-requires continual effort, each time the program is changed. Any time
-you spend on the man page is time taken away from more useful things you
-could contribute.
-
-Thus, even if a user volunteers to donate a man page, you may find this
-gift costly to accept. Unless you have time on your hands, it may be
-better to refuse the man page unless the same volunteer agrees to take
-full responsibility for maintaining it---so that you can wash your hands
-of it entirely. If the volunteer ceases to do the job, then don't feel
-obliged to pick it up yourself; it may be better to withdraw the man
-page until another volunteer offers to carry on with it.
-
-Alternatively, if you expect the discrepancies to be small enough that
-the man page remains useful, put a prominent note near the beginning of
-the man page explaining that you don't maintain it and that the Texinfo
-manual is more authoritative, and describing how to access the Texinfo
-documentation.
-
-@node Releases
-@chapter Making Releases
-
-Package the distribution of Foo version 69.96 in a gzipped tar file
-named @file{foo-69.96.tar.gz}. It should unpack into a subdirectory
-named @file{foo-69.96}.
-
-Building and installing the program should never modify any of the files
-contained in the distribution. This means that all the files that form
-part of the program in any way must be classified into @dfn{source
-files} and @dfn{non-source files}. Source files are written by humans
-and never changed automatically; non-source files are produced from
-source files by programs under the control of the Makefile.
-
-Naturally, all the source files must be in the distribution. It is okay
-to include non-source files in the distribution, provided they are
-up-to-date and machine-independent, so that building the distribution
-normally will never modify them. We commonly include non-source files
-produced by Bison, Lex, @TeX{}, and Makeinfo; this helps avoid
-unnecessary dependencies between our distributions, so that users can
-install whichever packages they want to install.
-
-Non-source files that might actually be modified by building and
-installing the program should @strong{never} be included in the
-distribution. So if you do distribute non-source files, always make
-sure they are up to date when you make a new distribution.
-
-Make sure that the directory into which the distribution unpacks (as
-well as any subdirectories) are all world-writable (octal mode 777).
-This is so that old versions of @code{tar} which preserve the
-ownership and permissions of the files from the tar archive will be
-able to extract all the files even if the user is unprivileged.
-
-Make sure that all the files in the distribution are world-readable.
-
-Make sure that no file name in the distribution is more than 14
-characters long. Likewise, no file created by building the program
-should have a name longer than 14 characters. The reason for this is
-that some systems adhere to a foolish interpretation of the POSIX
-standard, and refuse to open a longer name, rather than truncating as
-they did in the past.
-
-Don't include any symbolic links in the distribution itself. If the tar
-file contains symbolic links, then people cannot even unpack it on
-systems that don't support symbolic links. Also, don't use multiple
-names for one file in different directories, because certain file
-systems cannot handle this and that prevents unpacking the
-distribution.
-
-Try to make sure that all the file names will be unique on MS-DOG. A
-name on MS-DOG consists of up to 8 characters, optionally followed by a
-period and up to three characters. MS-DOG will truncate extra
-characters both before and after the period. Thus,
-@file{foobarhacker.c} and @file{foobarhacker.o} are not ambiguous; they
-are truncated to @file{foobarha.c} and @file{foobarha.o}, which are
-distinct.
-
-Include in your distribution a copy of the @file{texinfo.tex} you used
-to test print any @file{*.texinfo} files.
-
-Likewise, if your program uses small GNU software packages like regex,
-getopt, obstack, or termcap, include them in the distribution file.
-Leaving them out would make the distribution file a little smaller at
-the expense of possible inconvenience to a user who doesn't know what
-other files to get.
-
-@contents
-
-@bye
diff --git a/util/autoconf/testsuite/Makefile b/util/autoconf/testsuite/Makefile
deleted file mode 100644
index e69de29..0000000
--- a/util/autoconf/testsuite/Makefile
+++ /dev/null
diff --git a/util/autoconf/texinfo.tex b/util/autoconf/texinfo.tex
deleted file mode 100644
index e544dc6..0000000
--- a/util/autoconf/texinfo.tex
+++ /dev/null
@@ -1,4355 +0,0 @@
-%% TeX macros to handle texinfo files
-
-% Copyright (C) 1985, 86, 88, 90, 91, 92, 93, 1994 Free Software Foundation, Inc.
-
-%This texinfo.tex file is free software; you can redistribute it and/or
-%modify it under the terms of the GNU General Public License as
-%published by the Free Software Foundation; either version 2, or (at
-%your option) any later version.
-
-%This texinfo.tex file is distributed in the hope that it will be
-%useful, but WITHOUT ANY WARRANTY; without even the implied warranty
-%of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%General Public License for more details.
-
-%You should have received a copy of the GNU General Public License
-%along with this texinfo.tex file; see the file COPYING. If not, write
-%to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139,
-%USA.
-
-
-%In other words, you are welcome to use, share and improve this program.
-%You are forbidden to forbid anyone else to use, share and improve
-%what you give them. Help stamp out software-hoarding!
-
-% This automatically updates the version number based on RCS.
-\def\deftexinfoversion$#1: #2 ${\def\texinfoversion{#2}}
-\deftexinfoversion$Revision$
-\message{Loading texinfo package [Version \texinfoversion]:}
-
-% Print the version number if in a .fmt file.
-\everyjob{\message{[Texinfo version \texinfoversion]}\message{}}
-
-% Save some parts of plain tex whose names we will redefine.
-
-\let\ptextilde=\~
-\let\ptexlbrace=\{
-\let\ptexrbrace=\}
-\let\ptexdots=\dots
-\let\ptexdot=\.
-\let\ptexstar=\*
-\let\ptexend=\end
-\let\ptexbullet=\bullet
-\let\ptexb=\b
-\let\ptexc=\c
-\let\ptexi=\i
-\let\ptext=\t
-\let\ptexl=\l
-\let\ptexL=\L
-
-% Be sure we're in horizontal mode when doing a tie, since we make space
-% equivalent to this in @example-like environments. Otherwise, a space
-% at the beginning of a line will start with \penalty -- and
-% since \penalty is valid in vertical mode, we'd end up putting the
-% penalty on the vertical list instead of in the new paragraph.
-{\catcode`@ = 11
- \gdef\tie{\leavevmode\penalty\@M\ }
-}
-\let\~ = \tie % And make it available as @~.
-
-\message{Basics,}
-\chardef\other=12
-
-% If this character appears in an error message or help string, it
-% starts a new line in the output.
-\newlinechar = `^^J
-
-% Set up fixed words for English.
-\ifx\putwordChapter\undefined{\gdef\putwordChapter{Chapter}}\fi%
-\def\putwordInfo{Info}%
-\ifx\putwordSee\undefined{\gdef\putwordSee{See}}\fi%
-\ifx\putwordsee\undefined{\gdef\putwordsee{see}}\fi%
-\ifx\putwordfile\undefined{\gdef\putwordfile{file}}\fi%
-\ifx\putwordpage\undefined{\gdef\putwordpage{page}}\fi%
-\ifx\putwordsection\undefined{\gdef\putwordsection{section}}\fi%
-\ifx\putwordSection\undefined{\gdef\putwordSection{Section}}\fi%
-\ifx\putwordTableofContents\undefined{\gdef\putwordTableofContents{Table of Contents}}\fi%
-\ifx\putwordShortContents\undefined{\gdef\putwordShortContents{Short Contents}}\fi%
-\ifx\putwordAppendix\undefined{\gdef\putwordAppendix{Appendix}}\fi%
-
-% Ignore a token.
-%
-\def\gobble#1{}
-
-\hyphenation{ap-pen-dix}
-\hyphenation{mini-buf-fer mini-buf-fers}
-\hyphenation{eshell}
-
-% Margin to add to right of even pages, to left of odd pages.
-\newdimen \bindingoffset \bindingoffset=0pt
-\newdimen \normaloffset \normaloffset=\hoffset
-\newdimen\pagewidth \newdimen\pageheight
-\pagewidth=\hsize \pageheight=\vsize
-
-% Sometimes it is convenient to have everything in the transcript file
-% and nothing on the terminal. We don't just call \tracingall here,
-% since that produces some useless output on the terminal.
-%
-\def\gloggingall{\begingroup \globaldefs = 1 \loggingall \endgroup}%
-\def\loggingall{\tracingcommands2 \tracingstats2
- \tracingpages1 \tracingoutput1 \tracinglostchars1
- \tracingmacros2 \tracingparagraphs1 \tracingrestores1
- \showboxbreadth\maxdimen\showboxdepth\maxdimen
-}%
-
-%---------------------Begin change-----------------------
-%
-%%%% For @cropmarks command.
-% Dimensions to add cropmarks at corners Added by P. A. MacKay, 12 Nov. 1986
-%
-\newdimen\cornerlong \newdimen\cornerthick
-\newdimen \topandbottommargin
-\newdimen \outerhsize \newdimen \outervsize
-\cornerlong=1pc\cornerthick=.3pt % These set size of cropmarks
-\outerhsize=7in
-%\outervsize=9.5in
-% Alternative @smallbook page size is 9.25in
-\outervsize=9.25in
-\topandbottommargin=.75in
-%
-%---------------------End change-----------------------
-
-% \onepageout takes a vbox as an argument. Note that \pagecontents
-% does insertions itself, but you have to call it yourself.
-\chardef\PAGE=255 \output={\onepageout{\pagecontents\PAGE}}
-\def\onepageout#1{\hoffset=\normaloffset
-\ifodd\pageno \advance\hoffset by \bindingoffset
-\else \advance\hoffset by -\bindingoffset\fi
-{\escapechar=`\\\relax % makes sure backslash is used in output files.
-\shipout\vbox{{\let\hsize=\pagewidth \makeheadline} \pagebody{#1}%
-{\let\hsize=\pagewidth \makefootline}}}%
-\advancepageno \ifnum\outputpenalty>-20000 \else\dosupereject\fi}
-
-%%%% For @cropmarks command %%%%
-
-% Here is a modification of the main output routine for Near East Publications
-% This provides right-angle cropmarks at all four corners.
-% The contents of the page are centerlined into the cropmarks,
-% and any desired binding offset is added as an \hskip on either
-% site of the centerlined box. (P. A. MacKay, 12 November, 1986)
-%
-\def\croppageout#1{\hoffset=0pt % make sure this doesn't mess things up
-{\escapechar=`\\\relax % makes sure backslash is used in output files.
- \shipout
- \vbox to \outervsize{\hsize=\outerhsize
- \vbox{\line{\ewtop\hfill\ewtop}}
- \nointerlineskip
- \line{\vbox{\moveleft\cornerthick\nstop}
- \hfill
- \vbox{\moveright\cornerthick\nstop}}
- \vskip \topandbottommargin
- \centerline{\ifodd\pageno\hskip\bindingoffset\fi
- \vbox{
- {\let\hsize=\pagewidth \makeheadline}
- \pagebody{#1}
- {\let\hsize=\pagewidth \makefootline}}
- \ifodd\pageno\else\hskip\bindingoffset\fi}
- \vskip \topandbottommargin plus1fill minus1fill
- \boxmaxdepth\cornerthick
- \line{\vbox{\moveleft\cornerthick\nsbot}
- \hfill
- \vbox{\moveright\cornerthick\nsbot}}
- \nointerlineskip
- \vbox{\line{\ewbot\hfill\ewbot}}
- }}
- \advancepageno
- \ifnum\outputpenalty>-20000 \else\dosupereject\fi}
-%
-% Do @cropmarks to get crop marks
-\def\cropmarks{\let\onepageout=\croppageout }
-
-\def\pagebody#1{\vbox to\pageheight{\boxmaxdepth=\maxdepth #1}}
-{\catcode`\@ =11
-\gdef\pagecontents#1{\ifvoid\topins\else\unvbox\topins\fi
-\dimen@=\dp#1 \unvbox#1
-\ifvoid\footins\else\vskip\skip\footins\footnoterule \unvbox\footins\fi
-\ifr@ggedbottom \kern-\dimen@ \vfil \fi}
-}
-
-%
-% Here are the rules for the cropmarks. Note that they are
-% offset so that the space between them is truly \outerhsize or \outervsize
-% (P. A. MacKay, 12 November, 1986)
-%
-\def\ewtop{\vrule height\cornerthick depth0pt width\cornerlong}
-\def\nstop{\vbox
- {\hrule height\cornerthick depth\cornerlong width\cornerthick}}
-\def\ewbot{\vrule height0pt depth\cornerthick width\cornerlong}
-\def\nsbot{\vbox
- {\hrule height\cornerlong depth\cornerthick width\cornerthick}}
-
-% Parse an argument, then pass it to #1. The argument is the rest of
-% the input line (except we remove a trailing comment). #1 should be a
-% macro which expects an ordinary undelimited TeX argument.
-%
-\def\parsearg#1{%
- \let\next = #1%
- \begingroup
- \obeylines
- \futurelet\temp\parseargx
-}
-
-% If the next token is an obeyed space (from an @example environment or
-% the like), remove it and recurse. Otherwise, we're done.
-\def\parseargx{%
- % \obeyedspace is defined far below, after the definition of \sepspaces.
- \ifx\obeyedspace\temp
- \expandafter\parseargdiscardspace
- \else
- \expandafter\parseargline
- \fi
-}
-
-% Remove a single space (as the delimiter token to the macro call).
-{\obeyspaces %
- \gdef\parseargdiscardspace {\futurelet\temp\parseargx}}
-
-{\obeylines %
- \gdef\parseargline#1^^M{%
- \endgroup % End of the group started in \parsearg.
- %
- % First remove any @c comment, then any @comment.
- % Result of each macro is put in \toks0.
- \argremovec #1\c\relax %
- \expandafter\argremovecomment \the\toks0 \comment\relax %
- %
- % Call the caller's macro, saved as \next in \parsearg.
- \expandafter\next\expandafter{\the\toks0}%
- }%
-}
-
-% Since all \c{,omment} does is throw away the argument, we can let TeX
-% do that for us. The \relax here is matched by the \relax in the call
-% in \parseargline; it could be more or less anything, its purpose is
-% just to delimit the argument to the \c.
-\def\argremovec#1\c#2\relax{\toks0 = {#1}}
-\def\argremovecomment#1\comment#2\relax{\toks0 = {#1}}
-
-% \argremovec{,omment} might leave us with trailing spaces, though; e.g.,
-% @end itemize @c foo
-% will have two active spaces as part of the argument with the
-% `itemize'. Here we remove all active spaces from #1, and assign the
-% result to \toks0.
-%
-% This loses if there are any *other* active characters besides spaces
-% in the argument -- _ ^ +, for example -- since they get expanded.
-% Fortunately, Texinfo does not define any such commands. (If it ever
-% does, the catcode of the characters in questionwill have to be changed
-% here.) But this means we cannot call \removeactivespaces as part of
-% \argremovec{,omment}, since @c uses \parsearg, and thus the argument
-% that \parsearg gets might well have any character at all in it.
-%
-\def\removeactivespaces#1{%
- \begingroup
- \ignoreactivespaces
- \edef\temp{#1}%
- \global\toks0 = \expandafter{\temp}%
- \endgroup
-}
-
-% Change the active space to expand to nothing.
-%
-\begingroup
- \obeyspaces
- \gdef\ignoreactivespaces{\obeyspaces\let =\empty}
-\endgroup
-
-
-\def\flushcr{\ifx\par\lisppar \def\next##1{}\else \let\next=\relax \fi \next}
-
-%% These are used to keep @begin/@end levels from running away
-%% Call \inENV within environments (after a \begingroup)
-\newif\ifENV \ENVfalse \def\inENV{\ifENV\relax\else\ENVtrue\fi}
-\def\ENVcheck{%
-\ifENV\errmessage{Still within an environment. Type Return to continue.}
-\endgroup\fi} % This is not perfect, but it should reduce lossage
-
-% @begin foo is the same as @foo, for now.
-\newhelp\EMsimple{Type <Return> to continue.}
-
-\outer\def\begin{\parsearg\beginxxx}
-
-\def\beginxxx #1{%
-\expandafter\ifx\csname #1\endcsname\relax
-{\errhelp=\EMsimple \errmessage{Undefined command @begin #1}}\else
-\csname #1\endcsname\fi}
-
-% @end foo executes the definition of \Efoo.
-%
-\def\end{\parsearg\endxxx}
-\def\endxxx #1{%
- \removeactivespaces{#1}%
- \edef\endthing{\the\toks0}%
- %
- \expandafter\ifx\csname E\endthing\endcsname\relax
- \expandafter\ifx\csname \endthing\endcsname\relax
- % There's no \foo, i.e., no ``environment'' foo.
- \errhelp = \EMsimple
- \errmessage{Undefined command `@end \endthing'}%
- \else
- \unmatchedenderror\endthing
- \fi
- \else
- % Everything's ok; the right environment has been started.
- \csname E\endthing\endcsname
- \fi
-}
-
-% There is an environment #1, but it hasn't been started. Give an error.
-%
-\def\unmatchedenderror#1{%
- \errhelp = \EMsimple
- \errmessage{This `@end #1' doesn't have a matching `@#1'}%
-}
-
-% Define the control sequence \E#1 to give an unmatched @end error.
-%
-\def\defineunmatchedend#1{%
- \expandafter\def\csname E#1\endcsname{\unmatchedenderror{#1}}%
-}
-
-
-% Single-spacing is done by various environments (specifically, in
-% \nonfillstart and \quotations).
-\newskip\singlespaceskip \singlespaceskip = 12.5pt
-\def\singlespace{%
- % Why was this kern here? It messes up equalizing space above and below
- % environments. --karl, 6may93
- %{\advance \baselineskip by -\singlespaceskip
- %\kern \baselineskip}%
- \setleading \singlespaceskip
-}
-
-%% Simple single-character @ commands
-
-% @@ prints an @
-% Kludge this until the fonts are right (grr).
-\def\@{{\tt \char '100}}
-
-% This is turned off because it was never documented
-% and you can use @w{...} around a quote to suppress ligatures.
-%% Define @` and @' to be the same as ` and '
-%% but suppressing ligatures.
-%\def\`{{`}}
-%\def\'{{'}}
-
-% Used to generate quoted braces.
-
-\def\mylbrace {{\tt \char '173}}
-\def\myrbrace {{\tt \char '175}}
-\let\{=\mylbrace
-\let\}=\myrbrace
-
-% @: forces normal size whitespace following.
-\def\:{\spacefactor=1000 }
-
-% @* forces a line break.
-\def\*{\hfil\break\hbox{}\ignorespaces}
-
-% @. is an end-of-sentence period.
-\def\.{.\spacefactor=3000 }
-
-% @enddots{} is an end-of-sentence ellipsis.
-\gdef\enddots{$\mathinner{\ldotp\ldotp\ldotp\ldotp}$\spacefactor=3000}
-
-% @! is an end-of-sentence bang.
-\gdef\!{!\spacefactor=3000 }
-
-% @? is an end-of-sentence query.
-\gdef\?{?\spacefactor=3000 }
-
-% @w prevents a word break. Without the \leavevmode, @w at the
-% beginning of a paragraph, when TeX is still in vertical mode, would
-% produce a whole line of output instead of starting the paragraph.
-\def\w#1{\leavevmode\hbox{#1}}
-
-% @group ... @end group forces ... to be all on one page, by enclosing
-% it in a TeX vbox. We use \vtop instead of \vbox to construct the box
-% to keep its height that of a normal line. According to the rules for
-% \topskip (p.114 of the TeXbook), the glue inserted is
-% max (\topskip - \ht (first item), 0). If that height is large,
-% therefore, no glue is inserted, and the space between the headline and
-% the text is small, which looks bad.
-%
-\def\group{\begingroup
- \ifnum\catcode13=\active \else
- \errhelp = \groupinvalidhelp
- \errmessage{@group invalid in context where filling is enabled}%
- \fi
- %
- % The \vtop we start below produces a box with normal height and large
- % depth; thus, TeX puts \baselineskip glue before it, and (when the
- % next line of text is done) \lineskip glue after it. (See p.82 of
- % the TeXbook.) Thus, space below is not quite equal to space
- % above. But it's pretty close.
- \def\Egroup{%
- \egroup % End the \vtop.
- \endgroup % End the \group.
- }%
- %
- \vtop\bgroup
- % We have to put a strut on the last line in case the @group is in
- % the midst of an example, rather than completely enclosing it.
- % Otherwise, the interline space between the last line of the group
- % and the first line afterwards is too small. But we can't put the
- % strut in \Egroup, since there it would be on a line by itself.
- % Hence this just inserts a strut at the beginning of each line.
- \everypar = {\strut}%
- %
- % Since we have a strut on every line, we don't need any of TeX's
- % normal interline spacing.
- \offinterlineskip
- %
- % OK, but now we have to do something about blank
- % lines in the input in @example-like environments, which normally
- % just turn into \lisppar, which will insert no space now that we've
- % turned off the interline space. Simplest is to make them be an
- % empty paragraph.
- \ifx\par\lisppar
- \edef\par{\leavevmode \par}%
- %
- % Reset ^^M's definition to new definition of \par.
- \obeylines
- \fi
- %
- % Do @comment since we are called inside an environment such as
- % @example, where each end-of-line in the input causes an
- % end-of-line in the output. We don't want the end-of-line after
- % the `@group' to put extra space in the output. Since @group
- % should appear on a line by itself (according to the Texinfo
- % manual), we don't worry about eating any user text.
- \comment
-}
-%
-% TeX puts in an \escapechar (i.e., `@') at the beginning of the help
-% message, so this ends up printing `@group can only ...'.
-%
-\newhelp\groupinvalidhelp{%
-group can only be used in environments such as @example,^^J%
-where each line of input produces a line of output.}
-
-% @need space-in-mils
-% forces a page break if there is not space-in-mils remaining.
-
-\newdimen\mil \mil=0.001in
-
-\def\need{\parsearg\needx}
-
-% Old definition--didn't work.
-%\def\needx #1{\par %
-%% This method tries to make TeX break the page naturally
-%% if the depth of the box does not fit.
-%{\baselineskip=0pt%
-%\vtop to #1\mil{\vfil}\kern -#1\mil\penalty 10000
-%\prevdepth=-1000pt
-%}}
-
-\def\needx#1{%
- % Go into vertical mode, so we don't make a big box in the middle of a
- % paragraph.
- \par
- %
- % Don't add any leading before our big empty box, but allow a page
- % break, since the best break might be right here.
- \allowbreak
- \nointerlineskip
- \vtop to #1\mil{\vfil}%
- %
- % TeX does not even consider page breaks if a penalty added to the
- % main vertical list is 10000 or more. But in order to see if the
- % empty box we just added fits on the page, we must make it consider
- % page breaks. On the other hand, we don't want to actually break the
- % page after the empty box. So we use a penalty of 9999.
- %
- % There is an extremely small chance that TeX will actually break the
- % page at this \penalty, if there are no other feasible breakpoints in
- % sight. (If the user is using lots of big @group commands, which
- % almost-but-not-quite fill up a page, TeX will have a hard time doing
- % good page breaking, for example.) However, I could not construct an
- % example where a page broke at this \penalty; if it happens in a real
- % document, then we can reconsider our strategy.
- \penalty9999
- %
- % Back up by the size of the box, whether we did a page break or not.
- \kern -#1\mil
- %
- % Do not allow a page break right after this kern.
- \nobreak
-}
-
-% @br forces paragraph break
-
-\let\br = \par
-
-% @dots{} output some dots
-
-\def\dots{$\ldots$}
-
-% @page forces the start of a new page
-
-\def\page{\par\vfill\supereject}
-
-% @exdent text....
-% outputs text on separate line in roman font, starting at standard page margin
-
-% This records the amount of indent in the innermost environment.
-% That's how much \exdent should take out.
-\newskip\exdentamount
-
-% This defn is used inside fill environments such as @defun.
-\def\exdent{\parsearg\exdentyyy}
-\def\exdentyyy #1{{\hfil\break\hbox{\kern -\exdentamount{\rm#1}}\hfil\break}}
-
-% This defn is used inside nofill environments such as @example.
-\def\nofillexdent{\parsearg\nofillexdentyyy}
-\def\nofillexdentyyy #1{{\advance \leftskip by -\exdentamount
-\leftline{\hskip\leftskip{\rm#1}}}}
-
-%\hbox{{\rm#1}}\hfil\break}}
-
-% @include file insert text of that file as input.
-
-\def\include{\parsearg\includezzz}
-%Use \input\thisfile to avoid blank after \input, which may be an active
-%char (in which case the blank would become the \input argument).
-%The grouping keeps the value of \thisfile correct even when @include
-%is nested.
-\def\includezzz #1{\begingroup
-\def\thisfile{#1}\input\thisfile
-\endgroup}
-
-\def\thisfile{}
-
-% @center line outputs that line, centered
-
-\def\center{\parsearg\centerzzz}
-\def\centerzzz #1{{\advance\hsize by -\leftskip
-\advance\hsize by -\rightskip
-\centerline{#1}}}
-
-% @sp n outputs n lines of vertical space
-
-\def\sp{\parsearg\spxxx}
-\def\spxxx #1{\par \vskip #1\baselineskip}
-
-% @comment ...line which is ignored...
-% @c is the same as @comment
-% @ignore ... @end ignore is another way to write a comment
-
-\def\comment{\catcode 64=\other \catcode 123=\other \catcode 125=\other%
-\parsearg \commentxxx}
-
-\def\commentxxx #1{\catcode 64=0 \catcode 123=1 \catcode 125=2 }
-
-\let\c=\comment
-
-% Prevent errors for section commands.
-% Used in @ignore and in failing conditionals.
-\def\ignoresections{%
-\let\chapter=\relax
-\let\unnumbered=\relax
-\let\top=\relax
-\let\unnumberedsec=\relax
-\let\unnumberedsection=\relax
-\let\unnumberedsubsec=\relax
-\let\unnumberedsubsection=\relax
-\let\unnumberedsubsubsec=\relax
-\let\unnumberedsubsubsection=\relax
-\let\section=\relax
-\let\subsec=\relax
-\let\subsubsec=\relax
-\let\subsection=\relax
-\let\subsubsection=\relax
-\let\appendix=\relax
-\let\appendixsec=\relax
-\let\appendixsection=\relax
-\let\appendixsubsec=\relax
-\let\appendixsubsection=\relax
-\let\appendixsubsubsec=\relax
-\let\appendixsubsubsection=\relax
-\let\contents=\relax
-\let\smallbook=\relax
-\let\titlepage=\relax
-}
-
-% Used in nested conditionals, where we have to parse the Texinfo source
-% and so want to turn off most commands, in case they are used
-% incorrectly.
-%
-\def\ignoremorecommands{%
- \let\defcv = \relax
- \let\deffn = \relax
- \let\deffnx = \relax
- \let\defindex = \relax
- \let\defivar = \relax
- \let\defmac = \relax
- \let\defmethod = \relax
- \let\defop = \relax
- \let\defopt = \relax
- \let\defspec = \relax
- \let\deftp = \relax
- \let\deftypefn = \relax
- \let\deftypefun = \relax
- \let\deftypevar = \relax
- \let\deftypevr = \relax
- \let\defun = \relax
- \let\defvar = \relax
- \let\defvr = \relax
- \let\ref = \relax
- \let\xref = \relax
- \let\printindex = \relax
- \let\pxref = \relax
- \let\settitle = \relax
- \let\include = \relax
- \let\lowersections = \relax
- \let\down = \relax
- \let\raisesections = \relax
- \let\up = \relax
- \let\set = \relax
- \let\clear = \relax
- \let\item = \relax
- \let\message = \relax
-}
-
-% Ignore @ignore ... @end ignore.
-%
-\def\ignore{\doignore{ignore}}
-
-% Also ignore @ifinfo, @ifhtml, @html, @menu, and @direntry text.
-%
-\def\ifinfo{\doignore{ifinfo}}
-\def\ifhtml{\doignore{ifhtml}}
-\def\html{\doignore{html}}
-\def\menu{\doignore{menu}}
-\def\direntry{\doignore{direntry}}
-
-% Ignore text until a line `@end #1'.
-%
-\def\doignore#1{\begingroup
- % Don't complain about control sequences we have declared \outer.
- \ignoresections
- %
- % Define a command to swallow text until we reach `@end #1'.
- \long\def\doignoretext##1\end #1{\enddoignore}%
- %
- % Make sure that spaces turn into tokens that match what \doignoretext wants.
- \catcode32 = 10
- %
- % And now expand that command.
- \doignoretext
-}
-
-% What we do to finish off ignored text.
-%
-\def\enddoignore{\endgroup\ignorespaces}%
-
-\newif\ifwarnedobs\warnedobsfalse
-\def\obstexwarn{%
- \ifwarnedobs\relax\else
- % We need to warn folks that they may have trouble with TeX 3.0.
- % This uses \immediate\write16 rather than \message to get newlines.
- \immediate\write16{}
- \immediate\write16{***WARNING*** for users of Unix TeX 3.0!}
- \immediate\write16{This manual trips a bug in TeX version 3.0 (tex hangs).}
- \immediate\write16{If you are running another version of TeX, relax.}
- \immediate\write16{If you are running Unix TeX 3.0, kill this TeX process.}
- \immediate\write16{ Then upgrade your TeX installation if you can.}
- \immediate\write16{If you are stuck with version 3.0, run the}
- \immediate\write16{ script ``tex3patch'' from the Texinfo distribution}
- \immediate\write16{ to use a workaround.}
- \immediate\write16{}
- \warnedobstrue
- \fi
-}
-
-% **In TeX 3.0, setting text in \nullfont hangs tex. For a
-% workaround (which requires the file ``dummy.tfm'' to be installed),
-% uncomment the following line:
-%%%%%\font\nullfont=dummy\let\obstexwarn=\relax
-
-% Ignore text, except that we keep track of conditional commands for
-% purposes of nesting, up to an `@end #1' command.
-%
-\def\nestedignore#1{%
- \obstexwarn
- % We must actually expand the ignored text to look for the @end
- % command, so that nested ignore constructs work. Thus, we put the
- % text into a \vbox and then do nothing with the result. To minimize
- % the change of memory overflow, we follow the approach outlined on
- % page 401 of the TeXbook: make the current font be a dummy font.
- %
- \setbox0 = \vbox\bgroup
- % Don't complain about control sequences we have declared \outer.
- \ignoresections
- %
- % Define `@end #1' to end the box, which will in turn undefine the
- % @end command again.
- \expandafter\def\csname E#1\endcsname{\egroup\ignorespaces}%
- %
- % We are going to be parsing Texinfo commands. Most cause no
- % trouble when they are used incorrectly, but some commands do
- % complicated argument parsing or otherwise get confused, so we
- % undefine them.
- %
- % We can't do anything about stray @-signs, unfortunately;
- % they'll produce `undefined control sequence' errors.
- \ignoremorecommands
- %
- % Set the current font to be \nullfont, a TeX primitive, and define
- % all the font commands to also use \nullfont. We don't use
- % dummy.tfm, as suggested in the TeXbook, because not all sites
- % might have that installed. Therefore, math mode will still
- % produce output, but that should be an extremely small amount of
- % stuff compared to the main input.
- %
- \nullfont
- \let\tenrm = \nullfont \let\tenit = \nullfont \let\tensl = \nullfont
- \let\tenbf = \nullfont \let\tentt = \nullfont \let\smallcaps = \nullfont
- \let\tensf = \nullfont
- % Similarly for index fonts (mostly for their use in
- % smallexample)
- \let\indrm = \nullfont \let\indit = \nullfont \let\indsl = \nullfont
- \let\indbf = \nullfont \let\indtt = \nullfont \let\indsc = \nullfont
- \let\indsf = \nullfont
- %
- % Don't complain when characters are missing from the fonts.
- \tracinglostchars = 0
- %
- % Don't bother to do space factor calculations.
- \frenchspacing
- %
- % Don't report underfull hboxes.
- \hbadness = 10000
- %
- % Do minimal line-breaking.
- \pretolerance = 10000
- %
- % Do not execute instructions in @tex
- \def\tex{\doignore{tex}}
-}
-
-% @set VAR sets the variable VAR to an empty value.
-% @set VAR REST-OF-LINE sets VAR to the value REST-OF-LINE.
-%
-% Since we want to separate VAR from REST-OF-LINE (which might be
-% empty), we can't just use \parsearg; we have to insert a space of our
-% own to delimit the rest of the line, and then take it out again if we
-% didn't need it.
-%
-\def\set{\parsearg\setxxx}
-\def\setxxx#1{\setyyy#1 \endsetyyy}
-\def\setyyy#1 #2\endsetyyy{%
- \def\temp{#2}%
- \ifx\temp\empty \global\expandafter\let\csname SET#1\endcsname = \empty
- \else \setzzz{#1}#2\endsetzzz % Remove the trailing space \setxxx inserted.
- \fi
-}
-\def\setzzz#1#2 \endsetzzz{\expandafter\xdef\csname SET#1\endcsname{#2}}
-
-% @clear VAR clears (i.e., unsets) the variable VAR.
-%
-\def\clear{\parsearg\clearxxx}
-\def\clearxxx#1{\global\expandafter\let\csname SET#1\endcsname=\relax}
-
-% @value{foo} gets the text saved in variable foo.
-%
-\def\value#1{\expandafter
- \ifx\csname SET#1\endcsname\relax
- {\{No value for ``#1''\}}
- \else \csname SET#1\endcsname \fi}
-
-% @ifset VAR ... @end ifset reads the `...' iff VAR has been defined
-% with @set.
-%
-\def\ifset{\parsearg\ifsetxxx}
-\def\ifsetxxx #1{%
- \expandafter\ifx\csname SET#1\endcsname\relax
- \expandafter\ifsetfail
- \else
- \expandafter\ifsetsucceed
- \fi
-}
-\def\ifsetsucceed{\conditionalsucceed{ifset}}
-\def\ifsetfail{\nestedignore{ifset}}
-\defineunmatchedend{ifset}
-
-% @ifclear VAR ... @end ifclear reads the `...' iff VAR has never been
-% defined with @set, or has been undefined with @clear.
-%
-\def\ifclear{\parsearg\ifclearxxx}
-\def\ifclearxxx #1{%
- \expandafter\ifx\csname SET#1\endcsname\relax
- \expandafter\ifclearsucceed
- \else
- \expandafter\ifclearfail
- \fi
-}
-\def\ifclearsucceed{\conditionalsucceed{ifclear}}
-\def\ifclearfail{\nestedignore{ifclear}}
-\defineunmatchedend{ifclear}
-
-% @iftex always succeeds; we read the text following, through @end
-% iftex). But `@end iftex' should be valid only after an @iftex.
-%
-\def\iftex{\conditionalsucceed{iftex}}
-\defineunmatchedend{iftex}
-
-% We can't just want to start a group at @iftex (for example) and end it
-% at @end iftex, since then @set commands inside the conditional have no
-% effect (they'd get reverted at the end of the group). So we must
-% define \Eiftex to redefine itself to be its previous value. (We can't
-% just define it to fail again with an ``unmatched end'' error, since
-% the @ifset might be nested.)
-%
-\def\conditionalsucceed#1{%
- \edef\temp{%
- % Remember the current value of \E#1.
- \let\nece{prevE#1} = \nece{E#1}%
- %
- % At the `@end #1', redefine \E#1 to be its previous value.
- \def\nece{E#1}{\let\nece{E#1} = \nece{prevE#1}}%
- }%
- \temp
-}
-
-% We need to expand lots of \csname's, but we don't want to expand the
-% control sequences after we've constructed them.
-%
-\def\nece#1{\expandafter\noexpand\csname#1\endcsname}
-
-% @asis just yields its argument. Used with @table, for example.
-%
-\def\asis#1{#1}
-
-% @math means output in math mode.
-% We don't use $'s directly in the definition of \math because control
-% sequences like \math are expanded when the toc file is written. Then,
-% we read the toc file back, the $'s will be normal characters (as they
-% should be, according to the definition of Texinfo). So we must use a
-% control sequence to switch into and out of math mode.
-%
-% This isn't quite enough for @math to work properly in indices, but it
-% seems unlikely it will ever be needed there.
-%
-\let\implicitmath = $
-\def\math#1{\implicitmath #1\implicitmath}
-
-% @bullet and @minus need the same treatment as @math, just above.
-\def\bullet{\implicitmath\ptexbullet\implicitmath}
-\def\minus{\implicitmath-\implicitmath}
-
-\def\node{\ENVcheck\parsearg\nodezzz}
-\def\nodezzz#1{\nodexxx [#1,]}
-\def\nodexxx[#1,#2]{\gdef\lastnode{#1}}
-\let\nwnode=\node
-\let\lastnode=\relax
-
-\def\donoderef{\ifx\lastnode\relax\else
-\expandafter\expandafter\expandafter\setref{\lastnode}\fi
-\global\let\lastnode=\relax}
-
-\def\unnumbnoderef{\ifx\lastnode\relax\else
-\expandafter\expandafter\expandafter\unnumbsetref{\lastnode}\fi
-\global\let\lastnode=\relax}
-
-\def\appendixnoderef{\ifx\lastnode\relax\else
-\expandafter\expandafter\expandafter\appendixsetref{\lastnode}\fi
-\global\let\lastnode=\relax}
-
-\let\refill=\relax
-
-% @setfilename is done at the beginning of every texinfo file.
-% So open here the files we need to have open while reading the input.
-% This makes it possible to make a .fmt file for texinfo.
-\def\setfilename{%
- \readauxfile
- \opencontents
- \openindices
- \fixbackslash % Turn off hack to swallow `\input texinfo'.
- \global\let\setfilename=\comment % Ignore extra @setfilename cmds.
- \comment % Ignore the actual filename.
-}
-
-\outer\def\bye{\pagealignmacro\tracingstats=1\ptexend}
-
-\def\inforef #1{\inforefzzz #1,,,,**}
-\def\inforefzzz #1,#2,#3,#4**{\putwordSee{} \putwordInfo{} \putwordfile{} \file{\ignorespaces #3{}},
- node \samp{\ignorespaces#1{}}}
-
-\message{fonts,}
-
-% Font-change commands.
-
-% Texinfo supports the sans serif font style, which plain TeX does not.
-% So we set up a \sf analogous to plain's \rm, etc.
-\newfam\sffam
-\def\sf{\fam=\sffam \tensf}
-\let\li = \sf % Sometimes we call it \li, not \sf.
-
-%% Try out Computer Modern fonts at \magstephalf
-\let\mainmagstep=\magstephalf
-
-\ifx\bigger\relax
-\let\mainmagstep=\magstep1
-\font\textrm=cmr12
-\font\texttt=cmtt12
-\else
-\font\textrm=cmr10 scaled \mainmagstep
-\font\texttt=cmtt10 scaled \mainmagstep
-\fi
-% Instead of cmb10, you many want to use cmbx10.
-% cmbx10 is a prettier font on its own, but cmb10
-% looks better when embedded in a line with cmr10.
-\font\textbf=cmb10 scaled \mainmagstep
-\font\textit=cmti10 scaled \mainmagstep
-\font\textsl=cmsl10 scaled \mainmagstep
-\font\textsf=cmss10 scaled \mainmagstep
-\font\textsc=cmcsc10 scaled \mainmagstep
-\font\texti=cmmi10 scaled \mainmagstep
-\font\textsy=cmsy10 scaled \mainmagstep
-
-% A few fonts for @defun, etc.
-\font\defbf=cmbx10 scaled \magstep1 %was 1314
-\font\deftt=cmtt10 scaled \magstep1
-\def\df{\let\tentt=\deftt \let\tenbf = \defbf \bf}
-
-% Fonts for indices and small examples.
-% We actually use the slanted font rather than the italic,
-% because texinfo normally uses the slanted fonts for that.
-% Do not make many font distinctions in general in the index, since they
-% aren't very useful.
-\font\ninett=cmtt9
-\font\indrm=cmr9
-\font\indit=cmsl9
-\let\indsl=\indit
-\let\indtt=\ninett
-\let\indsf=\indrm
-\let\indbf=\indrm
-\let\indsc=\indrm
-\font\indi=cmmi9
-\font\indsy=cmsy9
-
-% Fonts for headings
-\font\chaprm=cmbx12 scaled \magstep2
-\font\chapit=cmti12 scaled \magstep2
-\font\chapsl=cmsl12 scaled \magstep2
-\font\chaptt=cmtt12 scaled \magstep2
-\font\chapsf=cmss12 scaled \magstep2
-\let\chapbf=\chaprm
-\font\chapsc=cmcsc10 scaled\magstep3
-\font\chapi=cmmi12 scaled \magstep2
-\font\chapsy=cmsy10 scaled \magstep3
-
-\font\secrm=cmbx12 scaled \magstep1
-\font\secit=cmti12 scaled \magstep1
-\font\secsl=cmsl12 scaled \magstep1
-\font\sectt=cmtt12 scaled \magstep1
-\font\secsf=cmss12 scaled \magstep1
-\font\secbf=cmbx12 scaled \magstep1
-\font\secsc=cmcsc10 scaled\magstep2
-\font\seci=cmmi12 scaled \magstep1
-\font\secsy=cmsy10 scaled \magstep2
-
-% \font\ssecrm=cmbx10 scaled \magstep1 % This size an font looked bad.
-% \font\ssecit=cmti10 scaled \magstep1 % The letters were too crowded.
-% \font\ssecsl=cmsl10 scaled \magstep1
-% \font\ssectt=cmtt10 scaled \magstep1
-% \font\ssecsf=cmss10 scaled \magstep1
-
-%\font\ssecrm=cmb10 scaled 1315 % Note the use of cmb rather than cmbx.
-%\font\ssecit=cmti10 scaled 1315 % Also, the size is a little larger than
-%\font\ssecsl=cmsl10 scaled 1315 % being scaled magstep1.
-%\font\ssectt=cmtt10 scaled 1315
-%\font\ssecsf=cmss10 scaled 1315
-
-%\let\ssecbf=\ssecrm
-
-\font\ssecrm=cmbx12 scaled \magstephalf
-\font\ssecit=cmti12 scaled \magstephalf
-\font\ssecsl=cmsl12 scaled \magstephalf
-\font\ssectt=cmtt12 scaled \magstephalf
-\font\ssecsf=cmss12 scaled \magstephalf
-\font\ssecbf=cmbx12 scaled \magstephalf
-\font\ssecsc=cmcsc10 scaled \magstep1
-\font\sseci=cmmi12 scaled \magstephalf
-\font\ssecsy=cmsy10 scaled \magstep1
-% The smallcaps and symbol fonts should actually be scaled \magstep1.5,
-% but that is not a standard magnification.
-
-% Fonts for title page:
-\font\titlerm = cmbx12 scaled \magstep3
-\let\authorrm = \secrm
-
-% In order for the font changes to affect most math symbols and letters,
-% we have to define the \textfont of the standard families. Since
-% texinfo doesn't allow for producing subscripts and superscripts, we
-% don't bother to reset \scriptfont and \scriptscriptfont (which would
-% also require loading a lot more fonts).
-%
-\def\resetmathfonts{%
- \textfont0 = \tenrm \textfont1 = \teni \textfont2 = \tensy
- \textfont\itfam = \tenit \textfont\slfam = \tensl \textfont\bffam = \tenbf
- \textfont\ttfam = \tentt \textfont\sffam = \tensf
-}
-
-
-% The font-changing commands redefine the meanings of \tenSTYLE, instead
-% of just \STYLE. We do this so that font changes will continue to work
-% in math mode, where it is the current \fam that is relevant in most
-% cases, not the current. Plain TeX does, for example,
-% \def\bf{\fam=\bffam \tenbf} By redefining \tenbf, we obviate the need
-% to redefine \bf itself.
-\def\textfonts{%
- \let\tenrm=\textrm \let\tenit=\textit \let\tensl=\textsl
- \let\tenbf=\textbf \let\tentt=\texttt \let\smallcaps=\textsc
- \let\tensf=\textsf \let\teni=\texti \let\tensy=\textsy
- \resetmathfonts}
-\def\chapfonts{%
- \let\tenrm=\chaprm \let\tenit=\chapit \let\tensl=\chapsl
- \let\tenbf=\chapbf \let\tentt=\chaptt \let\smallcaps=\chapsc
- \let\tensf=\chapsf \let\teni=\chapi \let\tensy=\chapsy
- \resetmathfonts}
-\def\secfonts{%
- \let\tenrm=\secrm \let\tenit=\secit \let\tensl=\secsl
- \let\tenbf=\secbf \let\tentt=\sectt \let\smallcaps=\secsc
- \let\tensf=\secsf \let\teni=\seci \let\tensy=\secsy
- \resetmathfonts}
-\def\subsecfonts{%
- \let\tenrm=\ssecrm \let\tenit=\ssecit \let\tensl=\ssecsl
- \let\tenbf=\ssecbf \let\tentt=\ssectt \let\smallcaps=\ssecsc
- \let\tensf=\ssecsf \let\teni=\sseci \let\tensy=\ssecsy
- \resetmathfonts}
-\def\indexfonts{%
- \let\tenrm=\indrm \let\tenit=\indit \let\tensl=\indsl
- \let\tenbf=\indbf \let\tentt=\indtt \let\smallcaps=\indsc
- \let\tensf=\indsf \let\teni=\indi \let\tensy=\indsy
- \resetmathfonts}
-
-% Set up the default fonts, so we can use them for creating boxes.
-%
-\textfonts
-
-% Count depth in font-changes, for error checks
-\newcount\fontdepth \fontdepth=0
-
-% Fonts for short table of contents.
-\font\shortcontrm=cmr12
-\font\shortcontbf=cmbx12
-\font\shortcontsl=cmsl12
-
-%% Add scribe-like font environments, plus @l for inline lisp (usually sans
-%% serif) and @ii for TeX italic
-
-% \smartitalic{ARG} outputs arg in italics, followed by an italic correction
-% unless the following character is such as not to need one.
-\def\smartitalicx{\ifx\next,\else\ifx\next-\else\ifx\next.\else\/\fi\fi\fi}
-\def\smartitalic#1{{\sl #1}\futurelet\next\smartitalicx}
-
-\let\i=\smartitalic
-\let\var=\smartitalic
-\let\dfn=\smartitalic
-\let\emph=\smartitalic
-\let\cite=\smartitalic
-
-\def\b#1{{\bf #1}}
-\let\strong=\b
-
-% We can't just use \exhyphenpenalty, because that only has effect at
-% the end of a paragraph. Restore normal hyphenation at the end of the
-% group within which \nohyphenation is presumably called.
-%
-\def\nohyphenation{\hyphenchar\font = -1 \aftergroup\restorehyphenation}
-\def\restorehyphenation{\hyphenchar\font = `- }
-
-\def\t#1{%
- {\tt \nohyphenation \rawbackslash \frenchspacing #1}%
- \null
-}
-\let\ttfont = \t
-%\def\samp #1{`{\tt \rawbackslash \frenchspacing #1}'\null}
-\def\samp #1{`\tclose{#1}'\null}
-\def\key #1{{\tt \nohyphenation \uppercase{#1}}\null}
-\def\ctrl #1{{\tt \rawbackslash \hat}#1}
-
-\let\file=\samp
-
-% @code is a modification of @t,
-% which makes spaces the same size as normal in the surrounding text.
-\def\tclose#1{%
- {%
- % Change normal interword space to be same as for the current font.
- \spaceskip = \fontdimen2\font
- %
- % Switch to typewriter.
- \tt
- %
- % But `\ ' produces the large typewriter interword space.
- \def\ {{\spaceskip = 0pt{} }}%
- %
- % Turn off hyphenation.
- \nohyphenation
- %
- \rawbackslash
- \frenchspacing
- #1%
- }%
- \null
-}
-
-% We *must* turn on hyphenation at `-' and `_' in \code.
-% Otherwise, it is too hard to avoid overful hboxes
-% in the Emacs manual, the Library manual, etc.
-
-% Unfortunately, TeX uses one parameter (\hyphenchar) to control
-% both hyphenation at - and hyphenation within words.
-% We must therefore turn them both off (\tclose does that)
-% and arrange explicitly to hyphenate an a dash.
-% -- rms.
-{
-\catcode`\-=\active
-\catcode`\_=\active
-\global\def\code{\begingroup \catcode`\-=\active \let-\codedash \catcode`\_=\active \let_\codeunder \codex}
-% The following is used by \doprintindex to insure that long function names
-% wrap around. It is necessary for - and _ to be active before the index is
-% read from the file, as \entry parses the arguments long before \code is
-% ever called. -- mycroft
-\global\def\indexbreaks{\catcode`\-=\active \let-\realdash \catcode`\_=\active \let_\realunder}
-}
-\def\realdash{-}
-\def\realunder{_}
-\def\codedash{-\discretionary{}{}{}}
-\def\codeunder{\normalunderscore\discretionary{}{}{}}
-\def\codex #1{\tclose{#1}\endgroup}
-
-%\let\exp=\tclose %Was temporary
-
-% @kbd is like @code, except that if the argument is just one @key command,
-% then @kbd has no effect.
-
-\def\xkey{\key}
-\def\kbdfoo#1#2#3\par{\def\one{#1}\def\three{#3}\def\threex{??}%
-\ifx\one\xkey\ifx\threex\three \key{#2}%
-\else\tclose{\look}\fi
-\else\tclose{\look}\fi}
-
-% Typeset a dimension, e.g., `in' or `pt'. The only reason for the
-% argument is to make the input look right: @dmn{pt} instead of
-% @dmn{}pt.
-%
-\def\dmn#1{\thinspace #1}
-
-\def\kbd#1{\def\look{#1}\expandafter\kbdfoo\look??\par}
-
-\def\l#1{{\li #1}\null} %
-
-\def\r#1{{\rm #1}} % roman font
-% Use of \lowercase was suggested.
-\def\sc#1{{\smallcaps#1}} % smallcaps font
-\def\ii#1{{\it #1}} % italic font
-
-\message{page headings,}
-
-\newskip\titlepagetopglue \titlepagetopglue = 1.5in
-\newskip\titlepagebottomglue \titlepagebottomglue = 2pc
-
-% First the title page. Must do @settitle before @titlepage.
-\def\titlefont#1{{\titlerm #1}}
-
-\newif\ifseenauthor
-\newif\iffinishedtitlepage
-
-\def\shorttitlepage{\parsearg\shorttitlepagezzz}
-\def\shorttitlepagezzz #1{\begingroup\hbox{}\vskip 1.5in \chaprm \centerline{#1}%
- \endgroup\page\hbox{}\page}
-
-\def\titlepage{\begingroup \parindent=0pt \textfonts
- \let\subtitlerm=\tenrm
-% I deinstalled the following change because \cmr12 is undefined.
-% This change was not in the ChangeLog anyway. --rms.
-% \let\subtitlerm=\cmr12
- \def\subtitlefont{\subtitlerm \normalbaselineskip = 13pt \normalbaselines}%
- %
- \def\authorfont{\authorrm \normalbaselineskip = 16pt \normalbaselines}%
- %
- % Leave some space at the very top of the page.
- \vglue\titlepagetopglue
- %
- % Now you can print the title using @title.
- \def\title{\parsearg\titlezzz}%
- \def\titlezzz##1{\leftline{\titlefont{##1}}
- % print a rule at the page bottom also.
- \finishedtitlepagefalse
- \vskip4pt \hrule height 4pt width \hsize \vskip4pt}%
- % No rule at page bottom unless we print one at the top with @title.
- \finishedtitlepagetrue
- %
- % Now you can put text using @subtitle.
- \def\subtitle{\parsearg\subtitlezzz}%
- \def\subtitlezzz##1{{\subtitlefont \rightline{##1}}}%
- %
- % @author should come last, but may come many times.
- \def\author{\parsearg\authorzzz}%
- \def\authorzzz##1{\ifseenauthor\else\vskip 0pt plus 1filll\seenauthortrue\fi
- {\authorfont \leftline{##1}}}%
- %
- % Most title ``pages'' are actually two pages long, with space
- % at the top of the second. We don't want the ragged left on the second.
- \let\oldpage = \page
- \def\page{%
- \iffinishedtitlepage\else
- \finishtitlepage
- \fi
- \oldpage
- \let\page = \oldpage
- \hbox{}}%
-% \def\page{\oldpage \hbox{}}
-}
-
-\def\Etitlepage{%
- \iffinishedtitlepage\else
- \finishtitlepage
- \fi
- % It is important to do the page break before ending the group,
- % because the headline and footline are only empty inside the group.
- % If we use the new definition of \page, we always get a blank page
- % after the title page, which we certainly don't want.
- \oldpage
- \endgroup
- \HEADINGSon
-}
-
-\def\finishtitlepage{%
- \vskip4pt \hrule height 2pt width \hsize
- \vskip\titlepagebottomglue
- \finishedtitlepagetrue
-}
-
-%%% Set up page headings and footings.
-
-\let\thispage=\folio
-
-\newtoks \evenheadline % Token sequence for heading line of even pages
-\newtoks \oddheadline % Token sequence for heading line of odd pages
-\newtoks \evenfootline % Token sequence for footing line of even pages
-\newtoks \oddfootline % Token sequence for footing line of odd pages
-
-% Now make Tex use those variables
-\headline={{\textfonts\rm \ifodd\pageno \the\oddheadline
- \else \the\evenheadline \fi}}
-\footline={{\textfonts\rm \ifodd\pageno \the\oddfootline
- \else \the\evenfootline \fi}\HEADINGShook}
-\let\HEADINGShook=\relax
-
-% Commands to set those variables.
-% For example, this is what @headings on does
-% @evenheading @thistitle|@thispage|@thischapter
-% @oddheading @thischapter|@thispage|@thistitle
-% @evenfooting @thisfile||
-% @oddfooting ||@thisfile
-
-\def\evenheading{\parsearg\evenheadingxxx}
-\def\oddheading{\parsearg\oddheadingxxx}
-\def\everyheading{\parsearg\everyheadingxxx}
-
-\def\evenfooting{\parsearg\evenfootingxxx}
-\def\oddfooting{\parsearg\oddfootingxxx}
-\def\everyfooting{\parsearg\everyfootingxxx}
-
-{\catcode`\@=0 %
-
-\gdef\evenheadingxxx #1{\evenheadingyyy #1@|@|@|@|\finish}
-\gdef\evenheadingyyy #1@|#2@|#3@|#4\finish{%
-\global\evenheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
-
-\gdef\oddheadingxxx #1{\oddheadingyyy #1@|@|@|@|\finish}
-\gdef\oddheadingyyy #1@|#2@|#3@|#4\finish{%
-\global\oddheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
-
-\gdef\everyheadingxxx #1{\everyheadingyyy #1@|@|@|@|\finish}
-\gdef\everyheadingyyy #1@|#2@|#3@|#4\finish{%
-\global\evenheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}
-\global\oddheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
-
-\gdef\evenfootingxxx #1{\evenfootingyyy #1@|@|@|@|\finish}
-\gdef\evenfootingyyy #1@|#2@|#3@|#4\finish{%
-\global\evenfootline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
-
-\gdef\oddfootingxxx #1{\oddfootingyyy #1@|@|@|@|\finish}
-\gdef\oddfootingyyy #1@|#2@|#3@|#4\finish{%
-\global\oddfootline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
-
-\gdef\everyfootingxxx #1{\everyfootingyyy #1@|@|@|@|\finish}
-\gdef\everyfootingyyy #1@|#2@|#3@|#4\finish{%
-\global\evenfootline={\rlap{\centerline{#2}}\line{#1\hfil#3}}
-\global\oddfootline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
-%
-}% unbind the catcode of @.
-
-% @headings double turns headings on for double-sided printing.
-% @headings single turns headings on for single-sided printing.
-% @headings off turns them off.
-% @headings on same as @headings double, retained for compatibility.
-% @headings after turns on double-sided headings after this page.
-% @headings doubleafter turns on double-sided headings after this page.
-% @headings singleafter turns on single-sided headings after this page.
-% By default, they are off.
-
-\def\headings #1 {\csname HEADINGS#1\endcsname}
-
-\def\HEADINGSoff{
-\global\evenheadline={\hfil} \global\evenfootline={\hfil}
-\global\oddheadline={\hfil} \global\oddfootline={\hfil}}
-\HEADINGSoff
-% When we turn headings on, set the page number to 1.
-% For double-sided printing, put current file name in lower left corner,
-% chapter name on inside top of right hand pages, document
-% title on inside top of left hand pages, and page numbers on outside top
-% edge of all pages.
-\def\HEADINGSdouble{
-%\pagealignmacro
-\global\pageno=1
-\global\evenfootline={\hfil}
-\global\oddfootline={\hfil}
-\global\evenheadline={\line{\folio\hfil\thistitle}}
-\global\oddheadline={\line{\thischapter\hfil\folio}}
-}
-% For single-sided printing, chapter title goes across top left of page,
-% page number on top right.
-\def\HEADINGSsingle{
-%\pagealignmacro
-\global\pageno=1
-\global\evenfootline={\hfil}
-\global\oddfootline={\hfil}
-\global\evenheadline={\line{\thischapter\hfil\folio}}
-\global\oddheadline={\line{\thischapter\hfil\folio}}
-}
-\def\HEADINGSon{\HEADINGSdouble}
-
-\def\HEADINGSafter{\let\HEADINGShook=\HEADINGSdoublex}
-\let\HEADINGSdoubleafter=\HEADINGSafter
-\def\HEADINGSdoublex{%
-\global\evenfootline={\hfil}
-\global\oddfootline={\hfil}
-\global\evenheadline={\line{\folio\hfil\thistitle}}
-\global\oddheadline={\line{\thischapter\hfil\folio}}
-}
-
-\def\HEADINGSsingleafter{\let\HEADINGShook=\HEADINGSsinglex}
-\def\HEADINGSsinglex{%
-\global\evenfootline={\hfil}
-\global\oddfootline={\hfil}
-\global\evenheadline={\line{\thischapter\hfil\folio}}
-\global\oddheadline={\line{\thischapter\hfil\folio}}
-}
-
-% Subroutines used in generating headings
-% Produces Day Month Year style of output.
-\def\today{\number\day\space
-\ifcase\month\or
-January\or February\or March\or April\or May\or June\or
-July\or August\or September\or October\or November\or December\fi
-\space\number\year}
-
-% Use this if you want the Month Day, Year style of output.
-%\def\today{\ifcase\month\or
-%January\or February\or March\or April\or May\or June\or
-%July\or August\or September\or October\or November\or December\fi
-%\space\number\day, \number\year}
-
-% @settitle line... specifies the title of the document, for headings
-% It generates no output of its own
-
-\def\thistitle{No Title}
-\def\settitle{\parsearg\settitlezzz}
-\def\settitlezzz #1{\gdef\thistitle{#1}}
-
-\message{tables,}
-
-% @tabs -- simple alignment
-
-% These don't work. For one thing, \+ is defined as outer.
-% So these macros cannot even be defined.
-
-%\def\tabs{\parsearg\tabszzz}
-%\def\tabszzz #1{\settabs\+#1\cr}
-%\def\tabline{\parsearg\tablinezzz}
-%\def\tablinezzz #1{\+#1\cr}
-%\def\&{&}
-
-% Tables -- @table, @ftable, @vtable, @item(x), @kitem(x), @xitem(x).
-
-% default indentation of table text
-\newdimen\tableindent \tableindent=.8in
-% default indentation of @itemize and @enumerate text
-\newdimen\itemindent \itemindent=.3in
-% margin between end of table item and start of table text.
-\newdimen\itemmargin \itemmargin=.1in
-
-% used internally for \itemindent minus \itemmargin
-\newdimen\itemmax
-
-% Note @table, @vtable, and @vtable define @item, @itemx, etc., with
-% these defs.
-% They also define \itemindex
-% to index the item name in whatever manner is desired (perhaps none).
-
-\newif\ifitemxneedsnegativevskip
-
-\def\itemxpar{\par\ifitemxneedsnegativevskip\vskip-\parskip\nobreak\fi}
-
-\def\internalBitem{\smallbreak \parsearg\itemzzz}
-\def\internalBitemx{\itemxpar \parsearg\itemzzz}
-
-\def\internalBxitem "#1"{\def\xitemsubtopix{#1} \smallbreak \parsearg\xitemzzz}
-\def\internalBxitemx "#1"{\def\xitemsubtopix{#1} \itemxpar \parsearg\xitemzzz}
-
-\def\internalBkitem{\smallbreak \parsearg\kitemzzz}
-\def\internalBkitemx{\itemxpar \parsearg\kitemzzz}
-
-\def\kitemzzz #1{\dosubind {kw}{\code{#1}}{for {\bf \lastfunction}}%
- \itemzzz {#1}}
-
-\def\xitemzzz #1{\dosubind {kw}{\code{#1}}{for {\bf \xitemsubtopic}}%
- \itemzzz {#1}}
-
-\def\itemzzz #1{\begingroup %
- \advance\hsize by -\rightskip
- \advance\hsize by -\tableindent
- \setbox0=\hbox{\itemfont{#1}}%
- \itemindex{#1}%
- \nobreak % This prevents a break before @itemx.
- %
- % Be sure we are not still in the middle of a paragraph.
- %{\parskip = 0in
- %\par
- %}%
- %
- % If the item text does not fit in the space we have, put it on a line
- % by itself, and do not allow a page break either before or after that
- % line. We do not start a paragraph here because then if the next
- % command is, e.g., @kindex, the whatsit would get put into the
- % horizontal list on a line by itself, resulting in extra blank space.
- \ifdim \wd0>\itemmax
- %
- % Make this a paragraph so we get the \parskip glue and wrapping,
- % but leave it ragged-right.
- \begingroup
- \advance\leftskip by-\tableindent
- \advance\hsize by\tableindent
- \advance\rightskip by0pt plus1fil
- \leavevmode\unhbox0\par
- \endgroup
- %
- % We're going to be starting a paragraph, but we don't want the
- % \parskip glue -- logically it's part of the @item we just started.
- \nobreak \vskip-\parskip
- %
- % Stop a page break at the \parskip glue coming up. Unfortunately
- % we can't prevent a possible page break at the following
- % \baselineskip glue.
- \nobreak
- \endgroup
- \itemxneedsnegativevskipfalse
- \else
- % The item text fits into the space. Start a paragraph, so that the
- % following text (if any) will end up on the same line. Since that
- % text will be indented by \tableindent, we make the item text be in
- % a zero-width box.
- \noindent
- \rlap{\hskip -\tableindent\box0}\ignorespaces%
- \endgroup%
- \itemxneedsnegativevskiptrue%
- \fi
-}
-
-\def\item{\errmessage{@item while not in a table}}
-\def\itemx{\errmessage{@itemx while not in a table}}
-\def\kitem{\errmessage{@kitem while not in a table}}
-\def\kitemx{\errmessage{@kitemx while not in a table}}
-\def\xitem{\errmessage{@xitem while not in a table}}
-\def\xitemx{\errmessage{@xitemx while not in a table}}
-
-%% Contains a kludge to get @end[description] to work
-\def\description{\tablez{\dontindex}{1}{}{}{}{}}
-
-\def\table{\begingroup\inENV\obeylines\obeyspaces\tablex}
-{\obeylines\obeyspaces%
-\gdef\tablex #1^^M{%
-\tabley\dontindex#1 \endtabley}}
-
-\def\ftable{\begingroup\inENV\obeylines\obeyspaces\ftablex}
-{\obeylines\obeyspaces%
-\gdef\ftablex #1^^M{%
-\tabley\fnitemindex#1 \endtabley
-\def\Eftable{\endgraf\afterenvbreak\endgroup}%
-\let\Etable=\relax}}
-
-\def\vtable{\begingroup\inENV\obeylines\obeyspaces\vtablex}
-{\obeylines\obeyspaces%
-\gdef\vtablex #1^^M{%
-\tabley\vritemindex#1 \endtabley
-\def\Evtable{\endgraf\afterenvbreak\endgroup}%
-\let\Etable=\relax}}
-
-\def\dontindex #1{}
-\def\fnitemindex #1{\doind {fn}{\code{#1}}}%
-\def\vritemindex #1{\doind {vr}{\code{#1}}}%
-
-{\obeyspaces %
-\gdef\tabley#1#2 #3 #4 #5 #6 #7\endtabley{\endgroup%
-\tablez{#1}{#2}{#3}{#4}{#5}{#6}}}
-
-\def\tablez #1#2#3#4#5#6{%
-\aboveenvbreak %
-\begingroup %
-\def\Edescription{\Etable}% Neccessary kludge.
-\let\itemindex=#1%
-\ifnum 0#3>0 \advance \leftskip by #3\mil \fi %
-\ifnum 0#4>0 \tableindent=#4\mil \fi %
-\ifnum 0#5>0 \advance \rightskip by #5\mil \fi %
-\def\itemfont{#2}%
-\itemmax=\tableindent %
-\advance \itemmax by -\itemmargin %
-\advance \leftskip by \tableindent %
-\exdentamount=\tableindent
-\parindent = 0pt
-\parskip = \smallskipamount
-\ifdim \parskip=0pt \parskip=2pt \fi%
-\def\Etable{\endgraf\afterenvbreak\endgroup}%
-\let\item = \internalBitem %
-\let\itemx = \internalBitemx %
-\let\kitem = \internalBkitem %
-\let\kitemx = \internalBkitemx %
-\let\xitem = \internalBxitem %
-\let\xitemx = \internalBxitemx %
-}
-
-% This is the counter used by @enumerate, which is really @itemize
-
-\newcount \itemno
-
-\def\itemize{\parsearg\itemizezzz}
-
-\def\itemizezzz #1{%
- \begingroup % ended by the @end itemsize
- \itemizey {#1}{\Eitemize}
-}
-
-\def\itemizey #1#2{%
-\aboveenvbreak %
-\itemmax=\itemindent %
-\advance \itemmax by -\itemmargin %
-\advance \leftskip by \itemindent %
-\exdentamount=\itemindent
-\parindent = 0pt %
-\parskip = \smallskipamount %
-\ifdim \parskip=0pt \parskip=2pt \fi%
-\def#2{\endgraf\afterenvbreak\endgroup}%
-\def\itemcontents{#1}%
-\let\item=\itemizeitem}
-
-% Set sfcode to normal for the chars that usually have another value.
-% These are `.?!:;,'
-\def\frenchspacing{\sfcode46=1000 \sfcode63=1000 \sfcode33=1000
- \sfcode58=1000 \sfcode59=1000 \sfcode44=1000 }
-
-% \splitoff TOKENS\endmark defines \first to be the first token in
-% TOKENS, and \rest to be the remainder.
-%
-\def\splitoff#1#2\endmark{\def\first{#1}\def\rest{#2}}%
-
-% Allow an optional argument of an uppercase letter, lowercase letter,
-% or number, to specify the first label in the enumerated list. No
-% argument is the same as `1'.
-%
-\def\enumerate{\parsearg\enumeratezzz}
-\def\enumeratezzz #1{\enumeratey #1 \endenumeratey}
-\def\enumeratey #1 #2\endenumeratey{%
- \begingroup % ended by the @end enumerate
- %
- % If we were given no argument, pretend we were given `1'.
- \def\thearg{#1}%
- \ifx\thearg\empty \def\thearg{1}\fi
- %
- % Detect if the argument is a single token. If so, it might be a
- % letter. Otherwise, the only valid thing it can be is a number.
- % (We will always have one token, because of the test we just made.
- % This is a good thing, since \splitoff doesn't work given nothing at
- % all -- the first parameter is undelimited.)
- \expandafter\splitoff\thearg\endmark
- \ifx\rest\empty
- % Only one token in the argument. It could still be anything.
- % A ``lowercase letter'' is one whose \lccode is nonzero.
- % An ``uppercase letter'' is one whose \lccode is both nonzero, and
- % not equal to itself.
- % Otherwise, we assume it's a number.
- %
- % We need the \relax at the end of the \ifnum lines to stop TeX from
- % continuing to look for a <number>.
- %
- \ifnum\lccode\expandafter`\thearg=0\relax
- \numericenumerate % a number (we hope)
- \else
- % It's a letter.
- \ifnum\lccode\expandafter`\thearg=\expandafter`\thearg\relax
- \lowercaseenumerate % lowercase letter
- \else
- \uppercaseenumerate % uppercase letter
- \fi
- \fi
- \else
- % Multiple tokens in the argument. We hope it's a number.
- \numericenumerate
- \fi
-}
-
-% An @enumerate whose labels are integers. The starting integer is
-% given in \thearg.
-%
-\def\numericenumerate{%
- \itemno = \thearg
- \startenumeration{\the\itemno}%
-}
-
-% The starting (lowercase) letter is in \thearg.
-\def\lowercaseenumerate{%
- \itemno = \expandafter`\thearg
- \startenumeration{%
- % Be sure we're not beyond the end of the alphabet.
- \ifnum\itemno=0
- \errmessage{No more lowercase letters in @enumerate; get a bigger
- alphabet}%
- \fi
- \char\lccode\itemno
- }%
-}
-
-% The starting (uppercase) letter is in \thearg.
-\def\uppercaseenumerate{%
- \itemno = \expandafter`\thearg
- \startenumeration{%
- % Be sure we're not beyond the end of the alphabet.
- \ifnum\itemno=0
- \errmessage{No more uppercase letters in @enumerate; get a bigger
- alphabet}
- \fi
- \char\uccode\itemno
- }%
-}
-
-% Call itemizey, adding a period to the first argument and supplying the
-% common last two arguments. Also subtract one from the initial value in
-% \itemno, since @item increments \itemno.
-%
-\def\startenumeration#1{%
- \advance\itemno by -1
- \itemizey{#1.}\Eenumerate\flushcr
-}
-
-% @alphaenumerate and @capsenumerate are abbreviations for giving an arg
-% to @enumerate.
-%
-\def\alphaenumerate{\enumerate{a}}
-\def\capsenumerate{\enumerate{A}}
-\def\Ealphaenumerate{\Eenumerate}
-\def\Ecapsenumerate{\Eenumerate}
-
-% Definition of @item while inside @itemize.
-
-\def\itemizeitem{%
-\advance\itemno by 1
-{\let\par=\endgraf \smallbreak}%
-\ifhmode \errmessage{\in hmode at itemizeitem}\fi
-{\parskip=0in \hskip 0pt
-\hbox to 0pt{\hss \itemcontents\hskip \itemmargin}%
-\vadjust{\penalty 1200}}%
-\flushcr}
-
-% @multitable macros
-% Amy Hendrickson, 8/18/94
-%
-% @multitable ... @endmultitable will make as many columns as desired.
-% Contents of each column will wrap at width given in preamble. Width
-% can be specified either with sample text given in a template line,
-% or in percent of \hsize, the current width of text on page.
-
-% Table can continue over pages but will only break between lines.
-
-% To make preamble:
-%
-% Either define widths of columns in terms of percent of \hsize:
-% @multitable @percentofhsize .2 .3 .5
-% @item ...
-%
-% Numbers following @percentofhsize are the percent of the total
-% current hsize to be used for each column. You may use as many
-% columns as desired.
-
-% Or use a template:
-% @multitable {Column 1 template} {Column 2 template} {Column 3 template}
-% @item ...
-% using the widest term desired in each column.
-
-
-% Each new table line starts with @item, each subsequent new column
-% starts with @tab. Empty columns may be produced by supplying @tab's
-% with nothing between them for as many times as empty columns are needed,
-% ie, @tab@tab@tab will produce two empty columns.
-
-% @item, @tab, @multicolumn or @endmulticolumn do not need to be on their
-% own lines, but it will not hurt if they are.
-
-% Sample multitable:
-
-% @multitable {Column 1 template} {Column 2 template} {Column 3 template}
-% @item first col stuff @tab second col stuff @tab third col
-% @item
-% first col stuff
-% @tab
-% second col stuff
-% @tab
-% third col
-% @item first col stuff @tab second col stuff
-% @tab Many paragraphs of text may be used in any column.
-%
-% They will wrap at the width determined by the template.
-% @item@tab@tab This will be in third column.
-% @endmultitable
-
-% Default dimensions may be reset by user.
-% @intableparskip will set vertical space between paragraphs in table.
-% @intableparindent will set paragraph indent in table.
-% @spacebetweencols will set horizontal space to be left between columns.
-% @spacebetweenlines will set vertical space to be left between lines.
-
-%%%%
-% Dimensions
-
-\newdimen\intableparskip
-\newdimen\intableparindent
-\newdimen\spacebetweencols
-\newdimen\spacebetweenlines
-\intableparskip=0pt
-\intableparindent=6pt
-\spacebetweencols=12pt
-\spacebetweenlines=12pt
-
-%%%%
-% Macros used to set up halign preamble:
-\let\endsetuptable\relax
-\def\xendsetuptable{\endsetuptable}
-\let\percentofhsize\relax
-\def\xpercentofhsize{\percentofhsize}
-\newif\ifsetpercent
-
-\newcount\colcount
-\def\setuptable#1{\def\firstarg{#1}%
-\ifx\firstarg\xendsetuptable\let\go\relax%
-\else
- \ifx\firstarg\xpercentofhsize\global\setpercenttrue%
- \else
- \ifsetpercent
- \if#1.\else%
- \global\advance\colcount by1 %
- \expandafter\xdef\csname col\the\colcount\endcsname{.#1\hsize}%
- \fi
- \else
- \global\advance\colcount by1
- \setbox0=\hbox{#1}%
- \expandafter\xdef\csname col\the\colcount\endcsname{\the\wd0}%
- \fi%
- \fi%
- \let\go\setuptable%
-\fi\go}
-%%%%
-% multitable syntax
-\def\tab{&}
-
-%%%%
-% @multitable ... @endmultitable definitions:
-
-\def\multitable#1\item{\bgroup
-\let\item\cr
-\tolerance=9500
-\hbadness=9500
-\parskip=\intableparskip
-\parindent=\intableparindent
-\overfullrule=0pt
-\global\colcount=0\relax%
-\def\Emultitable{\global\setpercentfalse\global\everycr{}\cr\egroup\egroup}%
- % To parse everything between @multitable and @item :
-\def\one{#1}\expandafter\setuptable\one\endsetuptable
- % Need to reset this to 0 after \setuptable.
-\global\colcount=0\relax%
- %
- % This preamble sets up a generic column definition, which will
- % be used as many times as user calls for columns.
- % \vtop will set a single line and will also let text wrap and
- % continue for many paragraphs if desired.
-\halign\bgroup&\global\advance\colcount by 1\relax%
-\vtop{\hsize=\expandafter\csname col\the\colcount\endcsname
- % In order to keep entries from bumping into each other
- % we will add a \leftskip of \spacebetweencols to all columns after
- % the first one.
- % If a template has been used, we will add \spacebetweencols
- % to the width of each template entry.
- % If user has set preamble in terms of percent of \hsize
- % we will use that dimension as the width of the column, and
- % the \leftskip will keep entries from bumping into each other.
- % Table will start at left margin and final column will justify at
- % right margin.
-\ifnum\colcount=1
-\else
- \ifsetpercent
- \else
- % If user has <not> set preamble in terms of percent of \hsize
- % we will advance \hsize by \spacebetweencols
- \advance\hsize by \spacebetweencols
- \fi
- % In either case we will make \leftskip=\spacebetweencols:
-\leftskip=\spacebetweencols
-\fi
-\noindent##}\cr%
- % \everycr will reset column counter, \colcount, at the end of
- % each line. Every column entry will cause \colcount to advance by one.
- % The table preamble
- % looks at the current \colcount to find the correct column width.
-\global\everycr{\noalign{\nointerlineskip\vskip\spacebetweenlines
-\filbreak%% keeps underfull box messages off when table breaks over pages.
-\global\colcount=0\relax}}}
-
-\message{indexing,}
-% Index generation facilities
-
-% Define \newwrite to be identical to plain tex's \newwrite
-% except not \outer, so it can be used within \newindex.
-{\catcode`\@=11
-\gdef\newwrite{\alloc@7\write\chardef\sixt@@n}}
-
-% \newindex {foo} defines an index named foo.
-% It automatically defines \fooindex such that
-% \fooindex ...rest of line... puts an entry in the index foo.
-% It also defines \fooindfile to be the number of the output channel for
-% the file that accumulates this index. The file's extension is foo.
-% The name of an index should be no more than 2 characters long
-% for the sake of vms.
-
-\def\newindex #1{
-\expandafter\newwrite \csname#1indfile\endcsname% Define number for output file
-\openout \csname#1indfile\endcsname \jobname.#1 % Open the file
-\expandafter\xdef\csname#1index\endcsname{% % Define \xxxindex
-\noexpand\doindex {#1}}
-}
-
-% @defindex foo == \newindex{foo}
-
-\def\defindex{\parsearg\newindex}
-
-% Define @defcodeindex, like @defindex except put all entries in @code.
-
-\def\newcodeindex #1{
-\expandafter\newwrite \csname#1indfile\endcsname% Define number for output file
-\openout \csname#1indfile\endcsname \jobname.#1 % Open the file
-\expandafter\xdef\csname#1index\endcsname{% % Define \xxxindex
-\noexpand\docodeindex {#1}}
-}
-
-\def\defcodeindex{\parsearg\newcodeindex}
-
-% @synindex foo bar makes index foo feed into index bar.
-% Do this instead of @defindex foo if you don't want it as a separate index.
-\def\synindex #1 #2 {%
-\expandafter\let\expandafter\synindexfoo\expandafter=\csname#2indfile\endcsname
-\expandafter\let\csname#1indfile\endcsname=\synindexfoo
-\expandafter\xdef\csname#1index\endcsname{% % Define \xxxindex
-\noexpand\doindex {#2}}%
-}
-
-% @syncodeindex foo bar similar, but put all entries made for index foo
-% inside @code.
-\def\syncodeindex #1 #2 {%
-\expandafter\let\expandafter\synindexfoo\expandafter=\csname#2indfile\endcsname
-\expandafter\let\csname#1indfile\endcsname=\synindexfoo
-\expandafter\xdef\csname#1index\endcsname{% % Define \xxxindex
-\noexpand\docodeindex {#2}}%
-}
-
-% Define \doindex, the driver for all \fooindex macros.
-% Argument #1 is generated by the calling \fooindex macro,
-% and it is "foo", the name of the index.
-
-% \doindex just uses \parsearg; it calls \doind for the actual work.
-% This is because \doind is more useful to call from other macros.
-
-% There is also \dosubind {index}{topic}{subtopic}
-% which makes an entry in a two-level index such as the operation index.
-
-\def\doindex#1{\edef\indexname{#1}\parsearg\singleindexer}
-\def\singleindexer #1{\doind{\indexname}{#1}}
-
-% like the previous two, but they put @code around the argument.
-\def\docodeindex#1{\edef\indexname{#1}\parsearg\singlecodeindexer}
-\def\singlecodeindexer #1{\doind{\indexname}{\code{#1}}}
-
-\def\indexdummies{%
-% Take care of the plain tex accent commands.
-\def\"{\realbackslash "}%
-\def\`{\realbackslash `}%
-\def\'{\realbackslash '}%
-\def\^{\realbackslash ^}%
-\def\~{\realbackslash ~}%
-\def\={\realbackslash =}%
-\def\b{\realbackslash b}%
-\def\c{\realbackslash c}%
-\def\d{\realbackslash d}%
-\def\u{\realbackslash u}%
-\def\v{\realbackslash v}%
-\def\H{\realbackslash H}%
-% Take care of the plain tex special European modified letters.
-\def\oe{\realbackslash oe}%
-\def\ae{\realbackslash ae}%
-\def\aa{\realbackslash aa}%
-\def\OE{\realbackslash OE}%
-\def\AE{\realbackslash AE}%
-\def\AA{\realbackslash AA}%
-\def\o{\realbackslash o}%
-\def\O{\realbackslash O}%
-\def\l{\realbackslash l}%
-\def\L{\realbackslash L}%
-\def\ss{\realbackslash ss}%
-% Take care of texinfo commands likely to appear in an index entry.
-\def\_{{\realbackslash _}}%
-\def\w{\realbackslash w }%
-\def\bf{\realbackslash bf }%
-\def\rm{\realbackslash rm }%
-\def\sl{\realbackslash sl }%
-\def\sf{\realbackslash sf}%
-\def\tt{\realbackslash tt}%
-\def\gtr{\realbackslash gtr}%
-\def\less{\realbackslash less}%
-\def\hat{\realbackslash hat}%
-\def\char{\realbackslash char}%
-\def\TeX{\realbackslash TeX}%
-\def\dots{\realbackslash dots }%
-\def\copyright{\realbackslash copyright }%
-\def\tclose##1{\realbackslash tclose {##1}}%
-\def\code##1{\realbackslash code {##1}}%
-\def\samp##1{\realbackslash samp {##1}}%
-\def\t##1{\realbackslash r {##1}}%
-\def\r##1{\realbackslash r {##1}}%
-\def\i##1{\realbackslash i {##1}}%
-\def\b##1{\realbackslash b {##1}}%
-\def\cite##1{\realbackslash cite {##1}}%
-\def\key##1{\realbackslash key {##1}}%
-\def\file##1{\realbackslash file {##1}}%
-\def\var##1{\realbackslash var {##1}}%
-\def\kbd##1{\realbackslash kbd {##1}}%
-\def\dfn##1{\realbackslash dfn {##1}}%
-\def\emph##1{\realbackslash emph {##1}}%
-}
-
-% \indexnofonts no-ops all font-change commands.
-% This is used when outputting the strings to sort the index by.
-\def\indexdummyfont#1{#1}
-\def\indexdummytex{TeX}
-\def\indexdummydots{...}
-
-\def\indexnofonts{%
-% Just ignore accents.
-\let\"=\indexdummyfont
-\let\`=\indexdummyfont
-\let\'=\indexdummyfont
-\let\^=\indexdummyfont
-\let\~=\indexdummyfont
-\let\==\indexdummyfont
-\let\b=\indexdummyfont
-\let\c=\indexdummyfont
-\let\d=\indexdummyfont
-\let\u=\indexdummyfont
-\let\v=\indexdummyfont
-\let\H=\indexdummyfont
-% Take care of the plain tex special European modified letters.
-\def\oe{oe}%
-\def\ae{ae}%
-\def\aa{aa}%
-\def\OE{OE}%
-\def\AE{AE}%
-\def\AA{AA}%
-\def\o{o}%
-\def\O{O}%
-\def\l{l}%
-\def\L{L}%
-\def\ss{ss}%
-\let\w=\indexdummyfont
-\let\t=\indexdummyfont
-\let\r=\indexdummyfont
-\let\i=\indexdummyfont
-\let\b=\indexdummyfont
-\let\emph=\indexdummyfont
-\let\strong=\indexdummyfont
-\let\cite=\indexdummyfont
-\let\sc=\indexdummyfont
-%Don't no-op \tt, since it isn't a user-level command
-% and is used in the definitions of the active chars like <, >, |...
-%\let\tt=\indexdummyfont
-\let\tclose=\indexdummyfont
-\let\code=\indexdummyfont
-\let\file=\indexdummyfont
-\let\samp=\indexdummyfont
-\let\kbd=\indexdummyfont
-\let\key=\indexdummyfont
-\let\var=\indexdummyfont
-\let\TeX=\indexdummytex
-\let\dots=\indexdummydots
-}
-
-% To define \realbackslash, we must make \ not be an escape.
-% We must first make another character (@) an escape
-% so we do not become unable to do a definition.
-
-{\catcode`\@=0 \catcode`\\=\other
-@gdef@realbackslash{\}}
-
-\let\indexbackslash=0 %overridden during \printindex.
-
-\def\doind #1#2{%
-{\count10=\lastpenalty %
-{\indexdummies % Must do this here, since \bf, etc expand at this stage
-\escapechar=`\\%
-{\let\folio=0% Expand all macros now EXCEPT \folio
-\def\rawbackslashxx{\indexbackslash}% \indexbackslash isn't defined now
-% so it will be output as is; and it will print as backslash in the indx.
-%
-% Now process the index-string once, with all font commands turned off,
-% to get the string to sort the index by.
-{\indexnofonts
-\xdef\temp1{#2}%
-}%
-% Now produce the complete index entry. We process the index-string again,
-% this time with font commands expanded, to get what to print in the index.
-\edef\temp{%
-\write \csname#1indfile\endcsname{%
-\realbackslash entry {\temp1}{\folio}{#2}}}%
-\temp }%
-}\penalty\count10}}
-
-\def\dosubind #1#2#3{%
-{\count10=\lastpenalty %
-{\indexdummies % Must do this here, since \bf, etc expand at this stage
-\escapechar=`\\%
-{\let\folio=0%
-\def\rawbackslashxx{\indexbackslash}%
-%
-% Now process the index-string once, with all font commands turned off,
-% to get the string to sort the index by.
-{\indexnofonts
-\xdef\temp1{#2 #3}%
-}%
-% Now produce the complete index entry. We process the index-string again,
-% this time with font commands expanded, to get what to print in the index.
-\edef\temp{%
-\write \csname#1indfile\endcsname{%
-\realbackslash entry {\temp1}{\folio}{#2}{#3}}}%
-\temp }%
-}\penalty\count10}}
-
-% The index entry written in the file actually looks like
-% \entry {sortstring}{page}{topic}
-% or
-% \entry {sortstring}{page}{topic}{subtopic}
-% The texindex program reads in these files and writes files
-% containing these kinds of lines:
-% \initial {c}
-% before the first topic whose initial is c
-% \entry {topic}{pagelist}
-% for a topic that is used without subtopics
-% \primary {topic}
-% for the beginning of a topic that is used with subtopics
-% \secondary {subtopic}{pagelist}
-% for each subtopic.
-
-% Define the user-accessible indexing commands
-% @findex, @vindex, @kindex, @cindex.
-
-\def\findex {\fnindex}
-\def\kindex {\kyindex}
-\def\cindex {\cpindex}
-\def\vindex {\vrindex}
-\def\tindex {\tpindex}
-\def\pindex {\pgindex}
-
-\def\cindexsub {\begingroup\obeylines\cindexsub}
-{\obeylines %
-\gdef\cindexsub "#1" #2^^M{\endgroup %
-\dosubind{cp}{#2}{#1}}}
-
-% Define the macros used in formatting output of the sorted index material.
-
-% This is what you call to cause a particular index to get printed.
-% Write
-% @unnumbered Function Index
-% @printindex fn
-
-\def\printindex{\parsearg\doprintindex}
-
-\def\doprintindex#1{%
- \tex
- \dobreak \chapheadingskip {10000}
- \catcode`\%=\other\catcode`\&=\other\catcode`\#=\other
- \catcode`\$=\other
- \catcode`\~=\other
- \indexbreaks
- %
- % The following don't help, since the chars were translated
- % when the raw index was written, and their fonts were discarded
- % due to \indexnofonts.
- %\catcode`\"=\active
- %\catcode`\^=\active
- %\catcode`\_=\active
- %\catcode`\|=\active
- %\catcode`\<=\active
- %\catcode`\>=\active
- % %
- \def\indexbackslash{\rawbackslashxx}
- \indexfonts\rm \tolerance=9500 \advance\baselineskip -1pt
- \begindoublecolumns
- %
- % See if the index file exists and is nonempty.
- \openin 1 \jobname.#1s
- \ifeof 1
- % \enddoublecolumns gets confused if there is no text in the index,
- % and it loses the chapter title and the aux file entries for the
- % index. The easiest way to prevent this problem is to make sure
- % there is some text.
- (Index is nonexistent)
- \else
- %
- % If the index file exists but is empty, then \openin leaves \ifeof
- % false. We have to make TeX try to read something from the file, so
- % it can discover if there is anything in it.
- \read 1 to \temp
- \ifeof 1
- (Index is empty)
- \else
- \input \jobname.#1s
- \fi
- \fi
- \closein 1
- \enddoublecolumns
- \Etex
-}
-
-% These macros are used by the sorted index file itself.
-% Change them to control the appearance of the index.
-
-% Same as \bigskipamount except no shrink.
-% \balancecolumns gets confused if there is any shrink.
-\newskip\initialskipamount \initialskipamount 12pt plus4pt
-
-\def\initial #1{%
-{\let\tentt=\sectt \let\tt=\sectt \let\sf=\sectt
-\ifdim\lastskip<\initialskipamount
-\removelastskip \penalty-200 \vskip \initialskipamount\fi
-\line{\secbf#1\hfill}\kern 2pt\penalty10000}}
-
-% This typesets a paragraph consisting of #1, dot leaders, and then #2
-% flush to the right margin. It is used for index and table of contents
-% entries. The paragraph is indented by \leftskip.
-%
-\def\entry #1#2{\begingroup
- %
- % Start a new paragraph if necessary, so our assignments below can't
- % affect previous text.
- \par
- %
- % Do not fill out the last line with white space.
- \parfillskip = 0in
- %
- % No extra space above this paragraph.
- \parskip = 0in
- %
- % Do not prefer a separate line ending with a hyphen to fewer lines.
- \finalhyphendemerits = 0
- %
- % \hangindent is only relevant when the entry text and page number
- % don't both fit on one line. In that case, bob suggests starting the
- % dots pretty far over on the line. Unfortunately, a large
- % indentation looks wrong when the entry text itself is broken across
- % lines. So we use a small indentation and put up with long leaders.
- %
- % \hangafter is reset to 1 (which is the value we want) at the start
- % of each paragraph, so we need not do anything with that.
- \hangindent=2em
- %
- % When the entry text needs to be broken, just fill out the first line
- % with blank space.
- \rightskip = 0pt plus1fil
- %
- % Start a ``paragraph'' for the index entry so the line breaking
- % parameters we've set above will have an effect.
- \noindent
- %
- % Insert the text of the index entry. TeX will do line-breaking on it.
- #1%
- % The following is kluged to not output a line of dots in the index if
- % there are no page numbers. The next person who breaks this will be
- % cursed by a Unix daemon.
- \def\tempa{{\rm }}%
- \def\tempb{#2}%
- \edef\tempc{\tempa}%
- \edef\tempd{\tempb}%
- \ifx\tempc\tempd\ \else%
- %
- % If we must, put the page number on a line of its own, and fill out
- % this line with blank space. (The \hfil is overwhelmed with the
- % fill leaders glue in \indexdotfill if the page number does fit.)
- \hfil\penalty50
- \null\nobreak\indexdotfill % Have leaders before the page number.
- %
- % The `\ ' here is removed by the implicit \unskip that TeX does as
- % part of (the primitive) \par. Without it, a spurious underfull
- % \hbox ensues.
- \ #2% The page number ends the paragraph.
- \fi%
- \par
-\endgroup}
-
-% Like \dotfill except takes at least 1 em.
-\def\indexdotfill{\cleaders
- \hbox{$\mathsurround=0pt \mkern1.5mu ${\it .}$ \mkern1.5mu$}\hskip 1em plus 1fill}
-
-\def\primary #1{\line{#1\hfil}}
-
-\newskip\secondaryindent \secondaryindent=0.5cm
-
-\def\secondary #1#2{
-{\parfillskip=0in \parskip=0in
-\hangindent =1in \hangafter=1
-\noindent\hskip\secondaryindent\hbox{#1}\indexdotfill #2\par
-}}
-
-%% Define two-column mode, which is used in indexes.
-%% Adapted from the TeXbook, page 416.
-\catcode `\@=11
-
-\newbox\partialpage
-
-\newdimen\doublecolumnhsize
-
-\def\begindoublecolumns{\begingroup
- % Grab any single-column material above us.
- \output = {\global\setbox\partialpage
- =\vbox{\unvbox255\kern -\topskip \kern \baselineskip}}%
- \eject
- %
- % Now switch to the double-column output routine.
- \output={\doublecolumnout}%
- %
- % Change the page size parameters. We could do this once outside this
- % routine, in each of @smallbook, @afourpaper, and the default 8.5x11
- % format, but then we repeat the same computation. Repeating a couple
- % of assignments once per index is clearly meaningless for the
- % execution time, so we may as well do it once.
- %
- % First we halve the line length, less a little for the gutter between
- % the columns. We compute the gutter based on the line length, so it
- % changes automatically with the paper format. The magic constant
- % below is chosen so that the gutter has the same value (well, +- <
- % 1pt) as it did when we hard-coded it.
- %
- % We put the result in a separate register, \doublecolumhsize, so we
- % can restore it in \pagesofar, after \hsize itself has (potentially)
- % been clobbered.
- %
- \doublecolumnhsize = \hsize
- \advance\doublecolumnhsize by -.04154\hsize
- \divide\doublecolumnhsize by 2
- \hsize = \doublecolumnhsize
- %
- % Double the \vsize as well. (We don't need a separate register here,
- % since nobody clobbers \vsize.)
- \vsize = 2\vsize
- \doublecolumnpagegoal
-}
-
-\def\enddoublecolumns{\eject \endgroup \pagegoal=\vsize \unvbox\partialpage}
-
-\def\doublecolumnsplit{\splittopskip=\topskip \splitmaxdepth=\maxdepth
- \global\dimen@=\pageheight \global\advance\dimen@ by-\ht\partialpage
- \global\setbox1=\vsplit255 to\dimen@ \global\setbox0=\vbox{\unvbox1}
- \global\setbox3=\vsplit255 to\dimen@ \global\setbox2=\vbox{\unvbox3}
- \ifdim\ht0>\dimen@ \setbox255=\vbox{\unvbox0\unvbox2} \global\setbox255=\copy5 \fi
- \ifdim\ht2>\dimen@ \setbox255=\vbox{\unvbox0\unvbox2} \global\setbox255=\copy5 \fi
-}
-\def\doublecolumnpagegoal{%
- \dimen@=\vsize \advance\dimen@ by-2\ht\partialpage \global\pagegoal=\dimen@
-}
-\def\pagesofar{\unvbox\partialpage %
- \hsize=\doublecolumnhsize % have to restore this since output routine
- \wd0=\hsize \wd2=\hsize \hbox to\pagewidth{\box0\hfil\box2}}
-\def\doublecolumnout{%
- \setbox5=\copy255
- {\vbadness=10000 \doublecolumnsplit}
- \ifvbox255
- \setbox0=\vtop to\dimen@{\unvbox0}
- \setbox2=\vtop to\dimen@{\unvbox2}
- \onepageout\pagesofar \unvbox255 \penalty\outputpenalty
- \else
- \setbox0=\vbox{\unvbox5}
- \ifvbox0
- \dimen@=\ht0 \advance\dimen@ by\topskip \advance\dimen@ by-\baselineskip
- \divide\dimen@ by2 \splittopskip=\topskip \splitmaxdepth=\maxdepth
- {\vbadness=10000
- \loop \global\setbox5=\copy0
- \setbox1=\vsplit5 to\dimen@
- \setbox3=\vsplit5 to\dimen@
- \ifvbox5 \global\advance\dimen@ by1pt \repeat
- \setbox0=\vbox to\dimen@{\unvbox1}
- \setbox2=\vbox to\dimen@{\unvbox3}
- \global\setbox\partialpage=\vbox{\pagesofar}
- \doublecolumnpagegoal
- }
- \fi
- \fi
-}
-
-\catcode `\@=\other
-\message{sectioning,}
-% Define chapters, sections, etc.
-
-\newcount \chapno
-\newcount \secno \secno=0
-\newcount \subsecno \subsecno=0
-\newcount \subsubsecno \subsubsecno=0
-
-% This counter is funny since it counts through charcodes of letters A, B, ...
-\newcount \appendixno \appendixno = `\@
-\def\appendixletter{\char\the\appendixno}
-
-\newwrite \contentsfile
-% This is called from \setfilename.
-\def\opencontents{\openout \contentsfile = \jobname.toc}
-
-% Each @chapter defines this as the name of the chapter.
-% page headings and footings can use it. @section does likewise
-
-\def\thischapter{} \def\thissection{}
-\def\seccheck#1{\if \pageno<0 %
-\errmessage{@#1 not allowed after generating table of contents}\fi
-%
-}
-
-\def\chapternofonts{%
-\let\rawbackslash=\relax%
-\let\frenchspacing=\relax%
-\def\result{\realbackslash result}
-\def\equiv{\realbackslash equiv}
-\def\expansion{\realbackslash expansion}
-\def\print{\realbackslash print}
-\def\TeX{\realbackslash TeX}
-\def\dots{\realbackslash dots}
-\def\copyright{\realbackslash copyright}
-\def\tt{\realbackslash tt}
-\def\bf{\realbackslash bf }
-\def\w{\realbackslash w}
-\def\less{\realbackslash less}
-\def\gtr{\realbackslash gtr}
-\def\hat{\realbackslash hat}
-\def\char{\realbackslash char}
-\def\tclose##1{\realbackslash tclose {##1}}
-\def\code##1{\realbackslash code {##1}}
-\def\samp##1{\realbackslash samp {##1}}
-\def\r##1{\realbackslash r {##1}}
-\def\b##1{\realbackslash b {##1}}
-\def\key##1{\realbackslash key {##1}}
-\def\file##1{\realbackslash file {##1}}
-\def\kbd##1{\realbackslash kbd {##1}}
-% These are redefined because @smartitalic wouldn't work inside xdef.
-\def\i##1{\realbackslash i {##1}}
-\def\cite##1{\realbackslash cite {##1}}
-\def\var##1{\realbackslash var {##1}}
-\def\emph##1{\realbackslash emph {##1}}
-\def\dfn##1{\realbackslash dfn {##1}}
-}
-
-\newcount\absseclevel % used to calculate proper heading level
-\newcount\secbase\secbase=0 % @raise/lowersections modify this count
-
-% @raisesections: treat @section as chapter, @subsection as section, etc.
-\def\raisesections{\global\advance\secbase by -1}
-\let\up=\raisesections % original BFox name
-
-% @lowersections: treat @chapter as section, @section as subsection, etc.
-\def\lowersections{\global\advance\secbase by 1}
-\let\down=\lowersections % original BFox name
-
-% Choose a numbered-heading macro
-% #1 is heading level if unmodified by @raisesections or @lowersections
-% #2 is text for heading
-\def\numhead#1#2{\absseclevel=\secbase\advance\absseclevel by #1
-\ifcase\absseclevel
- \chapterzzz{#2}
-\or
- \seczzz{#2}
-\or
- \numberedsubseczzz{#2}
-\or
- \numberedsubsubseczzz{#2}
-\else
- \ifnum \absseclevel<0
- \chapterzzz{#2}
- \else
- \numberedsubsubseczzz{#2}
- \fi
-\fi
-}
-
-% like \numhead, but chooses appendix heading levels
-\def\apphead#1#2{\absseclevel=\secbase\advance\absseclevel by #1
-\ifcase\absseclevel
- \appendixzzz{#2}
-\or
- \appendixsectionzzz{#2}
-\or
- \appendixsubseczzz{#2}
-\or
- \appendixsubsubseczzz{#2}
-\else
- \ifnum \absseclevel<0
- \appendixzzz{#2}
- \else
- \appendixsubsubseczzz{#2}
- \fi
-\fi
-}
-
-% like \numhead, but chooses numberless heading levels
-\def\unnmhead#1#2{\absseclevel=\secbase\advance\absseclevel by #1
-\ifcase\absseclevel
- \unnumberedzzz{#2}
-\or
- \unnumberedseczzz{#2}
-\or
- \unnumberedsubseczzz{#2}
-\or
- \unnumberedsubsubseczzz{#2}
-\else
- \ifnum \absseclevel<0
- \unnumberedzzz{#2}
- \else
- \unnumberedsubsubseczzz{#2}
- \fi
-\fi
-}
-
-
-\def\thischaptername{No Chapter Title}
-\outer\def\chapter{\parsearg\chapteryyy}
-\def\chapteryyy #1{\numhead0{#1}} % normally numhead0 calls chapterzzz
-\def\chapterzzz #1{\seccheck{chapter}%
-\secno=0 \subsecno=0 \subsubsecno=0
-\global\advance \chapno by 1 \message{Chapter \the\chapno}%
-\chapmacro {#1}{\the\chapno}%
-\gdef\thissection{#1}%
-\gdef\thischaptername{#1}%
-% We don't substitute the actual chapter name into \thischapter
-% because we don't want its macros evaluated now.
-\xdef\thischapter{\putwordChapter{} \the\chapno: \noexpand\thischaptername}%
-{\chapternofonts%
-\edef\temp{{\realbackslash chapentry {#1}{\the\chapno}{\noexpand\folio}}}%
-\escapechar=`\\%
-\write \contentsfile \temp %
-\donoderef %
-\global\let\section = \numberedsec
-\global\let\subsection = \numberedsubsec
-\global\let\subsubsection = \numberedsubsubsec
-}}
-
-\outer\def\appendix{\parsearg\appendixyyy}
-\def\appendixyyy #1{\apphead0{#1}} % normally apphead0 calls appendixzzz
-\def\appendixzzz #1{\seccheck{appendix}%
-\secno=0 \subsecno=0 \subsubsecno=0
-\global\advance \appendixno by 1 \message{Appendix \appendixletter}%
-\chapmacro {#1}{\putwordAppendix{} \appendixletter}%
-\gdef\thissection{#1}%
-\gdef\thischaptername{#1}%
-\xdef\thischapter{\putwordAppendix{} \appendixletter: \noexpand\thischaptername}%
-{\chapternofonts%
-\edef\temp{{\realbackslash chapentry
- {#1}{\putwordAppendix{} \appendixletter}{\noexpand\folio}}}%
-\escapechar=`\\%
-\write \contentsfile \temp %
-\appendixnoderef %
-\global\let\section = \appendixsec
-\global\let\subsection = \appendixsubsec
-\global\let\subsubsection = \appendixsubsubsec
-}}
-
-\outer\def\top{\parsearg\unnumberedyyy}
-\outer\def\unnumbered{\parsearg\unnumberedyyy}
-\def\unnumberedyyy #1{\unnmhead0{#1}} % normally unnmhead0 calls unnumberedzzz
-\def\unnumberedzzz #1{\seccheck{unnumbered}%
-\secno=0 \subsecno=0 \subsubsecno=0
-%
-% This used to be simply \message{#1}, but TeX fully expands the
-% argument to \message. Therefore, if #1 contained @-commands, TeX
-% expanded them. For example, in `@unnumbered The @cite{Book}', TeX
-% expanded @cite (which turns out to cause errors because \cite is meant
-% to be executed, not expanded).
-%
-% Anyway, we don't want the fully-expanded definition of @cite to appear
-% as a result of the \message, we just want `@cite' itself. We use
-% \the<toks register> to achieve this: TeX expands \the<toks> only once,
-% simply yielding the contents of the <toks register>.
-\toks0 = {#1}\message{(\the\toks0)}%
-%
-\unnumbchapmacro {#1}%
-\gdef\thischapter{#1}\gdef\thissection{#1}%
-{\chapternofonts%
-\edef\temp{{\realbackslash unnumbchapentry {#1}{\noexpand\folio}}}%
-\escapechar=`\\%
-\write \contentsfile \temp %
-\unnumbnoderef %
-\global\let\section = \unnumberedsec
-\global\let\subsection = \unnumberedsubsec
-\global\let\subsubsection = \unnumberedsubsubsec
-}}
-
-\outer\def\numberedsec{\parsearg\secyyy}
-\def\secyyy #1{\numhead1{#1}} % normally calls seczzz
-\def\seczzz #1{\seccheck{section}%
-\subsecno=0 \subsubsecno=0 \global\advance \secno by 1 %
-\gdef\thissection{#1}\secheading {#1}{\the\chapno}{\the\secno}%
-{\chapternofonts%
-\edef\temp{{\realbackslash secentry %
-{#1}{\the\chapno}{\the\secno}{\noexpand\folio}}}%
-\escapechar=`\\%
-\write \contentsfile \temp %
-\donoderef %
-\penalty 10000 %
-}}
-
-\outer\def\appenixsection{\parsearg\appendixsecyyy}
-\outer\def\appendixsec{\parsearg\appendixsecyyy}
-\def\appendixsecyyy #1{\apphead1{#1}} % normally calls appendixsectionzzz
-\def\appendixsectionzzz #1{\seccheck{appendixsection}%
-\subsecno=0 \subsubsecno=0 \global\advance \secno by 1 %
-\gdef\thissection{#1}\secheading {#1}{\appendixletter}{\the\secno}%
-{\chapternofonts%
-\edef\temp{{\realbackslash secentry %
-{#1}{\appendixletter}{\the\secno}{\noexpand\folio}}}%
-\escapechar=`\\%
-\write \contentsfile \temp %
-\appendixnoderef %
-\penalty 10000 %
-}}
-
-\outer\def\unnumberedsec{\parsearg\unnumberedsecyyy}
-\def\unnumberedsecyyy #1{\unnmhead1{#1}} % normally calls unnumberedseczzz
-\def\unnumberedseczzz #1{\seccheck{unnumberedsec}%
-\plainsecheading {#1}\gdef\thissection{#1}%
-{\chapternofonts%
-\edef\temp{{\realbackslash unnumbsecentry{#1}{\noexpand\folio}}}%
-\escapechar=`\\%
-\write \contentsfile \temp %
-\unnumbnoderef %
-\penalty 10000 %
-}}
-
-\outer\def\numberedsubsec{\parsearg\numberedsubsecyyy}
-\def\numberedsubsecyyy #1{\numhead2{#1}} % normally calls numberedsubseczzz
-\def\numberedsubseczzz #1{\seccheck{subsection}%
-\gdef\thissection{#1}\subsubsecno=0 \global\advance \subsecno by 1 %
-\subsecheading {#1}{\the\chapno}{\the\secno}{\the\subsecno}%
-{\chapternofonts%
-\edef\temp{{\realbackslash subsecentry %
-{#1}{\the\chapno}{\the\secno}{\the\subsecno}{\noexpand\folio}}}%
-\escapechar=`\\%
-\write \contentsfile \temp %
-\donoderef %
-\penalty 10000 %
-}}
-
-\outer\def\appendixsubsec{\parsearg\appendixsubsecyyy}
-\def\appendixsubsecyyy #1{\apphead2{#1}} % normally calls appendixsubseczzz
-\def\appendixsubseczzz #1{\seccheck{appendixsubsec}%
-\gdef\thissection{#1}\subsubsecno=0 \global\advance \subsecno by 1 %
-\subsecheading {#1}{\appendixletter}{\the\secno}{\the\subsecno}%
-{\chapternofonts%
-\edef\temp{{\realbackslash subsecentry %
-{#1}{\appendixletter}{\the\secno}{\the\subsecno}{\noexpand\folio}}}%
-\escapechar=`\\%
-\write \contentsfile \temp %
-\appendixnoderef %
-\penalty 10000 %
-}}
-
-\outer\def\unnumberedsubsec{\parsearg\unnumberedsubsecyyy}
-\def\unnumberedsubsecyyy #1{\unnmhead2{#1}} %normally calls unnumberedsubseczzz
-\def\unnumberedsubseczzz #1{\seccheck{unnumberedsubsec}%
-\plainsecheading {#1}\gdef\thissection{#1}%
-{\chapternofonts%
-\edef\temp{{\realbackslash unnumbsubsecentry{#1}{\noexpand\folio}}}%
-\escapechar=`\\%
-\write \contentsfile \temp %
-\unnumbnoderef %
-\penalty 10000 %
-}}
-
-\outer\def\numberedsubsubsec{\parsearg\numberedsubsubsecyyy}
-\def\numberedsubsubsecyyy #1{\numhead3{#1}} % normally numberedsubsubseczzz
-\def\numberedsubsubseczzz #1{\seccheck{subsubsection}%
-\gdef\thissection{#1}\global\advance \subsubsecno by 1 %
-\subsubsecheading {#1}
- {\the\chapno}{\the\secno}{\the\subsecno}{\the\subsubsecno}%
-{\chapternofonts%
-\edef\temp{{\realbackslash subsubsecentry %
- {#1}
- {\the\chapno}{\the\secno}{\the\subsecno}{\the\subsubsecno}
- {\noexpand\folio}}}%
-\escapechar=`\\%
-\write \contentsfile \temp %
-\donoderef %
-\penalty 10000 %
-}}
-
-\outer\def\appendixsubsubsec{\parsearg\appendixsubsubsecyyy}
-\def\appendixsubsubsecyyy #1{\apphead3{#1}} % normally appendixsubsubseczzz
-\def\appendixsubsubseczzz #1{\seccheck{appendixsubsubsec}%
-\gdef\thissection{#1}\global\advance \subsubsecno by 1 %
-\subsubsecheading {#1}
- {\appendixletter}{\the\secno}{\the\subsecno}{\the\subsubsecno}%
-{\chapternofonts%
-\edef\temp{{\realbackslash subsubsecentry{#1}%
- {\appendixletter}
- {\the\secno}{\the\subsecno}{\the\subsubsecno}{\noexpand\folio}}}%
-\escapechar=`\\%
-\write \contentsfile \temp %
-\appendixnoderef %
-\penalty 10000 %
-}}
-
-\outer\def\unnumberedsubsubsec{\parsearg\unnumberedsubsubsecyyy}
-\def\unnumberedsubsubsecyyy #1{\unnmhead3{#1}} %normally unnumberedsubsubseczzz
-\def\unnumberedsubsubseczzz #1{\seccheck{unnumberedsubsubsec}%
-\plainsecheading {#1}\gdef\thissection{#1}%
-{\chapternofonts%
-\edef\temp{{\realbackslash unnumbsubsubsecentry{#1}{\noexpand\folio}}}%
-\escapechar=`\\%
-\write \contentsfile \temp %
-\unnumbnoderef %
-\penalty 10000 %
-}}
-
-% These are variants which are not "outer", so they can appear in @ifinfo.
-% Actually, they should now be obsolete; ordinary section commands should work.
-\def\infotop{\parsearg\unnumberedzzz}
-\def\infounnumbered{\parsearg\unnumberedzzz}
-\def\infounnumberedsec{\parsearg\unnumberedseczzz}
-\def\infounnumberedsubsec{\parsearg\unnumberedsubseczzz}
-\def\infounnumberedsubsubsec{\parsearg\unnumberedsubsubseczzz}
-
-\def\infoappendix{\parsearg\appendixzzz}
-\def\infoappendixsec{\parsearg\appendixseczzz}
-\def\infoappendixsubsec{\parsearg\appendixsubseczzz}
-\def\infoappendixsubsubsec{\parsearg\appendixsubsubseczzz}
-
-\def\infochapter{\parsearg\chapterzzz}
-\def\infosection{\parsearg\sectionzzz}
-\def\infosubsection{\parsearg\subsectionzzz}
-\def\infosubsubsection{\parsearg\subsubsectionzzz}
-
-% These macros control what the section commands do, according
-% to what kind of chapter we are in (ordinary, appendix, or unnumbered).
-% Define them by default for a numbered chapter.
-\global\let\section = \numberedsec
-\global\let\subsection = \numberedsubsec
-\global\let\subsubsection = \numberedsubsubsec
-
-% Define @majorheading, @heading and @subheading
-
-% NOTE on use of \vbox for chapter headings, section headings, and
-% such:
-% 1) We use \vbox rather than the earlier \line to permit
-% overlong headings to fold.
-% 2) \hyphenpenalty is set to 10000 because hyphenation in a
-% heading is obnoxious; this forbids it.
-% 3) Likewise, headings look best if no \parindent is used, and
-% if justification is not attempted. Hence \raggedright.
-
-
-\def\majorheading{\parsearg\majorheadingzzz}
-\def\majorheadingzzz #1{%
-{\advance\chapheadingskip by 10pt \chapbreak }%
-{\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
- \parindent=0pt\raggedright
- \rm #1\hfill}}\bigskip \par\penalty 200}
-
-\def\chapheading{\parsearg\chapheadingzzz}
-\def\chapheadingzzz #1{\chapbreak %
-{\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
- \parindent=0pt\raggedright
- \rm #1\hfill}}\bigskip \par\penalty 200}
-
-\def\heading{\parsearg\secheadingi}
-
-\def\subheading{\parsearg\subsecheadingi}
-
-\def\subsubheading{\parsearg\subsubsecheadingi}
-
-% These macros generate a chapter, section, etc. heading only
-% (including whitespace, linebreaking, etc. around it),
-% given all the information in convenient, parsed form.
-
-%%% Args are the skip and penalty (usually negative)
-\def\dobreak#1#2{\par\ifdim\lastskip<#1\removelastskip\penalty#2\vskip#1\fi}
-
-\def\setchapterstyle #1 {\csname CHAPF#1\endcsname}
-
-%%% Define plain chapter starts, and page on/off switching for it
-% Parameter controlling skip before chapter headings (if needed)
-
-\newskip \chapheadingskip \chapheadingskip = 30pt plus 8pt minus 4pt
-
-\def\chapbreak{\dobreak \chapheadingskip {-4000}}
-\def\chappager{\par\vfill\supereject}
-\def\chapoddpage{\chappager \ifodd\pageno \else \hbox to 0pt{} \chappager\fi}
-
-\def\setchapternewpage #1 {\csname CHAPPAG#1\endcsname}
-
-\def\CHAPPAGoff{
-\global\let\pchapsepmacro=\chapbreak
-\global\let\pagealignmacro=\chappager}
-
-\def\CHAPPAGon{
-\global\let\pchapsepmacro=\chappager
-\global\let\pagealignmacro=\chappager
-\global\def\HEADINGSon{\HEADINGSsingle}}
-
-\def\CHAPPAGodd{
-\global\let\pchapsepmacro=\chapoddpage
-\global\let\pagealignmacro=\chapoddpage
-\global\def\HEADINGSon{\HEADINGSdouble}}
-
-\CHAPPAGon
-
-\def\CHAPFplain{
-\global\let\chapmacro=\chfplain
-\global\let\unnumbchapmacro=\unnchfplain}
-
-\def\chfplain #1#2{%
- \pchapsepmacro
- {%
- \chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
- \parindent=0pt\raggedright
- \rm #2\enspace #1}%
- }%
- \bigskip
- \penalty5000
-}
-
-\def\unnchfplain #1{%
-\pchapsepmacro %
-{\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
- \parindent=0pt\raggedright
- \rm #1\hfill}}\bigskip \par\penalty 10000 %
-}
-\CHAPFplain % The default
-
-\def\unnchfopen #1{%
-\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
- \parindent=0pt\raggedright
- \rm #1\hfill}}\bigskip \par\penalty 10000 %
-}
-
-\def\chfopen #1#2{\chapoddpage {\chapfonts
-\vbox to 3in{\vfil \hbox to\hsize{\hfil #2} \hbox to\hsize{\hfil #1} \vfil}}%
-\par\penalty 5000 %
-}
-
-\def\CHAPFopen{
-\global\let\chapmacro=\chfopen
-\global\let\unnumbchapmacro=\unnchfopen}
-
-% Parameter controlling skip before section headings.
-
-\newskip \subsecheadingskip \subsecheadingskip = 17pt plus 8pt minus 4pt
-\def\subsecheadingbreak{\dobreak \subsecheadingskip {-500}}
-
-\newskip \secheadingskip \secheadingskip = 21pt plus 8pt minus 4pt
-\def\secheadingbreak{\dobreak \secheadingskip {-1000}}
-
-% @paragraphindent is defined for the Info formatting commands only.
-\let\paragraphindent=\comment
-
-% Section fonts are the base font at magstep2, which produces
-% a size a bit more than 14 points in the default situation.
-
-\def\secheading #1#2#3{\secheadingi {#2.#3\enspace #1}}
-\def\plainsecheading #1{\secheadingi {#1}}
-\def\secheadingi #1{{\advance \secheadingskip by \parskip %
-\secheadingbreak}%
-{\secfonts \vbox{\hyphenpenalty=10000\tolerance=5000
- \parindent=0pt\raggedright
- \rm #1\hfill}}%
-\ifdim \parskip<10pt \kern 10pt\kern -\parskip\fi \penalty 10000 }
-
-
-% Subsection fonts are the base font at magstep1,
-% which produces a size of 12 points.
-
-\def\subsecheading #1#2#3#4{\subsecheadingi {#2.#3.#4\enspace #1}}
-\def\subsecheadingi #1{{\advance \subsecheadingskip by \parskip %
-\subsecheadingbreak}%
-{\subsecfonts \vbox{\hyphenpenalty=10000\tolerance=5000
- \parindent=0pt\raggedright
- \rm #1\hfill}}%
-\ifdim \parskip<10pt \kern 10pt\kern -\parskip\fi \penalty 10000 }
-
-\def\subsubsecfonts{\subsecfonts} % Maybe this should change:
- % Perhaps make sssec fonts scaled
- % magstep half
-\def\subsubsecheading #1#2#3#4#5{\subsubsecheadingi {#2.#3.#4.#5\enspace #1}}
-\def\subsubsecheadingi #1{{\advance \subsecheadingskip by \parskip %
-\subsecheadingbreak}%
-{\subsubsecfonts \vbox{\hyphenpenalty=10000\tolerance=5000
- \parindent=0pt\raggedright
- \rm #1\hfill}}%
-\ifdim \parskip<10pt \kern 10pt\kern -\parskip\fi \penalty 10000}
-
-
-\message{toc printing,}
-
-% Finish up the main text and prepare to read what we've written
-% to \contentsfile.
-
-\newskip\contentsrightmargin \contentsrightmargin=1in
-\def\startcontents#1{%
- \pagealignmacro
- \immediate\closeout \contentsfile
- \ifnum \pageno>0
- \pageno = -1 % Request roman numbered pages.
- \fi
- % Don't need to put `Contents' or `Short Contents' in the headline.
- % It is abundantly clear what they are.
- \unnumbchapmacro{#1}\def\thischapter{}%
- \begingroup % Set up to handle contents files properly.
- \catcode`\\=0 \catcode`\{=1 \catcode`\}=2 \catcode`\@=11
- \raggedbottom % Worry more about breakpoints than the bottom.
- \advance\hsize by -\contentsrightmargin % Don't use the full line length.
-}
-
-
-% Normal (long) toc.
-\outer\def\contents{%
- \startcontents{\putwordTableofContents}%
- \input \jobname.toc
- \endgroup
- \vfill \eject
-}
-
-% And just the chapters.
-\outer\def\summarycontents{%
- \startcontents{\putwordShortContents}%
- %
- \let\chapentry = \shortchapentry
- \let\unnumbchapentry = \shortunnumberedentry
- % We want a true roman here for the page numbers.
- \secfonts
- \let\rm=\shortcontrm \let\bf=\shortcontbf \let\sl=\shortcontsl
- \rm
- \advance\baselineskip by 1pt % Open it up a little.
- \def\secentry ##1##2##3##4{}
- \def\unnumbsecentry ##1##2{}
- \def\subsecentry ##1##2##3##4##5{}
- \def\unnumbsubsecentry ##1##2{}
- \def\subsubsecentry ##1##2##3##4##5##6{}
- \def\unnumbsubsubsecentry ##1##2{}
- \input \jobname.toc
- \endgroup
- \vfill \eject
-}
-\let\shortcontents = \summarycontents
-
-% These macros generate individual entries in the table of contents.
-% The first argument is the chapter or section name.
-% The last argument is the page number.
-% The arguments in between are the chapter number, section number, ...
-
-% Chapter-level things, for both the long and short contents.
-\def\chapentry#1#2#3{\dochapentry{#2\labelspace#1}{#3}}
-
-% See comments in \dochapentry re vbox and related settings
-\def\shortchapentry#1#2#3{%
- \tocentry{\shortchaplabel{#2}\labelspace #1}{\doshortpageno{#3}}%
-}
-
-% Typeset the label for a chapter or appendix for the short contents.
-% The arg is, e.g. `Appendix A' for an appendix, or `3' for a chapter.
-% We could simplify the code here by writing out an \appendixentry
-% command in the toc file for appendices, instead of using \chapentry
-% for both, but it doesn't seem worth it.
-\setbox0 = \hbox{\shortcontrm \putwordAppendix }
-\newdimen\shortappendixwidth \shortappendixwidth = \wd0
-
-\def\shortchaplabel#1{%
- % We typeset #1 in a box of constant width, regardless of the text of
- % #1, so the chapter titles will come out aligned.
- \setbox0 = \hbox{#1}%
- \dimen0 = \ifdim\wd0 > \shortappendixwidth \shortappendixwidth \else 0pt \fi
- %
- % This space should be plenty, since a single number is .5em, and the
- % widest letter (M) is 1em, at least in the Computer Modern fonts.
- % (This space doesn't include the extra space that gets added after
- % the label; that gets put in in \shortchapentry above.)
- \advance\dimen0 by 1.1em
- \hbox to \dimen0{#1\hfil}%
-}
-
-\def\unnumbchapentry#1#2{\dochapentry{#1}{#2}}
-\def\shortunnumberedentry#1#2{\tocentry{#1}{\doshortpageno{#2}}}
-
-% Sections.
-\def\secentry#1#2#3#4{\dosecentry{#2.#3\labelspace#1}{#4}}
-\def\unnumbsecentry#1#2{\dosecentry{#1}{#2}}
-
-% Subsections.
-\def\subsecentry#1#2#3#4#5{\dosubsecentry{#2.#3.#4\labelspace#1}{#5}}
-\def\unnumbsubsecentry#1#2{\dosubsecentry{#1}{#2}}
-
-% And subsubsections.
-\def\subsubsecentry#1#2#3#4#5#6{%
- \dosubsubsecentry{#2.#3.#4.#5\labelspace#1}{#6}}
-\def\unnumbsubsubsecentry#1#2{\dosubsubsecentry{#1}{#2}}
-
-
-% This parameter controls the indentation of the various levels.
-\newdimen\tocindent \tocindent = 3pc
-
-% Now for the actual typesetting. In all these, #1 is the text and #2 is the
-% page number.
-%
-% If the toc has to be broken over pages, we would want to be at chapters
-% if at all possible; hence the \penalty.
-\def\dochapentry#1#2{%
- \penalty-300 \vskip\baselineskip
- \begingroup
- \chapentryfonts
- \tocentry{#1}{\dopageno{#2}}%
- \endgroup
- \nobreak\vskip .25\baselineskip
-}
-
-\def\dosecentry#1#2{\begingroup
- \secentryfonts \leftskip=\tocindent
- \tocentry{#1}{\dopageno{#2}}%
-\endgroup}
-
-\def\dosubsecentry#1#2{\begingroup
- \subsecentryfonts \leftskip=2\tocindent
- \tocentry{#1}{\dopageno{#2}}%
-\endgroup}
-
-\def\dosubsubsecentry#1#2{\begingroup
- \subsubsecentryfonts \leftskip=3\tocindent
- \tocentry{#1}{\dopageno{#2}}%
-\endgroup}
-
-% Final typesetting of a toc entry; we use the same \entry macro as for
-% the index entries, but we want to suppress hyphenation here. (We
-% can't do that in the \entry macro, since index entries might consist
-% of hyphenated-identifiers-that-do-not-fit-on-a-line-and-nothing-else.)
-%
-\def\tocentry#1#2{\begingroup
- \hyphenpenalty = 10000
- \entry{#1}{#2}%
-\endgroup}
-
-% Space between chapter (or whatever) number and the title.
-\def\labelspace{\hskip1em \relax}
-
-\def\dopageno#1{{\rm #1}}
-\def\doshortpageno#1{{\rm #1}}
-
-\def\chapentryfonts{\secfonts \rm}
-\def\secentryfonts{\textfonts}
-\let\subsecentryfonts = \textfonts
-\let\subsubsecentryfonts = \textfonts
-
-
-\message{environments,}
-
-% Since these characters are used in examples, it should be an even number of
-% \tt widths. Each \tt character is 1en, so two makes it 1em.
-% Furthermore, these definitions must come after we define our fonts.
-\newbox\dblarrowbox \newbox\longdblarrowbox
-\newbox\pushcharbox \newbox\bullbox
-\newbox\equivbox \newbox\errorbox
-
-\let\ptexequiv = \equiv
-
-%{\tentt
-%\global\setbox\dblarrowbox = \hbox to 1em{\hfil$\Rightarrow$\hfil}
-%\global\setbox\longdblarrowbox = \hbox to 1em{\hfil$\mapsto$\hfil}
-%\global\setbox\pushcharbox = \hbox to 1em{\hfil$\dashv$\hfil}
-%\global\setbox\equivbox = \hbox to 1em{\hfil$\ptexequiv$\hfil}
-% Adapted from the manmac format (p.420 of TeXbook)
-%\global\setbox\bullbox = \hbox to 1em{\kern.15em\vrule height .75ex width .85ex
-% depth .1ex\hfil}
-%}
-
-\def\point{$\star$}
-
-\def\result{\leavevmode\raise.15ex\hbox to 1em{\hfil$\Rightarrow$\hfil}}
-\def\expansion{\leavevmode\raise.1ex\hbox to 1em{\hfil$\mapsto$\hfil}}
-\def\print{\leavevmode\lower.1ex\hbox to 1em{\hfil$\dashv$\hfil}}
-
-\def\equiv{\leavevmode\lower.1ex\hbox to 1em{\hfil$\ptexequiv$\hfil}}
-
-% Adapted from the TeXbook's \boxit.
-{\tentt \global\dimen0 = 3em}% Width of the box.
-\dimen2 = .55pt % Thickness of rules
-% The text. (`r' is open on the right, `e' somewhat less so on the left.)
-\setbox0 = \hbox{\kern-.75pt \tensf error\kern-1.5pt}
-
-\global\setbox\errorbox=\hbox to \dimen0{\hfil
- \hsize = \dimen0 \advance\hsize by -5.8pt % Space to left+right.
- \advance\hsize by -2\dimen2 % Rules.
- \vbox{
- \hrule height\dimen2
- \hbox{\vrule width\dimen2 \kern3pt % Space to left of text.
- \vtop{\kern2.4pt \box0 \kern2.4pt}% Space above/below.
- \kern3pt\vrule width\dimen2}% Space to right.
- \hrule height\dimen2}
- \hfil}
-
-% The @error{} command.
-\def\error{\leavevmode\lower.7ex\copy\errorbox}
-
-% @tex ... @end tex escapes into raw Tex temporarily.
-% One exception: @ is still an escape character, so that @end tex works.
-% But \@ or @@ will get a plain tex @ character.
-
-\def\tex{\begingroup
-\catcode `\\=0 \catcode `\{=1 \catcode `\}=2
-\catcode `\$=3 \catcode `\&=4 \catcode `\#=6
-\catcode `\^=7 \catcode `\_=8 \catcode `\~=13 \let~=\tie
-\catcode `\%=14
-\catcode 43=12
-\catcode`\"=12
-\catcode`\==12
-\catcode`\|=12
-\catcode`\<=12
-\catcode`\>=12
-\escapechar=`\\
-%
-\let\~=\ptextilde
-\let\{=\ptexlbrace
-\let\}=\ptexrbrace
-\let\.=\ptexdot
-\let\*=\ptexstar
-\let\dots=\ptexdots
-\def\@{@}%
-\let\bullet=\ptexbullet
-\let\b=\ptexb \let\c=\ptexc \let\i=\ptexi \let\t=\ptext \let\l=\ptexl
-\let\L=\ptexL
-%
-\let\Etex=\endgroup}
-
-% Define @lisp ... @endlisp.
-% @lisp does a \begingroup so it can rebind things,
-% including the definition of @endlisp (which normally is erroneous).
-
-% Amount to narrow the margins by for @lisp.
-\newskip\lispnarrowing \lispnarrowing=0.4in
-
-% This is the definition that ^^M gets inside @lisp, @example, and other
-% such environments. \null is better than a space, since it doesn't
-% have any width.
-\def\lisppar{\null\endgraf}
-
-% Make each space character in the input produce a normal interword
-% space in the output. Don't allow a line break at this space, as this
-% is used only in environments like @example, where each line of input
-% should produce a line of output anyway.
-%
-{\obeyspaces %
-\gdef\sepspaces{\obeyspaces\let =\tie}}
-
-% Define \obeyedspace to be our active space, whatever it is. This is
-% for use in \parsearg.
-{\sepspaces%
-\global\let\obeyedspace= }
-
-% This space is always present above and below environments.
-\newskip\envskipamount \envskipamount = 0pt
-
-% Make spacing and below environment symmetrical. We use \parskip here
-% to help in doing that, since in @example-like environments \parskip
-% is reset to zero; thus the \afterenvbreak inserts no space -- but the
-% start of the next paragraph will insert \parskip
-%
-\def\aboveenvbreak{{\advance\envskipamount by \parskip
-\endgraf \ifdim\lastskip<\envskipamount
-\removelastskip \penalty-50 \vskip\envskipamount \fi}}
-
-\let\afterenvbreak = \aboveenvbreak
-
-% \nonarrowing is a flag. If "set", @lisp etc don't narrow margins.
-\let\nonarrowing=\relax
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \cartouche: draw rectangle w/rounded corners around argument
-\font\circle=lcircle10
-\newdimen\circthick
-\newdimen\cartouter\newdimen\cartinner
-\newskip\normbskip\newskip\normpskip\newskip\normlskip
-\circthick=\fontdimen8\circle
-%
-\def\ctl{{\circle\char'013\hskip -6pt}}% 6pt from pl file: 1/2charwidth
-\def\ctr{{\hskip 6pt\circle\char'010}}
-\def\cbl{{\circle\char'012\hskip -6pt}}
-\def\cbr{{\hskip 6pt\circle\char'011}}
-\def\carttop{\hbox to \cartouter{\hskip\lskip
- \ctl\leaders\hrule height\circthick\hfil\ctr
- \hskip\rskip}}
-\def\cartbot{\hbox to \cartouter{\hskip\lskip
- \cbl\leaders\hrule height\circthick\hfil\cbr
- \hskip\rskip}}
-%
-\newskip\lskip\newskip\rskip
-
-\long\def\cartouche{%
-\begingroup
- \lskip=\leftskip \rskip=\rightskip
- \leftskip=0pt\rightskip=0pt %we want these *outside*.
- \cartinner=\hsize \advance\cartinner by-\lskip
- \advance\cartinner by-\rskip
- \cartouter=\hsize
- \advance\cartouter by 18pt % allow for 3pt kerns on either
-% side, and for 6pt waste from
-% each corner char
- \normbskip=\baselineskip \normpskip=\parskip \normlskip=\lineskip
- % Flag to tell @lisp, etc., not to narrow margin.
- \let\nonarrowing=\comment
- \vbox\bgroup
- \baselineskip=0pt\parskip=0pt\lineskip=0pt
- \carttop
- \hbox\bgroup
- \hskip\lskip
- \vrule\kern3pt
- \vbox\bgroup
- \hsize=\cartinner
- \kern3pt
- \begingroup
- \baselineskip=\normbskip
- \lineskip=\normlskip
- \parskip=\normpskip
- \vskip -\parskip
-\def\Ecartouche{%
- \endgroup
- \kern3pt
- \egroup
- \kern3pt\vrule
- \hskip\rskip
- \egroup
- \cartbot
- \egroup
-\endgroup
-}}
-
-
-% This macro is called at the beginning of all the @example variants,
-% inside a group.
-\def\nonfillstart{%
- \aboveenvbreak
- \inENV % This group ends at the end of the body
- \hfuzz = 12pt % Don't be fussy
- \sepspaces % Make spaces be word-separators rather than space tokens.
- \singlespace
- \let\par = \lisppar % don't ignore blank lines
- \obeylines % each line of input is a line of output
- \parskip = 0pt
- \parindent = 0pt
- \emergencystretch = 0pt % don't try to avoid overfull boxes
- % @cartouche defines \nonarrowing to inhibit narrowing
- % at next level down.
- \ifx\nonarrowing\relax
- \advance \leftskip by \lispnarrowing
- \exdentamount=\lispnarrowing
- \let\exdent=\nofillexdent
- \let\nonarrowing=\relax
- \fi
-}
-
-% To ending an @example-like environment, we first end the paragraph
-% (via \afterenvbreak's vertical glue), and then the group. That way we
-% keep the zero \parskip that the environments set -- \parskip glue
-% will be inserted at the beginning of the next paragraph in the
-% document, after the environment.
-%
-\def\nonfillfinish{\afterenvbreak\endgroup}%
-
-% This macro is
-\def\lisp{\begingroup
- \nonfillstart
- \let\Elisp = \nonfillfinish
- \tt
- \rawbackslash % have \ input char produce \ char from current font
- \gobble
-}
-
-% Define the \E... control sequence only if we are inside the
-% environment, so the error checking in \end will work.
-%
-% We must call \lisp last in the definition, since it reads the
-% return following the @example (or whatever) command.
-%
-\def\example{\begingroup \def\Eexample{\nonfillfinish\endgroup}\lisp}
-\def\smallexample{\begingroup \def\Esmallexample{\nonfillfinish\endgroup}\lisp}
-\def\smalllisp{\begingroup \def\Esmalllisp{\nonfillfinish\endgroup}\lisp}
-
-% @smallexample and @smalllisp. This is not used unless the @smallbook
-% command is given. Originally contributed by Pavel@xerox.
-%
-\def\smalllispx{\begingroup
- \nonfillstart
- \let\Esmalllisp = \nonfillfinish
- \let\Esmallexample = \nonfillfinish
- %
- % Smaller interline space and fonts for small examples.
- \setleading{10pt}%
- \indexfonts \tt
- \rawbackslash % make \ output the \ character from the current font (tt)
- \gobble
-}
-
-% This is @display; same as @lisp except use roman font.
-%
-\def\display{\begingroup
- \nonfillstart
- \let\Edisplay = \nonfillfinish
- \gobble
-}
-
-% This is @format; same as @display except don't narrow margins.
-%
-\def\format{\begingroup
- \let\nonarrowing = t
- \nonfillstart
- \let\Eformat = \nonfillfinish
- \gobble
-}
-
-% @flushleft (same as @format) and @flushright.
-%
-\def\flushleft{\begingroup
- \let\nonarrowing = t
- \nonfillstart
- \let\Eflushleft = \nonfillfinish
- \gobble
-}
-\def\flushright{\begingroup
- \let\nonarrowing = t
- \nonfillstart
- \let\Eflushright = \nonfillfinish
- \advance\leftskip by 0pt plus 1fill
- \gobble}
-
-% @quotation does normal linebreaking (hence we can't use \nonfillstart)
-% and narrows the margins.
-%
-\def\quotation{%
- \begingroup\inENV %This group ends at the end of the @quotation body
- {\parskip=0pt \aboveenvbreak}% because \aboveenvbreak inserts \parskip
- \singlespace
- \parindent=0pt
- % We have retained a nonzero parskip for the environment, since we're
- % doing normal filling. So to avoid extra space below the environment...
- \def\Equotation{\parskip = 0pt \nonfillfinish}%
- %
- % @cartouche defines \nonarrowing to inhibit narrowing at next level down.
- \ifx\nonarrowing\relax
- \advance\leftskip by \lispnarrowing
- \advance\rightskip by \lispnarrowing
- \exdentamount = \lispnarrowing
- \let\nonarrowing = \relax
- \fi
-}
-
-\message{defuns,}
-% Define formatter for defuns
-% First, allow user to change definition object font (\df) internally
-\def\setdeffont #1 {\csname DEF#1\endcsname}
-
-\newskip\defbodyindent \defbodyindent=.4in
-\newskip\defargsindent \defargsindent=50pt
-\newskip\deftypemargin \deftypemargin=12pt
-\newskip\deflastargmargin \deflastargmargin=18pt
-
-\newcount\parencount
-% define \functionparens, which makes ( and ) and & do special things.
-% \functionparens affects the group it is contained in.
-\def\activeparens{%
-\catcode`\(=\active \catcode`\)=\active \catcode`\&=\active
-\catcode`\[=\active \catcode`\]=\active}
-
-% Make control sequences which act like normal parenthesis chars.
-\let\lparen = ( \let\rparen = )
-
-{\activeparens % Now, smart parens don't turn on until &foo (see \amprm)
-
-% Be sure that we always have a definition for `(', etc. For example,
-% if the fn name has parens in it, \boldbrax will not be in effect yet,
-% so TeX would otherwise complain about undefined control sequence.
-\global\let(=\lparen \global\let)=\rparen
-\global\let[=\lbrack \global\let]=\rbrack
-
-\gdef\functionparens{\boldbrax\let&=\amprm\parencount=0 }
-\gdef\boldbrax{\let(=\opnr\let)=\clnr\let[=\lbrb\let]=\rbrb}
-
-% Definitions of (, ) and & used in args for functions.
-% This is the definition of ( outside of all parentheses.
-\gdef\oprm#1 {{\rm\char`\(}#1 \bf \let(=\opnested %
-\global\advance\parencount by 1 }
-%
-% This is the definition of ( when already inside a level of parens.
-\gdef\opnested{\char`\(\global\advance\parencount by 1 }
-%
-\gdef\clrm{% Print a paren in roman if it is taking us back to depth of 0.
-% also in that case restore the outer-level definition of (.
-\ifnum \parencount=1 {\rm \char `\)}\sl \let(=\oprm \else \char `\) \fi
-\global\advance \parencount by -1 }
-% If we encounter &foo, then turn on ()-hacking afterwards
-\gdef\amprm#1 {{\rm\&#1}\let(=\oprm \let)=\clrm\ }
-%
-\gdef\normalparens{\boldbrax\let&=\ampnr}
-} % End of definition inside \activeparens
-%% These parens (in \boldbrax) actually are a little bolder than the
-%% contained text. This is especially needed for [ and ]
-\def\opnr{{\sf\char`\(}} \def\clnr{{\sf\char`\)}} \def\ampnr{\&}
-\def\lbrb{{\bf\char`\[}} \def\rbrb{{\bf\char`\]}}
-
-% First, defname, which formats the header line itself.
-% #1 should be the function name.
-% #2 should be the type of definition, such as "Function".
-
-\def\defname #1#2{%
-% Get the values of \leftskip and \rightskip as they were
-% outside the @def...
-\dimen2=\leftskip
-\advance\dimen2 by -\defbodyindent
-\dimen3=\rightskip
-\advance\dimen3 by -\defbodyindent
-\noindent %
-\setbox0=\hbox{\hskip \deflastargmargin{\rm #2}\hskip \deftypemargin}%
-\dimen0=\hsize \advance \dimen0 by -\wd0 % compute size for first line
-\dimen1=\hsize \advance \dimen1 by -\defargsindent %size for continuations
-\parshape 2 0in \dimen0 \defargsindent \dimen1 %
-% Now output arg 2 ("Function" or some such)
-% ending at \deftypemargin from the right margin,
-% but stuck inside a box of width 0 so it does not interfere with linebreaking
-{% Adjust \hsize to exclude the ambient margins,
-% so that \rightline will obey them.
-\advance \hsize by -\dimen2 \advance \hsize by -\dimen3
-\rlap{\rightline{{\rm #2}\hskip \deftypemargin}}}%
-% Make all lines underfull and no complaints:
-\tolerance=10000 \hbadness=10000
-\advance\leftskip by -\defbodyindent
-\exdentamount=\defbodyindent
-{\df #1}\enskip % Generate function name
-}
-
-% Actually process the body of a definition
-% #1 should be the terminating control sequence, such as \Edefun.
-% #2 should be the "another name" control sequence, such as \defunx.
-% #3 should be the control sequence that actually processes the header,
-% such as \defunheader.
-
-\def\defparsebody #1#2#3{\begingroup\inENV% Environment for definitionbody
-\medbreak %
-% Define the end token that this defining construct specifies
-% so that it will exit this group.
-\def#1{\endgraf\endgroup\medbreak}%
-\def#2{\begingroup\obeylines\activeparens\spacesplit#3}%
-\parindent=0in
-\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindent
-\exdentamount=\defbodyindent
-\begingroup %
-\catcode 61=\active % 61 is `='
-\obeylines\activeparens\spacesplit#3}
-
-\def\defmethparsebody #1#2#3#4 {\begingroup\inENV %
-\medbreak %
-% Define the end token that this defining construct specifies
-% so that it will exit this group.
-\def#1{\endgraf\endgroup\medbreak}%
-\def#2##1 {\begingroup\obeylines\activeparens\spacesplit{#3{##1}}}%
-\parindent=0in
-\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindent
-\exdentamount=\defbodyindent
-\begingroup\obeylines\activeparens\spacesplit{#3{#4}}}
-
-\def\defopparsebody #1#2#3#4#5 {\begingroup\inENV %
-\medbreak %
-% Define the end token that this defining construct specifies
-% so that it will exit this group.
-\def#1{\endgraf\endgroup\medbreak}%
-\def#2##1 ##2 {\def#4{##1}%
-\begingroup\obeylines\activeparens\spacesplit{#3{##2}}}%
-\parindent=0in
-\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindent
-\exdentamount=\defbodyindent
-\begingroup\obeylines\activeparens\spacesplit{#3{#5}}}
-
-% These parsing functions are similar to the preceding ones
-% except that they do not make parens into active characters.
-% These are used for "variables" since they have no arguments.
-
-\def\defvarparsebody #1#2#3{\begingroup\inENV% Environment for definitionbody
-\medbreak %
-% Define the end token that this defining construct specifies
-% so that it will exit this group.
-\def#1{\endgraf\endgroup\medbreak}%
-\def#2{\begingroup\obeylines\spacesplit#3}%
-\parindent=0in
-\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindent
-\exdentamount=\defbodyindent
-\begingroup %
-\catcode 61=\active %
-\obeylines\spacesplit#3}
-
-% This is used for \def{tp,vr}parsebody. It could probably be used for
-% some of the others, too, with some judicious conditionals.
-%
-\def\parsebodycommon#1#2#3{%
- \begingroup\inENV %
- \medbreak %
- % Define the end token that this defining construct specifies
- % so that it will exit this group.
- \def#1{\endgraf\endgroup\medbreak}%
- \def#2##1 {\begingroup\obeylines\spacesplit{#3{##1}}}%
- \parindent=0in
- \advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindent
- \exdentamount=\defbodyindent
- \begingroup\obeylines
-}
-
-\def\defvrparsebody#1#2#3#4 {%
- \parsebodycommon{#1}{#2}{#3}%
- \spacesplit{#3{#4}}%
-}
-
-% This loses on `@deftp {Data Type} {struct termios}' -- it thinks the
-% type is just `struct', because we lose the braces in `{struct
-% termios}' when \spacesplit reads its undelimited argument. Sigh.
-% \let\deftpparsebody=\defvrparsebody
-%
-% So, to get around this, we put \empty in with the type name. That
-% way, TeX won't find exactly `{...}' as an undelimited argument, and
-% won't strip off the braces.
-%
-\def\deftpparsebody #1#2#3#4 {%
- \parsebodycommon{#1}{#2}{#3}%
- \spacesplit{\parsetpheaderline{#3{#4}}}\empty
-}
-
-% Fine, but then we have to eventually remove the \empty *and* the
-% braces (if any). That's what this does, putting the result in \tptemp.
-%
-\def\removeemptybraces\empty#1\relax{\def\tptemp{#1}}%
-
-% After \spacesplit has done its work, this is called -- #1 is the final
-% thing to call, #2 the type name (which starts with \empty), and #3
-% (which might be empty) the arguments.
-%
-\def\parsetpheaderline#1#2#3{%
- \removeemptybraces#2\relax
- #1{\tptemp}{#3}%
-}%
-
-\def\defopvarparsebody #1#2#3#4#5 {\begingroup\inENV %
-\medbreak %
-% Define the end token that this defining construct specifies
-% so that it will exit this group.
-\def#1{\endgraf\endgroup\medbreak}%
-\def#2##1 ##2 {\def#4{##1}%
-\begingroup\obeylines\spacesplit{#3{##2}}}%
-\parindent=0in
-\advance\leftskip by \defbodyindent \advance \rightskip by \defbodyindent
-\exdentamount=\defbodyindent
-\begingroup\obeylines\spacesplit{#3{#5}}}
-
-% Split up #2 at the first space token.
-% call #1 with two arguments:
-% the first is all of #2 before the space token,
-% the second is all of #2 after that space token.
-% If #2 contains no space token, all of it is passed as the first arg
-% and the second is passed as empty.
-
-{\obeylines
-\gdef\spacesplit#1#2^^M{\endgroup\spacesplitfoo{#1}#2 \relax\spacesplitfoo}%
-\long\gdef\spacesplitfoo#1#2 #3#4\spacesplitfoo{%
-\ifx\relax #3%
-#1{#2}{}\else #1{#2}{#3#4}\fi}}
-
-% So much for the things common to all kinds of definitions.
-
-% Define @defun.
-
-% First, define the processing that is wanted for arguments of \defun
-% Use this to expand the args and terminate the paragraph they make up
-
-\def\defunargs #1{\functionparens \sl
-% Expand, preventing hyphenation at `-' chars.
-% Note that groups don't affect changes in \hyphenchar.
-\hyphenchar\tensl=0
-#1%
-\hyphenchar\tensl=45
-\ifnum\parencount=0 \else \errmessage{unbalanced parens in @def arguments}\fi%
-\interlinepenalty=10000
-\advance\rightskip by 0pt plus 1fil
-\endgraf\penalty 10000\vskip -\parskip\penalty 10000%
-}
-
-\def\deftypefunargs #1{%
-% Expand, preventing hyphenation at `-' chars.
-% Note that groups don't affect changes in \hyphenchar.
-\functionparens
-\tclose{#1}% avoid \code because of side effects on active chars
-\interlinepenalty=10000
-\advance\rightskip by 0pt plus 1fil
-\endgraf\penalty 10000\vskip -\parskip\penalty 10000%
-}
-
-% Do complete processing of one @defun or @defunx line already parsed.
-
-% @deffn Command forward-char nchars
-
-\def\deffn{\defmethparsebody\Edeffn\deffnx\deffnheader}
-
-\def\deffnheader #1#2#3{\doind {fn}{\code{#2}}%
-\begingroup\defname {#2}{#1}\defunargs{#3}\endgroup %
-\catcode 61=\other % Turn off change made in \defparsebody
-}
-
-% @defun == @deffn Function
-
-\def\defun{\defparsebody\Edefun\defunx\defunheader}
-
-\def\defunheader #1#2{\doind {fn}{\code{#1}}% Make entry in function index
-\begingroup\defname {#1}{Function}%
-\defunargs {#2}\endgroup %
-\catcode 61=\other % Turn off change made in \defparsebody
-}
-
-% @deftypefun int foobar (int @var{foo}, float @var{bar})
-
-\def\deftypefun{\defparsebody\Edeftypefun\deftypefunx\deftypefunheader}
-
-% #1 is the data type. #2 is the name and args.
-\def\deftypefunheader #1#2{\deftypefunheaderx{#1}#2 \relax}
-% #1 is the data type, #2 the name, #3 the args.
-\def\deftypefunheaderx #1#2 #3\relax{%
-\doind {fn}{\code{#2}}% Make entry in function index
-\begingroup\defname {\defheaderxcond#1\relax$$$#2}{Function}%
-\deftypefunargs {#3}\endgroup %
-\catcode 61=\other % Turn off change made in \defparsebody
-}
-
-% @deftypefn {Library Function} int foobar (int @var{foo}, float @var{bar})
-
-\def\deftypefn{\defmethparsebody\Edeftypefn\deftypefnx\deftypefnheader}
-
-% \defheaderxcond#1\relax$$$
-% puts #1 in @code, followed by a space, but does nothing if #1 is null.
-\def\defheaderxcond#1#2$$${\ifx#1\relax\else\code{#1#2} \fi}
-
-% #1 is the classification. #2 is the data type. #3 is the name and args.
-\def\deftypefnheader #1#2#3{\deftypefnheaderx{#1}{#2}#3 \relax}
-% #1 is the classification, #2 the data type, #3 the name, #4 the args.
-\def\deftypefnheaderx #1#2#3 #4\relax{%
-\doind {fn}{\code{#3}}% Make entry in function index
-\begingroup
-\normalparens % notably, turn off `&' magic, which prevents
-% at least some C++ text from working
-\defname {\defheaderxcond#2\relax$$$#3}{#1}%
-\deftypefunargs {#4}\endgroup %
-\catcode 61=\other % Turn off change made in \defparsebody
-}
-
-% @defmac == @deffn Macro
-
-\def\defmac{\defparsebody\Edefmac\defmacx\defmacheader}
-
-\def\defmacheader #1#2{\doind {fn}{\code{#1}}% Make entry in function index
-\begingroup\defname {#1}{Macro}%
-\defunargs {#2}\endgroup %
-\catcode 61=\other % Turn off change made in \defparsebody
-}
-
-% @defspec == @deffn Special Form
-
-\def\defspec{\defparsebody\Edefspec\defspecx\defspecheader}
-
-\def\defspecheader #1#2{\doind {fn}{\code{#1}}% Make entry in function index
-\begingroup\defname {#1}{Special Form}%
-\defunargs {#2}\endgroup %
-\catcode 61=\other % Turn off change made in \defparsebody
-}
-
-% This definition is run if you use @defunx
-% anywhere other than immediately after a @defun or @defunx.
-
-\def\deffnx #1 {\errmessage{@deffnx in invalid context}}
-\def\defunx #1 {\errmessage{@defunx in invalid context}}
-\def\defmacx #1 {\errmessage{@defmacx in invalid context}}
-\def\defspecx #1 {\errmessage{@defspecx in invalid context}}
-\def\deftypefnx #1 {\errmessage{@deftypefnx in invalid context}}
-\def\deftypeunx #1 {\errmessage{@deftypeunx in invalid context}}
-
-% @defmethod, and so on
-
-% @defop {Funny Method} foo-class frobnicate argument
-
-\def\defop #1 {\def\defoptype{#1}%
-\defopparsebody\Edefop\defopx\defopheader\defoptype}
-
-\def\defopheader #1#2#3{%
-\dosubind {fn}{\code{#2}}{on #1}% Make entry in function index
-\begingroup\defname {#2}{\defoptype{} on #1}%
-\defunargs {#3}\endgroup %
-}
-
-% @defmethod == @defop Method
-
-\def\defmethod{\defmethparsebody\Edefmethod\defmethodx\defmethodheader}
-
-\def\defmethodheader #1#2#3{%
-\dosubind {fn}{\code{#2}}{on #1}% entry in function index
-\begingroup\defname {#2}{Method on #1}%
-\defunargs {#3}\endgroup %
-}
-
-% @defcv {Class Option} foo-class foo-flag
-
-\def\defcv #1 {\def\defcvtype{#1}%
-\defopvarparsebody\Edefcv\defcvx\defcvarheader\defcvtype}
-
-\def\defcvarheader #1#2#3{%
-\dosubind {vr}{\code{#2}}{of #1}% Make entry in var index
-\begingroup\defname {#2}{\defcvtype{} of #1}%
-\defvarargs {#3}\endgroup %
-}
-
-% @defivar == @defcv {Instance Variable}
-
-\def\defivar{\defvrparsebody\Edefivar\defivarx\defivarheader}
-
-\def\defivarheader #1#2#3{%
-\dosubind {vr}{\code{#2}}{of #1}% Make entry in var index
-\begingroup\defname {#2}{Instance Variable of #1}%
-\defvarargs {#3}\endgroup %
-}
-
-% These definitions are run if you use @defmethodx, etc.,
-% anywhere other than immediately after a @defmethod, etc.
-
-\def\defopx #1 {\errmessage{@defopx in invalid context}}
-\def\defmethodx #1 {\errmessage{@defmethodx in invalid context}}
-\def\defcvx #1 {\errmessage{@defcvx in invalid context}}
-\def\defivarx #1 {\errmessage{@defivarx in invalid context}}
-
-% Now @defvar
-
-% First, define the processing that is wanted for arguments of @defvar.
-% This is actually simple: just print them in roman.
-% This must expand the args and terminate the paragraph they make up
-\def\defvarargs #1{\normalparens #1%
-\interlinepenalty=10000
-\endgraf\penalty 10000\vskip -\parskip\penalty 10000}
-
-% @defvr Counter foo-count
-
-\def\defvr{\defvrparsebody\Edefvr\defvrx\defvrheader}
-
-\def\defvrheader #1#2#3{\doind {vr}{\code{#2}}%
-\begingroup\defname {#2}{#1}\defvarargs{#3}\endgroup}
-
-% @defvar == @defvr Variable
-
-\def\defvar{\defvarparsebody\Edefvar\defvarx\defvarheader}
-
-\def\defvarheader #1#2{\doind {vr}{\code{#1}}% Make entry in var index
-\begingroup\defname {#1}{Variable}%
-\defvarargs {#2}\endgroup %
-}
-
-% @defopt == @defvr {User Option}
-
-\def\defopt{\defvarparsebody\Edefopt\defoptx\defoptheader}
-
-\def\defoptheader #1#2{\doind {vr}{\code{#1}}% Make entry in var index
-\begingroup\defname {#1}{User Option}%
-\defvarargs {#2}\endgroup %
-}
-
-% @deftypevar int foobar
-
-\def\deftypevar{\defvarparsebody\Edeftypevar\deftypevarx\deftypevarheader}
-
-% #1 is the data type. #2 is the name.
-\def\deftypevarheader #1#2{%
-\doind {vr}{\code{#2}}% Make entry in variables index
-\begingroup\defname {\defheaderxcond#1\relax$$$#2}{Variable}%
-\interlinepenalty=10000
-\endgraf\penalty 10000\vskip -\parskip\penalty 10000
-\endgroup}
-
-% @deftypevr {Global Flag} int enable
-
-\def\deftypevr{\defvrparsebody\Edeftypevr\deftypevrx\deftypevrheader}
-
-\def\deftypevrheader #1#2#3{\doind {vr}{\code{#3}}%
-\begingroup\defname {\defheaderxcond#2\relax$$$#3}{#1}
-\interlinepenalty=10000
-\endgraf\penalty 10000\vskip -\parskip\penalty 10000
-\endgroup}
-
-% This definition is run if you use @defvarx
-% anywhere other than immediately after a @defvar or @defvarx.
-
-\def\defvrx #1 {\errmessage{@defvrx in invalid context}}
-\def\defvarx #1 {\errmessage{@defvarx in invalid context}}
-\def\defoptx #1 {\errmessage{@defoptx in invalid context}}
-\def\deftypevarx #1 {\errmessage{@deftypevarx in invalid context}}
-\def\deftypevrx #1 {\errmessage{@deftypevrx in invalid context}}
-
-% Now define @deftp
-% Args are printed in bold, a slight difference from @defvar.
-
-\def\deftpargs #1{\bf \defvarargs{#1}}
-
-% @deftp Class window height width ...
-
-\def\deftp{\deftpparsebody\Edeftp\deftpx\deftpheader}
-
-\def\deftpheader #1#2#3{\doind {tp}{\code{#2}}%
-\begingroup\defname {#2}{#1}\deftpargs{#3}\endgroup}
-
-% This definition is run if you use @deftpx, etc
-% anywhere other than immediately after a @deftp, etc.
-
-\def\deftpx #1 {\errmessage{@deftpx in invalid context}}
-
-\message{cross reference,}
-% Define cross-reference macros
-\newwrite \auxfile
-
-\newif\ifhavexrefs % True if xref values are known.
-\newif\ifwarnedxrefs % True if we warned once that they aren't known.
-
-% \setref{foo} defines a cross-reference point named foo.
-
-\def\setref#1{%
-\dosetq{#1-title}{Ytitle}%
-\dosetq{#1-pg}{Ypagenumber}%
-\dosetq{#1-snt}{Ysectionnumberandtype}}
-
-\def\unnumbsetref#1{%
-\dosetq{#1-title}{Ytitle}%
-\dosetq{#1-pg}{Ypagenumber}%
-\dosetq{#1-snt}{Ynothing}}
-
-\def\appendixsetref#1{%
-\dosetq{#1-title}{Ytitle}%
-\dosetq{#1-pg}{Ypagenumber}%
-\dosetq{#1-snt}{Yappendixletterandtype}}
-
-% \xref, \pxref, and \ref generate cross-references to specified points.
-% For \xrefX, #1 is the node name, #2 the name of the Info
-% cross-reference, #3 the printed node name, #4 the name of the Info
-% file, #5 the name of the printed manual. All but the node name can be
-% omitted.
-%
-\def\pxref#1{\putwordsee{} \xrefX[#1,,,,,,,]}
-\def\xref#1{\putwordSee{} \xrefX[#1,,,,,,,]}
-\def\ref#1{\xrefX[#1,,,,,,,]}
-\def\xrefX[#1,#2,#3,#4,#5,#6]{\begingroup
- \def\printedmanual{\ignorespaces #5}%
- \def\printednodename{\ignorespaces #3}%
- \setbox1=\hbox{\printedmanual}%
- \setbox0=\hbox{\printednodename}%
- \ifdim \wd0 = 0pt
- % No printed node name was explicitly given.
- \ifx\SETxref-automatic-section-title\relax %
- % Use the actual chapter/section title appear inside
- % the square brackets. Use the real section title if we have it.
- \ifdim \wd1>0pt%
- % It is in another manual, so we don't have it.
- \def\printednodename{\ignorespaces #1}%
- \else
- \ifhavexrefs
- % We know the real title if we have the xref values.
- \def\printednodename{\refx{#1-title}}%
- \else
- % Otherwise just copy the Info node name.
- \def\printednodename{\ignorespaces #1}%
- \fi%
- \fi
- \def\printednodename{#1-title}%
- \else
- % Use the node name inside the square brackets.
- \def\printednodename{\ignorespaces #1}%
- \fi
- \fi
- %
- % If we use \unhbox0 and \unhbox1 to print the node names, TeX does not
- % insert empty discretionaries after hyphens, which means that it will
- % not find a line break at a hyphen in a node names. Since some manuals
- % are best written with fairly long node names, containing hyphens, this
- % is a loss. Therefore, we give the text of the node name again, so it
- % is as if TeX is seeing it for the first time.
- \ifdim \wd1 > 0pt
- \putwordsection{} ``\printednodename'' in \cite{\printedmanual}%
- \else
- % _ (for example) has to be the character _ for the purposes of the
- % control sequence corresponding to the node, but it has to expand
- % into the usual \leavevmode...\vrule stuff for purposes of
- % printing. So we \turnoffactive for the \refx-snt, back on for the
- % printing, back off for the \refx-pg.
- {\turnoffactive \refx{#1-snt}{}}%
- \space [\printednodename],\space
- \turnoffactive \putwordpage\tie\refx{#1-pg}{}%
- \fi
-\endgroup}
-
-% \dosetq is the interface for calls from other macros
-
-% Use \turnoffactive so that punctuation chars such as underscore
-% work in node names.
-\def\dosetq #1#2{{\let\folio=0 \turnoffactive%
-\edef\next{\write\auxfile{\internalsetq {#1}{#2}}}%
-\next}}
-
-% \internalsetq {foo}{page} expands into
-% CHARACTERS 'xrdef {foo}{...expansion of \Ypage...}
-% When the aux file is read, ' is the escape character
-
-\def\internalsetq #1#2{'xrdef {#1}{\csname #2\endcsname}}
-
-% Things to be expanded by \internalsetq
-
-\def\Ypagenumber{\folio}
-
-\def\Ytitle{\thissection}
-
-\def\Ynothing{}
-
-\def\Ysectionnumberandtype{%
-\ifnum\secno=0 \putwordChapter\xreftie\the\chapno %
-\else \ifnum \subsecno=0 \putwordSection\xreftie\the\chapno.\the\secno %
-\else \ifnum \subsubsecno=0 %
-\putwordSection\xreftie\the\chapno.\the\secno.\the\subsecno %
-\else %
-\putwordSection\xreftie\the\chapno.\the\secno.\the\subsecno.\the\subsubsecno %
-\fi \fi \fi }
-
-\def\Yappendixletterandtype{%
-\ifnum\secno=0 \putwordAppendix\xreftie'char\the\appendixno{}%
-\else \ifnum \subsecno=0 \putwordSection\xreftie'char\the\appendixno.\the\secno %
-\else \ifnum \subsubsecno=0 %
-\putwordSection\xreftie'char\the\appendixno.\the\secno.\the\subsecno %
-\else %
-\putwordSection\xreftie'char\the\appendixno.\the\secno.\the\subsecno.\the\subsubsecno %
-\fi \fi \fi }
-
-\gdef\xreftie{'tie}
-
-% Use TeX 3.0's \inputlineno to get the line number, for better error
-% messages, but if we're using an old version of TeX, don't do anything.
-%
-\ifx\inputlineno\thisisundefined
- \let\linenumber = \empty % Non-3.0.
-\else
- \def\linenumber{\the\inputlineno:\space}
-\fi
-
-% Define \refx{NAME}{SUFFIX} to reference a cross-reference string named NAME.
-% If its value is nonempty, SUFFIX is output afterward.
-
-\def\refx#1#2{%
- \expandafter\ifx\csname X#1\endcsname\relax
- % If not defined, say something at least.
- $\langle$un\-de\-fined$\rangle$%
- \ifhavexrefs
- \message{\linenumber Undefined cross reference `#1'.}%
- \else
- \ifwarnedxrefs\else
- \global\warnedxrefstrue
- \message{Cross reference values unknown; you must run TeX again.}%
- \fi
- \fi
- \else
- % It's defined, so just use it.
- \csname X#1\endcsname
- \fi
- #2% Output the suffix in any case.
-}
-
-% Read the last existing aux file, if any. No error if none exists.
-
-% This is the macro invoked by entries in the aux file.
-\def\xrdef #1#2{
-{\catcode`\'=\other\expandafter \gdef \csname X#1\endcsname {#2}}}
-
-\def\readauxfile{%
-\begingroup
-\catcode `\^^@=\other
-\catcode `\=\other
-\catcode `\=\other
-\catcode `\^^C=\other
-\catcode `\^^D=\other
-\catcode `\^^E=\other
-\catcode `\^^F=\other
-\catcode `\^^G=\other
-\catcode `\^^H=\other
-\catcode `\ =\other
-\catcode `\^^L=\other
-\catcode `\=\other
-\catcode `\=\other
-\catcode `\=\other
-\catcode `\=\other
-\catcode `\=\other
-\catcode `\=\other
-\catcode `\=\other
-\catcode `\=\other
-\catcode `\=\other
-\catcode `\=\other
-\catcode `\=\other
-\catcode `\=\other
-\catcode 26=\other
-\catcode `\^^[=\other
-\catcode `\^^\=\other
-\catcode `\^^]=\other
-\catcode `\^^^=\other
-\catcode `\^^_=\other
-\catcode `\@=\other
-\catcode `\^=\other
-\catcode `\~=\other
-\catcode `\[=\other
-\catcode `\]=\other
-\catcode`\"=\other
-\catcode`\_=\other
-\catcode`\|=\other
-\catcode`\<=\other
-\catcode`\>=\other
-\catcode `\$=\other
-\catcode `\#=\other
-\catcode `\&=\other
-% `\+ does not work, so use 43.
-\catcode 43=\other
-% Make the characters 128-255 be printing characters
-{%
- \count 1=128
- \def\loop{%
- \catcode\count 1=\other
- \advance\count 1 by 1
- \ifnum \count 1<256 \loop \fi
- }%
-}%
-% the aux file uses ' as the escape.
-% Turn off \ as an escape so we do not lose on
-% entries which were dumped with control sequences in their names.
-% For example, 'xrdef {$\leq $-fun}{page ...} made by @defun ^^
-% Reference to such entries still does not work the way one would wish,
-% but at least they do not bomb out when the aux file is read in.
-\catcode `\{=1 \catcode `\}=2
-\catcode `\%=\other
-\catcode `\'=0
-\catcode `\\=\other
-\openin 1 \jobname.aux
-\ifeof 1 \else \closein 1 \input \jobname.aux \global\havexrefstrue
-\global\warnedobstrue
-\fi
-% Open the new aux file. Tex will close it automatically at exit.
-\openout \auxfile=\jobname.aux
-\endgroup}
-
-
-% Footnotes.
-
-\newcount \footnoteno
-
-% The trailing space in the following definition for supereject is
-% vital for proper filling; pages come out unaligned when you do a
-% pagealignmacro call if that space before the closing brace is
-% removed.
-\def\supereject{\par\penalty -20000\footnoteno =0 }
-
-% @footnotestyle is meaningful for info output only..
-\let\footnotestyle=\comment
-
-\let\ptexfootnote=\footnote
-
-{\catcode `\@=11
-%
-% Auto-number footnotes. Otherwise like plain.
-\gdef\footnote{%
- \global\advance\footnoteno by \@ne
- \edef\thisfootno{$^{\the\footnoteno}$}%
- %
- % In case the footnote comes at the end of a sentence, preserve the
- % extra spacing after we do the footnote number.
- \let\@sf\empty
- \ifhmode\edef\@sf{\spacefactor\the\spacefactor}\/\fi
- %
- % Remove inadvertent blank space before typesetting the footnote number.
- \unskip
- \thisfootno\@sf
- \footnotezzz
-}%
-
-% Don't bother with the trickery in plain.tex to not require the
-% footnote text as a parameter. Our footnotes don't need to be so general.
-%
-\long\gdef\footnotezzz#1{\insert\footins{%
- % We want to typeset this text as a normal paragraph, even if the
- % footnote reference occurs in (for example) a display environment.
- % So reset some parameters.
- \interlinepenalty\interfootnotelinepenalty
- \splittopskip\ht\strutbox % top baseline for broken footnotes
- \splitmaxdepth\dp\strutbox
- \floatingpenalty\@MM
- \leftskip\z@skip
- \rightskip\z@skip
- \spaceskip\z@skip
- \xspaceskip\z@skip
- \parindent\defaultparindent
- %
- % Hang the footnote text off the number.
- \hang
- \textindent{\thisfootno}%
- %
- % Don't crash into the line above the footnote text. Since this
- % expands into a box, it must come within the paragraph, lest it
- % provide a place where TeX can split the footnote.
- \footstrut
- #1\strut}%
-}
-
-}%end \catcode `\@=11
-
-% Set the baselineskip to #1, and the lineskip and strut size
-% correspondingly. There is no deep meaning behind these magic numbers
-% used as factors; they just match (closely enough) what Knuth defined.
-%
-\def\lineskipfactor{.08333}
-\def\strutheightpercent{.70833}
-\def\strutdepthpercent {.29167}
-%
-\def\setleading#1{%
- \normalbaselineskip = #1\relax
- \normallineskip = \lineskipfactor\normalbaselineskip
- \normalbaselines
- \setbox\strutbox =\hbox{%
- \vrule width0pt height\strutheightpercent\baselineskip
- depth \strutdepthpercent \baselineskip
- }%
-}
-
-% @| inserts a changebar to the left of the current line. It should
-% surround any changed text. This approach does *not* work if the
-% change spans more than two lines of output. To handle that, we would
-% have adopt a much more difficult approach (putting marks into the main
-% vertical list for the beginning and end of each change).
-%
-\def\|{%
- % \vadjust can only be used in horizontal mode.
- \leavevmode
- %
- % Append this vertical mode material after the current line in the output.
- \vadjust{%
- % We want to insert a rule with the height and depth of the current
- % leading; that is exactly what \strutbox is supposed to record.
- \vskip-\baselineskip
- %
- % \vadjust-items are inserted at the left edge of the type. So
- % the \llap here moves out into the left-hand margin.
- \llap{%
- %
- % For a thicker or thinner bar, change the `1pt'.
- \vrule height\baselineskip width1pt
- %
- % This is the space between the bar and the text.
- \hskip 12pt
- }%
- }%
-}
-
-% For a final copy, take out the rectangles
-% that mark overfull boxes (in case you have decided
-% that the text looks ok even though it passes the margin).
-%
-\def\finalout{\overfullrule=0pt}
-
-
-% End of control word definitions.
-
-\message{and turning on texinfo input format.}
-
-\def\openindices{%
- \newindex{cp}%
- \newcodeindex{fn}%
- \newcodeindex{vr}%
- \newcodeindex{tp}%
- \newcodeindex{ky}%
- \newcodeindex{pg}%
-}
-
-% Set some numeric style parameters, for 8.5 x 11 format.
-
-%\hsize = 6.5in
-\newdimen\defaultparindent \defaultparindent = 15pt
-\parindent = \defaultparindent
-\parskip 18pt plus 1pt
-\setleading{15pt}
-\advance\topskip by 1.2cm
-
-% Prevent underfull vbox error messages.
-\vbadness=10000
-
-% Following George Bush, just get rid of widows and orphans.
-\widowpenalty=10000
-\clubpenalty=10000
-
-% Use TeX 3.0's \emergencystretch to help line breaking, but if we're
-% using an old version of TeX, don't do anything. We want the amount of
-% stretch added to depend on the line length, hence the dependence on
-% \hsize. This makes it come to about 9pt for the 8.5x11 format.
-%
-\ifx\emergencystretch\thisisundefined
- % Allow us to assign to \emergencystretch anyway.
- \def\emergencystretch{\dimen0}%
-\else
- \emergencystretch = \hsize
- \divide\emergencystretch by 45
-\fi
-
-% Use @smallbook to reset parameters for 7x9.5 format (or else 7x9.25)
-\def\smallbook{
-
-% These values for secheadingskip and subsecheadingskip are
-% experiments. RJC 7 Aug 1992
-\global\secheadingskip = 17pt plus 6pt minus 3pt
-\global\subsecheadingskip = 14pt plus 6pt minus 3pt
-
-\global\lispnarrowing = 0.3in
-\setleading{12pt}
-\advance\topskip by -1cm
-\global\parskip 3pt plus 1pt
-\global\hsize = 5in
-\global\vsize=7.5in
-\global\tolerance=700
-\global\hfuzz=1pt
-\global\contentsrightmargin=0pt
-\global\deftypemargin=0pt
-\global\defbodyindent=.5cm
-
-\global\pagewidth=\hsize
-\global\pageheight=\vsize
-
-\global\let\smalllisp=\smalllispx
-\global\let\smallexample=\smalllispx
-\global\def\Esmallexample{\Esmalllisp}
-}
-
-% Use @afourpaper to print on European A4 paper.
-\def\afourpaper{
-\global\tolerance=700
-\global\hfuzz=1pt
-\setleading{12pt}
-\global\parskip 15pt plus 1pt
-
-\global\vsize= 53\baselineskip
-\advance\vsize by \topskip
-%\global\hsize= 5.85in % A4 wide 10pt
-\global\hsize= 6.5in
-\global\outerhsize=\hsize
-\global\advance\outerhsize by 0.5in
-\global\outervsize=\vsize
-\global\advance\outervsize by 0.6in
-
-\global\pagewidth=\hsize
-\global\pageheight=\vsize
-}
-
-% Allow control of the text dimensions. Parameters in order: textheight;
-% textwidth; \voffset; \hoffset (!); binding offset. All require a dimension;
-% header is additional; added length extends the bottom of the page.
-
-\def\changepagesizes#1#2#3#4#5
-{\global\vsize= #1
- \advance\vsize by \topskip
- \global\voffset= #3
- \global\hsize= #2
- \global\outerhsize=\hsize
- \global\advance\outerhsize by 0.5in
- \global\outervsize=\vsize
- \global\advance\outervsize by 0.6in
- \global\pagewidth=\hsize
- \global\pageheight=\vsize
- \global\normaloffset= #4
- \global\bindingoffset= #5}
-
-% This layout is compatible with Latex on A4 paper.
-
-\def\afourlatex{\changepagesizes{22cm}{15cm}{7mm}{4.6mm}{5mm}}
-
-% Define macros to output various characters with catcode for normal text.
-\catcode`\"=\other
-\catcode`\~=\other
-\catcode`\^=\other
-\catcode`\_=\other
-\catcode`\|=\other
-\catcode`\<=\other
-\catcode`\>=\other
-\catcode`\+=\other
-\def\normaldoublequote{"}
-\def\normaltilde{~}
-\def\normalcaret{^}
-\def\normalunderscore{_}
-\def\normalverticalbar{|}
-\def\normalless{<}
-\def\normalgreater{>}
-\def\normalplus{+}
-
-% This macro is used to make a character print one way in ttfont
-% where it can probably just be output, and another way in other fonts,
-% where something hairier probably needs to be done.
-%
-% #1 is what to print if we are indeed using \tt; #2 is what to print
-% otherwise. Since all the Computer Modern typewriter fonts have zero
-% interword stretch (and shrink), and it is reasonable to expect all
-% typewriter fonts to have this, we can check that font parameter.
-%
-\def\ifusingtt#1#2{\ifdim \fontdimen3\the\font=0pt #1\else #2\fi}
-
-% Turn off all special characters except @
-% (and those which the user can use as if they were ordinary).
-% Most of these we simply print from the \tt font, but for some, we can
-% use math or other variants that look better in normal text.
-
-\catcode`\"=\active
-\def\activedoublequote{{\tt \char '042}}
-\let"=\activedoublequote
-\catcode`\~=\active
-\def~{{\tt \char '176}}
-\chardef\hat=`\^
-\catcode`\^=\active
-\def^{{\tt \hat}}
-
-\catcode`\_=\active
-\def_{\ifusingtt\normalunderscore\_}
-% Subroutine for the previous macro.
-\def\_{\lvvmode \kern.06em \vbox{\hrule width.3em height.1ex}}
-
-% \lvvmode is equivalent in function to \leavevmode.
-% Using \leavevmode runs into trouble when written out to
-% an index file due to the expansion of \leavevmode into ``\unhbox
-% \voidb@x'' ---which looks to TeX like ``\unhbox \voidb\x'' due to our
-% magic tricks with @.
-\def\lvvmode{\vbox to 0pt{}}
-
-\catcode`\|=\active
-\def|{{\tt \char '174}}
-\chardef \less=`\<
-\catcode`\<=\active
-\def<{{\tt \less}}
-\chardef \gtr=`\>
-\catcode`\>=\active
-\def>{{\tt \gtr}}
-\catcode`\+=\active
-\def+{{\tt \char 43}}
-%\catcode 27=\active
-%\def^^[{$\diamondsuit$}
-
-% Set up an active definition for =, but don't enable it most of the time.
-{\catcode`\==\active
-\global\def={{\tt \char 61}}}
-
-\catcode`\@=0
-
-% \rawbackslashxx output one backslash character in current font
-\global\chardef\rawbackslashxx=`\\
-%{\catcode`\\=\other
-%@gdef@rawbackslashxx{\}}
-
-% \rawbackslash redefines \ as input to do \rawbackslashxx.
-{\catcode`\\=\active
-@gdef@rawbackslash{@let\=@rawbackslashxx }}
-
-% \normalbackslash outputs one backslash in fixed width font.
-\def\normalbackslash{{\tt\rawbackslashxx}}
-
-% Say @foo, not \foo, in error messages.
-\escapechar=`\@
-
-% \catcode 17=0 % Define control-q
-\catcode`\\=\active
-
-% Used sometimes to turn off (effectively) the active characters
-% even after parsing them.
-@def@turnoffactive{@let"=@normaldoublequote
-@let\=@realbackslash
-@let~=@normaltilde
-@let^=@normalcaret
-@let_=@normalunderscore
-@let|=@normalverticalbar
-@let<=@normalless
-@let>=@normalgreater
-@let+=@normalplus}
-
-@def@normalturnoffactive{@let"=@normaldoublequote
-@let\=@normalbackslash
-@let~=@normaltilde
-@let^=@normalcaret
-@let_=@normalunderscore
-@let|=@normalverticalbar
-@let<=@normalless
-@let>=@normalgreater
-@let+=@normalplus}
-
-% If a .fmt file is being used, we don't want the `\input texinfo' to show up.
-% That is what \eatinput is for; after that, the `\' should revert to printing
-% a backslash.
-%
-@gdef@eatinput input texinfo{@fixbackslash}
-@global@let\ = @eatinput
-
-% On the other hand, perhaps the file did not have a `\input texinfo'. Then
-% the first `\{ in the file would cause an error. This macro tries to fix
-% that, assuming it is called before the first `\' could plausibly occur.
-%
-@gdef@fixbackslash{@ifx\@eatinput @let\ = @normalbackslash @fi}
-
-%% These look ok in all fonts, so just make them not special. The @rm below
-%% makes sure that the current font starts out as the newly loaded cmr10
-@catcode`@$=@other @catcode`@%=@other @catcode`@&=@other @catcode`@#=@other
-
-@textfonts
-@rm
-
-@c Local variables:
-@c page-delimiter: "^\\\\message"
-@c End:
diff --git a/util/configure.in b/util/configure.in
deleted file mode 100644
index 909913d..0000000
--- a/util/configure.in
+++ /dev/null
@@ -1,7 +0,0 @@
-AC_INIT(configure.in)
-CONFIG_RULES
-AC_SET_BUILDTOP
-CONFIG_DIRS(et ss)
-MAKE_SUBDIRS("making",all)
-MAKE_SUBDIRS("cleaning",clean)
-V5_AC_OUTPUT_MAKEFILE
diff --git a/util/et/ChangeLog b/util/et/ChangeLog
deleted file mode 100644
index 2e7f1eb..0000000
--- a/util/et/ChangeLog
+++ /dev/null
@@ -1,69 +0,0 @@
-Fri Nov 18 00:34:29 1994 Mark Eichin <eichin@cygnus.com>
-
- * configure.in: add caching to perror check (from epeisach).
-
-Fri Oct 21 21:06:48 1994 (tytso@rsx-11)
-
- * Makefile.in (SED): Don't specify an explicit pathname for sed.
-
-Tue Oct 11 12:43:00 1994 Theodore Y. Ts'o (tytso@dcl)
-
- * Makefile.in: Don't rm the awk and sed scripts during a make clean!
-
-Thu Oct 6 19:39:11 1994 Theodore Y. Ts'o (tytso@dcl)
-
- * compile_et.sh: Replace basename with sed -- more portable.
-
-Mon Oct 3 17:27:28 1994 Theodore Y. Ts'o (tytso@dcl)
-
- * Makefile.in:
- configure.in: Don't try to compile compile_et. Use awk/sed
- version instead. It's more apt to be portable, since it
- doesn't use awk or sed. :-(
-
-
-Fri Sep 30 17:12:15 1994 Theodore Y. Ts'o (tytso@dcl)
-
- * compile_et.c: Add declaration of error_message() manually.
-
- * internal.h: Use autoconf to determine whether or not to declare
- perror().
-
- * configure.in:
- compiler.h:
- internal.h:
- compilet_et.c:
- init_et.c: Let configure take care of removing const with AC_CONST.
-
-Thu Sep 8 22:33:07 1994 Theodore Y. Ts'o (tytso@pinata)
-
- * com_err.c (default_com_err_proc): Reversed order of \n\r to make
- jik happy.
-
-Wed Jul 13 23:19:34 1994 Tom Yu (tlyu at dragons-lair)
-
- * Makefile.in: nuke the libcom_err.a.bak stuff
-
-Sun Jul 3 07:48:04 1994 Tom Yu (tlyu at dragons-lair)
-
- * Makefile.in: cleaning up to not spew ignored errors
-
-Wed Jun 22 18:47:36 1994 Mark Eichin (eichin@tweedledumber.cygnus.com)
-
- * com_err.h: Only set STDARG_PROTOTYPES based on STDC if it isn't
- set already (clean up warnings.)
-
-Wed Jun 22 17:55:48 1994 Mark Eichin (eichin@cygnus.com)
-
- * Makefile.in (CP): set CP so CopySrcHeader actually works.
-
-Tue Jun 21 00:20:44 1994 Tom Yu (tlyu at dragons-lair)
-
- * Makefile.in: add "includes" to "all" dependencies
-
- * configure.in: should be CopySrcHeader
-
-Mon Jun 20 21:59:37 1994 Tom Yu (tlyu at dragons-lair)
-
- * configure.in: install com_err.h during build
-
diff --git a/util/et/Makefile.in b/util/et/Makefile.in
deleted file mode 100644
index 0b37e72..0000000
--- a/util/et/Makefile.in
+++ /dev/null
@@ -1,126 +0,0 @@
-CFLAGS = $(CCOPTS) $(DEFS) $(LOCALINCLUDE)
-LDFLAGS = -g
-SED = sed
-
-INSTALLFILE = cp
-
-all::
-
-LINTFLAGS=-uhvb
-LINTFILES= error_message.c et_name.c init_et.c com_err.c
-LIBOBJS= error_message.o et_name.o init_et.o com_err.o
-# for et_lex.lex.c include in error_table.y
-LOCALINCLUDE=-I. -I$(srcdir)
-
-FILES= Makefile et_name.c error_message.c compile_et.c \
- et_lex.lex.l error_table.y init_et.c \
- com_err.c com_err.h \
- error_table.h mit-sipb-copyright.h \
- test_et.c test1.et test2.et \
- compiler.h internal.h \
- com_err.texinfo texinfo.tex
-CFILES= compile_et.c error_table.c error_message.c et_name.c \
- init_et.c com_err.c
-
-SRCS=$(CFILES)
-
-#
-# what to build...
-#
-
-#
-# rules
-#
-error_table.o: et_lex.lex.c
-
-#
-# real entries...
-#
-
-all:: compile_et includes
-
-# The realm compile_et just isn't portable. (But then again, anything using
-# lex and yacc isn't portable by definition. :-( )
-#
-#compile_et: compile_et.o error_table.o
-# $(CC) $(CFLAGS) -o $@ compile_et.o error_table.o $(LEXLIB) $(BSDLIB)
-#
-#install::
-# $(INSTALLPROG) compile_et ${DESTDIR}$(PROGDIR)/compile_et
-
-compile_et: $(srcdir)/compile_et.sh $(srcdir)/config_script
- $(srcdir)/config_script $(srcdir)/compile_et.sh $(AWK) $(SED) > compile_et
- chmod 755 compile_et
-
-et_c.awk: $(srcdir)/et_c.awk
- $(CP) $(srcdir)/et_c.awk et_c.awk
-
-et_h.awk: $(srcdir)/et_h.awk
- $(CP) $(srcdir)/et_h.awk et_h.awk
-
-clean::
- $(RM) compile_et compile_et.o error_table.o
-
-depend::
-
-install:: com_err.h
- $(INSTALLFILE) $(srcdir)/com_err.h $(DESTDIR)$(INCLDIR)/com_err.h
-
-install:: mit-sipb-copyright.h
- $(INSTALLFILE) $(srcdir)/mit-sipb-copyright.h $(DESTDIR)$(INCLDIR)/mit-sipb-copyright.h
-
-install:: com_err.3
- $(INSTALLFILE) $(srcdir)/com_err.3 ${DESTDIR}${MANDIR}/man3/com_err.3
-
-install:: compile_et.1
- $(INSTALLFILE) $(srcdir)/compile_et.1 ${DESTDIR}${MANDIR}/man1/compile_et.1
-
-
-## install_library_target(com_err,$(LIBOBJS),$(LINTFILES),)
-all:: libcom_err.a
-
-libcom_err.a: $(LIBOBJS)
- $(ARCHIVE) $@ $(LIBOBJS)
- $(RANLIB) $@
-
-clean::
- $(RM) libcom_err.a
- $(RM) $(LIBOBJS)
-
-install::
- $(INSTALLLIB) libcom_err.a $(DESTDIR)$(LIBDIR)/libcom_err.a
- $(CHMOD) 644 $(DESTDIR)$(LIBDIR)/libcom_err.a
- $(RANLIB) $(DESTDIR)$(LIBDIR)/libcom_err.a
- $(CHMOD) 444 $(DESTDIR)$(LIBDIR)/libcom_err.a
-##
-
-clean::
- rm -f *~ \#* *.bak \
- *.otl *.aux *.toc *.PS *.dvi *.x9700 *.ps \
- *.cp *.fn *.ky *.log *.pg *.tp *.vr \
- *.o profiled/?*.o libcom_err.a libcom_err_p.a \
- com_err.o compile_et \
- et.ar TAGS y.tab.c lex.yy.c error_table.c \
- et_lex.lex.c \
- test1.h test1.c test2.h test2.c test_et \
- eddep makedep *.ln
-
-
-
-com_err.ps : com_err.dvi
-com_err.dvi: com_err.texinfo
-
-libcom_err.o: $(LIBOBJS)
- ld -r -s -o libcom_err.o $(LIBOBJS)
- chmod -x libcom_err.o
-
-
-archive: et.tar
-
-TAGS: et_name.c error_message.c compile_et.c error_table.c \
- lex.yy.c init_et.c
- etags et_name.c error_message.c compile_et.c \
- error_table.c init_et.c
-
-depend:: et_lex.lex.c
-
diff --git a/util/et/com_err.3 b/util/et/com_err.3
deleted file mode 100644
index ee4375b..0000000
--- a/util/et/com_err.3
+++ /dev/null
@@ -1,96 +0,0 @@
-.\" Copyright (c) 1988 Massachusetts Institute of Technology,
-.\" Student Information Processing Board. All rights reserved.
-.\"
-.\" $Header$
-.\"
-.TH COM_ERR 3 "22 Nov 1988" SIPB
-.SH NAME
-com_err \- common error display routine
-.SH SYNOPSIS
-.nf
- #include <com_err.h>
-.PP
-void com_err (whoami, code, format, ...);
- const char *whoami;
- long code;
- const char *format;
-.PP
-proc = set_com_err_hook (proc);
-.fi
-void (*
-.I proc
-) (const char *, long, const char *, va_list);
-.nf
-.PP
-proc = reset_com_err_hook ();
-.PP
-void initialize_XXXX_error_table ();
-.fi
-.SH DESCRIPTION
-.I Com_err
-displays an error message on the standard error stream
-.I stderr
-(see
-.IR stdio (3S))
-composed of the
-.I whoami
-string, which should specify the program name or some subportion of
-a program, followed by an error message generated from the
-.I code
-value (derived from
-.IR compile_et (1)),
-and a string produced using the
-.I format
-string and any following arguments, in the same style as
-.IR fprintf (3).
-
-The behavior of
-.I com_err
-can be modified using
-.I set_com_err_hook;
-this defines a procedure which is called with the arguments passed to
-.I com_err,
-instead of the default internal procedure which sends the formatted
-text to error output. Thus the error messages from a program can all
-easily be diverted to another form of diagnostic logging, such as
-.IR syslog (3).
-.I Reset_com_err_hook
-may be used to restore the behavior of
-.I com_err
-to its default form. Both procedures return the previous ``hook''
-value. These ``hook'' procedures must have the declaration given for
-.I proc
-above in the synopsis.
-
-The
-.I initialize_XXXX_error_table
-routine is generated mechanically by
-.IR compile_et (1)
-from a source file containing names and associated strings. Each
-table has a name of up to four characters, which is used in place of
-the
-.B XXXX
-in the name of the routine. These routines should be called before
-any of the corresponding error codes are used, so that the
-.I com_err
-library will recognize error codes from these tables when they are
-used.
-
-The
-.B com_err.h
-header file should be included in any source file that uses routines
-from the
-.I com_err
-library; executable files must be linked using
-.I ``-lcom_err''
-in order to cause the
-.I com_err
-library to be included.
-
-.\" .IR for manual entries
-.\" .PP for paragraph breaks
-
-.SH "SEE ALSO"
-compile_et (1), syslog (3).
-
-Ken Raeburn, "A Common Error Description Library for UNIX".
diff --git a/util/et/com_err.c b/util/et/com_err.c
deleted file mode 100644
index 8860446..0000000
--- a/util/et/com_err.c
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * Copyright 1987, 1988 by MIT Student Information Processing Board.
- *
- * For copyright info, see mit-sipb-copyright.h.
- */
-
-#include <stdio.h>
-#include "mit-sipb-copyright.h"
-
-#ifdef STDARG_PROTOTYPES
-#include <stdarg.h>
-#else
-#include <varargs.h>
-#define VARARGS
-#endif
-
-#include "error_table.h"
-#include "internal.h"
-
-#ifdef notdef
-/*
- * Protect us from header version (externally visible) of com_err, so
- * we can survive in a <varargs.h> environment. I think.
- */
-#define com_err com_err_external
-#include "com_err.h"
-#undef com_err
-#endif
-
-/* We have problems with varargs definitions if we include com_err.h */
-
-/*
- * XXX for now, we define error_message by hand. Ultimately, we
- * should fix up com_err.h so that it's safe to #include here
- * directly.
- */
-#ifdef __STDC__
-extern char const *error_message (long);
-#else
-extern char *error_message ();
-#endif
-
-static void
-#ifdef __STDC__
- default_com_err_proc (const char *whoami, long code, const char *fmt, va_list args)
-#else
- default_com_err_proc (whoami, code, fmt, args)
- const char *whoami;
- long code;
- const char *fmt;
- va_list args;
-#endif
-{
- if (whoami) {
- fputs(whoami, stderr);
- fputs(": ", stderr);
- }
- if (code) {
- fputs(error_message(code), stderr);
- fputs(" ", stderr);
- }
- if (fmt) {
- vfprintf (stderr, fmt, args);
- }
- /* should do this only on a tty in raw mode */
- putc('\r', stderr);
- putc('\n', stderr);
- fflush(stderr);
-}
-
-#ifdef __STDC__
-typedef void (*errf) (const char *, long, const char *, va_list);
-#else
-typedef void (*errf) ();
-#endif
-
-errf com_err_hook = default_com_err_proc;
-
-void com_err_va (whoami, code, fmt, args)
- const char *whoami;
- long code;
- const char *fmt;
- va_list args;
-{
- (*com_err_hook) (whoami, code, fmt, args);
-}
-
-#ifndef VARARGS
-void com_err (const char *whoami,
- long code,
- const char *fmt, ...)
-{
-#else
-void com_err (va_alist)
- va_dcl
-{
- const char *whoami, *fmt;
- long code;
-#endif
- va_list pvar;
-
- if (!com_err_hook)
- com_err_hook = default_com_err_proc;
-#ifdef VARARGS
- va_start (pvar);
- whoami = va_arg (pvar, const char *);
- code = va_arg (pvar, long);
- fmt = va_arg (pvar, const char *);
-#else
- va_start(pvar, fmt);
-#endif
- com_err_va (whoami, code, fmt, pvar);
- va_end(pvar);
-}
-
-errf set_com_err_hook (new_proc)
- errf new_proc;
-{
- errf x = com_err_hook;
-
- if (new_proc)
- com_err_hook = new_proc;
- else
- com_err_hook = default_com_err_proc;
-
- return x;
-}
-
-errf reset_com_err_hook () {
- errf x = com_err_hook;
- com_err_hook = default_com_err_proc;
- return x;
-}
diff --git a/util/et/com_err.h b/util/et/com_err.h
deleted file mode 100644
index 0190a3e..0000000
--- a/util/et/com_err.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Header file for common error description library.
- *
- * Copyright 1988, Student Information Processing Board of the
- * Massachusetts Institute of Technology.
- *
- * For copyright and distribution info, see the documentation supplied
- * with this package.
- */
-
-#ifndef __COM_ERR_H
-
-#ifndef STDARG_PROTOTYPES
-/* Imake needs this -- oh well */
-#ifdef __STDC__
-#define STDARG_PROTOTYPES
-#endif
-#endif
-
-#ifdef STDARG_PROTOTYPES
-#include <stdarg.h>
-#else
-#include <varargs.h>
-#endif
-
-#ifdef __STDC__
-/* ANSI C -- use prototypes etc */
-void com_err (const char *, long, const char *, ...);
-char const *error_message (long);
-void (*com_err_hook) (const char *, long, const char *, va_list);
-void (*set_com_err_hook (void (*) (const char *, long, const char *, va_list)))
- (const char *, long, const char *, va_list);
-void (*reset_com_err_hook ()) (const char *, long, const char *, va_list);
-#else
-/* no prototypes */
-void com_err ();
-char *error_message ();
-void (*com_err_hook) ();
-void (*set_com_err_hook ()) ();
-void (*reset_com_err_hook ()) ();
-#endif
-
-#define __COM_ERR_H
-#endif /* ! defined(__COM_ERR_H) */
diff --git a/util/et/com_err.texinfo b/util/et/com_err.texinfo
deleted file mode 100644
index 2f4b266..0000000
--- a/util/et/com_err.texinfo
+++ /dev/null
@@ -1,554 +0,0 @@
-\input texinfo @c -*-texinfo-*-
-
-@c $Header$
-@c $Source$
-@c $Locker$
-
-@c Note that although this source file is in texinfo format (more
-@c or less), it is not yet suitable for turning into an ``info''
-@c file. Sorry, maybe next time.
-@c
-@c In order to produce hardcopy documentation from a texinfo file,
-@c run ``tex com_err.texinfo'' which will load in texinfo.tex,
-@c provided in this distribution. (texinfo.tex is from the Free
-@c Software Foundation, and is under different copyright restrictions
-@c from the rest of this package.)
-
-@ifinfo
-@barfo
-@end ifinfo
-
-@iftex
-@tolerance 10000
-
-@c Mutate section headers...
-@begingroup
- @catcode#=6
- @gdef@secheading#1#2#3{@secheadingi {#3@enspace #1}}
-@endgroup
-@end iftex
-
-@setfilename com_err
-@settitle A Common Error Description Library for UNIX
-
-@ifinfo
-This file documents the use of the Common Error Description library.
-
-Copyright (C) 1987, 1988 Student Information Processing Board of the
-Massachusetts Institute of Technology.
-
-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose and without fee is hereby granted, provided
-that the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation, and that the names of M.I.T. and the M.I.T. S.I.P.B. not be
-used in advertising or publicity pertaining to distribution of the software
-without specific, written prior permission. M.I.T. and the M.I.T. S.I.P.B.
-make no representations about the suitability of this software for any
-purpose. It is provided "as is" without express or implied warranty.
-
-Note that the file texinfo.tex, provided with this distribution, is from
-the Free Software Foundation, and is under different copyright restrictions
-from the remainder of this package.
-
-@end ifinfo
-
-@ignore
-Permission is granted to process this file through Tex and print the
-results, provided the printed document carries copying permission
-notice identical to this one except for the removal of this paragraph
-(this paragraph not being relevant to the printed manual).
-
-@end ignore
-
-@setchapternewpage odd
-
-@titlepage
-@center @titlefont{A Common Error Description}
-@center @titlefont{Library for UNIX}
-@sp 2
-@center Ken Raeburn
-@center Bill Sommerfeld
-@sp 1
-@center MIT Student Information Processing Board
-@sp 3
-@center last updated 1 January 1989
-@center for version 1.2
-@center ***DRAFT COPY ONLY***
-
-@vskip 2in
-
-@center @b{Abstract}
-
-UNIX has always had a clean and simple system call interface, with a
-standard set of error codes passed between the kernel and user
-programs. Unfortunately, the same cannot be said of many of the
-libraries layered on top of the primitives provided by the kernel.
-Typically, each one has used a different style of indicating errors to
-their callers, leading to a total hodgepodge of error handling, and
-considerable amounts of work for the programmer. This paper describes
-a library and associated utilities which allows a more uniform way for
-libraries to return errors to their callers, and for programs to
-describe errors and exceptional conditions to their users.
-
-@page
-@vskip 0pt plus 1filll
-
-Copyright @copyright{} 1987, 1988 by the Student Information Processing
-Board of the Massachusetts Institute of Technology.
-
-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose and without fee is hereby granted, provided
-that the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation, and that the names of M.I.T. and the M.I.T. S.I.P.B. not be
-used in advertising or publicity pertaining to distribution of the software
-without specific, written prior permission. M.I.T. and the M.I.T. S.I.P.B.
-make no representations about the suitability of this software for any
-purpose. It is provided "as is" without express or implied warranty.
-
-Note that the file texinfo.tex, provided with this distribution, is from
-the Free Software Foundation, and is under different copyright restrictions
-from the remainder of this package.
-
-@end titlepage
-
-@ifinfo
-@c should put a menu here someday....
-@end ifinfo
-
-@page
-
-@section Why com_err?
-
-In building application software packages, a programmer often has to
-deal with a number of libraries, each of which can use a different
-error-reporting mechanism. Sometimes one of two values is returned,
-indicating simply SUCCESS or FAILURE, with no description of errors
-encountered. Sometimes it is an index into a table of text strings,
-where the name of the table used is dependent on the library being
-used when the error is generated; since each table starts numbering at
-0 or 1, additional information as to the source of the error code is
-needed to determine which table to look at. Sometimes no text messages are
-supplied at all, and the programmer must supply them at any point at which
-he may wish to report error conditions.
-Often, a global variable is assigned some value describing the error, but
-the programmer has to know in each case whether to look at @code{errno},
-@code{h_errno}, the return value from @code{hes_err()}, or whatever other
-variables or routines are specified.
-And what happens if something
-in the procedure of
-examining or reporting the error changes the same variable?
-
-The package we have developed is an attempt to present a common
-error-handling mechanism to manipulate the most common form of error code
-in a fashion that does not have the problems listed above.
-
-A list of up to 256 text messages is supplied to a translator we have
-written, along with the three- to four-character ``name'' of the error
-table. The library using this error table need only call a routine
-generated from this error-table source to make the table ``known'' to the
-com_err library, and any error code the library generates can be converted
-to the corresponding error message. There is also a default format for
-error codes accidentally returned before making the table known, which is
-of the form @samp{unknown code foo 32}, where @samp{foo} would be the name
-of the table.
-
-@section Error codes
-
-Error codes themselves are 32 bit (signed) integers, of which the high
-order 24 bits are an identifier of which error table the error code is
-from, and the low order 8 bits are a sequential error number within
-the table. An error code may thus be easily decomposed into its component
-parts. Only the lowest 32 bits of an error code are considered significant
-on systems which support wider values.
-
-Error table 0 is defined to match the UNIX system call error table
-(@code{sys_errlist}); this allows @code{errno} values to be used directly
-in the library (assuming that @code{errno} is of a type with the same width
-as @t{long}). Other error table numbers are formed by compacting together
-the first four characters of the error table name. The mapping between
-characters in the name and numeric values in the error code are defined in
-a system-independent fashion, so that two systems that can pass integral
-values between them can reliably pass error codes without loss of meaning;
-this should work even if the character sets used are not the same.
-(However, if this is to be done, error table 0 should be avoided, since the
-local system call error tables may differ.)
-
-Any variable which is to contain an error code should be declared @t{long}.
-The draft proposed American National Standard for C (as of May, 1988)
-requires that @t{long} variables be at least 32 bits; any system which does
-not support 32-bit @t{long} values cannot make use of this package (nor
-much other software that assumes an ANSI-C environment base) without
-significant effort.
-
-@section Error table source file
-
-The error table source file begins with the declaration of the table name,
-as
-
-@example
-error_table @var{tablename}
-@end example
-
-Individual error codes are
-specified with
-
-@example
-error_code @var{ERROR_NAME}, @var{"text message"}
-@end example
-
-where @samp{ec} can also be used as a short form of @samp{error_code}. To
-indicate the end of the table, use @samp{end}. Thus, a (short) sample
-error table might be:
-
-@example
-
- error_table dsc
-
- error_code DSC_DUP_MTG_NAME,
- "Meeting already exists"
-
- ec DSC_BAD_PATH,
- "A bad meeting pathname was given"
-
- ec DSC_BAD_MODES,
- "Invalid mode for this access control list"
-
- end
-
-@end example
-
-@section The error-table compiler
-
-The error table compiler is named @code{compile_et}. It takes one
-argument, the pathname of a file (ending in @samp{.et}, e.g.,
-@samp{dsc_err.et}) containing an error table source file. It parses the
-error table, and generates two output files -- a C header file
-(@samp{discuss_err.h}) which contains definitions of the numerical values
-of the error codes defined in the error table, and a C source file which
-should be compiled and linked with the executable. The header file must be
-included in the source of a module which wishes to reference the error
-codes defined; the object module generated from the C code may be linked in
-to a program which wishes to use the printed forms of the error codes.
-
-This translator accepts a @kbd{-language @var{lang}} argument, which
-determines for which language (or language variant) the output should be
-written. At the moment, @var{lang} is currently limited to @kbd{ANSI-C}
-and @kbd{K&R-C}, and some abbreviated forms of each. Eventually, this will
-be extended to include some support for C++. The default is currently
-@kbd{K&R-C}, though the generated sources will have ANSI-C code
-conditionalized on the symbol @t{__STDC__}.
-
-@section Run-time support routines
-
-Any source file which uses the routines supplied with or produced by the
-com_err package should include the header file @file{<com_err.h>}. It
-contains declarations and definitions which may be needed on some systems.
-(Some functions cannot be referenced properly without the return type
-declarations in this file. Some functions may work properly on most
-architectures even without the header file, but relying on this is not
-recommended.)
-
-The run-time support routines and variables provided via this package
-include the following:
-
-@example
-void initialize_@var{xxxx}_error_table (void);
-@end example
-
-One of these routines is built by the error compiler for each error table.
-It makes the @var{xxxx} error table ``known'' to the error reporting
-system. By convention, this routine should be called in the initialization
-routine of the @var{xxxx} library. If the library has no initialization
-routine, some combination of routines which form the core of the library
-should ensure that this routine is called. It is not advised to leave it
-the caller to make this call.
-
-There is no harm in calling this routine more than once.
-
-@example
-#define ERROR_TABLE_BASE_@var{xxxx} @var{nnnnn}L
-@end example
-
-This symbol contains the value of the first error code entry in the
-specified table.
-This rarely needs be used by the
-programmer.
-
-@example
-const char *error_message (long code);
-@end example
-
-This routine returns the character string error message associated
-with @code{code}; if this is associated with an unknown error table, or
-if the code is associated with a known error table but the code is not
-in the table, a string of the form @samp{Unknown code @var{xxxx nn}} is
-returned, where @var{xxxx} is the error table name produced by
-reversing the compaction performed on the error table number implied
-by that error code, and @var{nn} is the offset from that base value.
-
-Although this routine is available for use when needed, its use should be
-left to circumstances which render @code{com_err} (below) unusable.
-
-@example
-void com_err (const char *whoami, /* module reporting error */
- long code, /* error code */
- const char *format, /* format for additional detail */
- ...); /* (extra parameters) */
-@end example
-
-This routine provides an alternate way to print error messages to
-standard error; it allows the error message to be passed in as a
-parameter, rather than in an external variable. @emph{Provide grammatical
-context for ``message.''}
-
-If @var{format} is @code{(char *)NULL}, the formatted message will not be
-printed. @var{format} may not be omitted.
-
-@example
-#include <stdarg.h>
-
-void com_err_va (const char *whoami,
- long code,
- const char *format,
- va_list args);
-@end example
-
-This routine provides an interface, equivalent to @code{com_err} above,
-which may be used by higher-level variadic functions (functions which
-accept variable numbers of arguments).
-
-@example
-#include <stdarg.h>
-
-void (*set_com_err_hook (void (*proc) ())) ();
-
-void (*@var{proc}) (const char *whoami, long code, va_list args);
-
-void reset_com_err_hook ();
-@end example
-
-These two routines allow a routine to be dynamically substituted for
-@samp{com_err}. After @samp{set_com_err_hook} has been called,
-calls to @samp{com_err} will turn into calls to the new hook routine.
-@samp{reset_com_err_hook} turns off this hook. This may intended to
-be used in daemons (to use a routine which calls @var{syslog(3)}), or
-in a window system application (which could pop up a dialogue box).
-
-If a program is to be used in an environment in which simply printing
-messages to the @code{stderr} stream would be inappropriate (such as in a
-daemon program which runs without a terminal attached),
-@code{set_com_err_hook} may be used to redirect output from @code{com_err}.
-The following is an example of an error handler which uses @var{syslog(3)}
-as supplied in BSD 4.3:
-
-@example
-#include <stdio.h>
-#include <stdarg.h>
-#include <syslog.h>
-
-/* extern openlog (const char * name, int logopt, int facility); */
-/* extern syslog (int priority, char * message, ...); */
-
-void hook (const char * whoami, long code,
- const char * format, va_list args)
-@{
- char buffer[BUFSIZ];
- static int initialized = 0;
- if (!initialized) @{
- openlog (whoami,
- LOG_NOWAIT|LOG_CONS|LOG_PID|LOG_NDELAY,
- LOG_DAEMON);
- initialized = 1;
- @}
- vsprintf (buffer, format, args);
- syslog (LOG_ERR, "%s %s", error_message (code), buffer);
-@}
-@end example
-
-After making the call
-@code{set_com_err_hook (hook);},
-any calls to @code{com_err} will result in messages being sent to the
-@var{syslogd} daemon for logging.
-The name of the program, @samp{whoami}, is supplied to the
-@samp{openlog()} call, and the message is formatted into a buffer and
-passed to @code{syslog}.
-
-Note that since the extra arguments to @code{com_err} are passed by
-reference via the @code{va_list} value @code{args}, the hook routine may
-place any form of interpretation on them, including ignoring them. For
-consistency, @code{printf}-style interpretation is suggested, via
-@code{vsprintf} (or @code{_doprnt} on BSD systems without full support for
-the ANSI C library).
-
-@section Coding Conventions
-
-The following conventions are just some general stylistic conventions
-to follow when writing robust libraries and programs. Conventions
-similar to this are generally followed inside the UNIX kernel and most
-routines in the Multics operating system. In general, a routine
-either succeeds (returning a zero error code, and doing some side
-effects in the process), or it fails, doing minimal side effects; in
-any event, any invariant which the library assumes must be maintained.
-
-In general, it is not in the domain of non user-interface library
-routines to write error messages to the user's terminal, or halt the
-process. Such forms of ``error handling'' should be reserved for
-failures of internal invariants and consistancy checks only, as it
-provides the user of the library no way to clean up for himself in the
-event of total failure.
-
-Library routines which can fail should be set up to return an error
-code. This should usually be done as the return value of the
-function; if this is not acceptable, the routine should return a
-``null'' value, and put the error code into a parameter passed by
-reference.
-
-Routines which use the first style of interface can be used from
-user-interface levels of a program as follows:
-
-@example
-@{
- if ((code = initialize_world(getuid(), random())) != 0) @{
- com_err("demo", code,
- "when trying to initialize world");
- exit(1);
- @}
- if ((database = open_database("my_secrets", &code))==NULL) @{
- com_err("demo", code,
- "while opening my_secrets");
- exit(1);
- @}
-@}
-@end example
-
-A caller which fails to check the return status is in error. It is
-possible to look for code which ignores error returns by using lint;
-look for error messages of the form ``foobar returns value which is
-sometimes ignored'' or ``foobar returns value which is always
-ignored.''
-
-Since libraries may be built out of other libraries, it is often necessary
-for the success of one routine to depend on another. When a lower level
-routine returns an error code, the middle level routine has a few possible
-options. It can simply return the error code to its caller after doing
-some form of cleanup, it can substitute one of its own, or it can take
-corrective action of its own and continue normally. For instance, a
-library routine which makes a ``connect'' system call to make a network
-connection may reflect the system error code @code{ECONNREFUSED}
-(Connection refused) to its caller, or it may return a ``server not
-available, try again later,'' or it may try a different server.
-
-Cleanup which is typically necessary may include, but not be limited
-to, freeing allocated memory which will not be needed any more,
-unlocking concurrancy locks, dropping reference counts, closing file
-descriptors, or otherwise undoing anything which the procedure did up
-to this point. When there are a lot of things which can go wrong, it
-is generally good to write one block of error-handling code which is
-branched to, using a goto, in the event of failure. A common source
-of errors in UNIX programs is failing to close file descriptors on
-error returns; this leaves a number of ``zombied'' file descriptors
-open, which eventually causes the process to run out of file
-descriptors and fall over.
-
-@example
-@{
- FILE *f1=NULL, *f2=NULL, *f3=NULL;
- int status = 0;
-
- if ( (f1 = fopen(FILE1, "r")) == NULL) @{
- status = errno;
- goto error;
- @}
-
- /*
- * Crunch for a while
- */
-
- if ( (f2 = fopen(FILE2, "w")) == NULL) @{
- status = errno;
- goto error;
- @}
-
- if ( (f3 = fopen(FILE3, "a+")) == NULL) @{
- status = errno;
- goto error;
- @}
-
- /*
- * Do more processing.
- */
- fclose(f1);
- fclose(f2);
- fclose(f3);
- return 0;
-
-error:
- if (f1) fclose(f1);
- if (f2) fclose(f2);
- if (f3) fclose(f3);
- return status;
-@}
-@end example
-
-@section Building and Installation
-
-The distribution of this package will probably be done as a compressed
-``tar''-format file available via anonymous FTP from SIPB.MIT.EDU.
-Retrieve @samp{pub/com_err.tar.Z} and extract the contents. A subdirectory
-@t{profiled} should be created to hold objects compiled for profiling.
-Running ``make all'' should then be sufficient to build the library and
-error-table compiler. The files @samp{libcom_err.a},
-@samp{libcom_err_p.a}, @samp{com_err.h}, and @samp{compile_et} should be
-installed for use; @samp{com_err.3} and @samp{compile_et.1} can also be
-installed as manual pages.
-
-Potential problems:
-
-@itemize @bullet
-
-@item Use of @code{strcasecmp}, a routine provided in BSD for
-case-insensitive string comparisons. If an equivalent routine is
-available, you can modify @code{CFLAGS} in the makefile to define
-@code{strcasecmp} to the name of that routine.
-
-@item Compilers that defined @code{__STDC__} without providing the header
-file @code{<stdarg.h>}. One such example is Metaware's High ``C''
-compiler, as provided at Project Athena on the IBM RT/PC workstation; if
-@code{__HIGHC__} is defined, it is assumed that @code{<stdarg.h>} is not
-available, and therefore @code{<varargs.h>} must be used. If the symbol
-@code{VARARGS} is defined (e.g., in the makefile), @code{<varargs.h>} will
-be used.
-
-@item If your linker rejects symbols that are simultaneously defined in two
-library files, edit @samp{Makefile} to remove @samp{perror.c} from the
-library. This file contains a version of @var{perror(3)} which calls
-@code{com_err} instead of calling @code{write} directly.
-
-@end itemize
-
-As I do not have access to non-BSD systems, there are probably
-bugs present that may interfere with building or using this package on
-other systems. If they are reported to me, they can probably be fixed for
-the next version.
-
-@section Bug Reports
-
-Please send any comments or bug reports to the principal author: Ken
-Raeburn, @t{Raeburn@@Athena.MIT.EDU}.
-
-@section Acknowledgements
-
-I would like to thank: Bill Sommerfeld, for his help with some of this
-documentation, and catching some of the bugs the first time around;
-Honeywell Information Systems, for not killing off the @emph{Multics}
-operating system before I had an opportunity to use it; Honeywell's
-customers, who persuaded them not to do so, for a while; Ted Anderson of
-CMU, for catching some problems before version 1.2 left the nest; Stan
-Zanarotti and several others of MIT's Student Information Processing Board,
-for getting us started with ``discuss,'' for which this package was
-originally written; and everyone I've talked into --- I mean, asked to read
-this document and the ``man'' pages.
-
-@bye
diff --git a/util/et/compile_et.1 b/util/et/compile_et.1
deleted file mode 100644
index f17a278..0000000
--- a/util/et/compile_et.1
+++ /dev/null
@@ -1,79 +0,0 @@
-.\" Copyright (c) 1988 Massachusetts Institute of Technology,
-.\" Student Information Processing Board. All rights reserved.
-.\"
-.\" $Header$
-.\"
-.TH COMPILE_ET 1 "22 Nov 1988" SIPB
-.SH NAME
-compile_et \- error table compiler
-.SH SYNOPSIS
-.B compile_et
-file
-.SH DESCRIPTION
-.B Compile_et
-converts a table listing error-code names and associated messages into
-a C source file suitable for use with the
-.IR com_err (3)
-library.
-
-The source file name must end with a suffix of ``.et''; the file
-consists of a declaration supplying the name (up to four characters
-long) of the error-code table:
-
-.B error_table
-.I name
-
-followed by up to 256 entries of the form:
-
-.B error_code
-.I name,
-"
-.I string
-"
-
-and a final
-
-.B end
-
-to indicate the end of the table.
-
-The name of the table is used to construct the name of a subroutine
-.I initialize_XXXX_error_table
-which must be called in order for the
-.I com_err
-library to recognize the error table.
-
-The various error codes defined are assigned sequentially increasing
-numbers (starting with a large number computed as a hash function of
-the name of the table); thus for compatibility it is suggested that
-new codes be added only to the end of an existing table, and that no
-codes be removed from tables.
-
-The names defined in the table are placed into a C header file with
-preprocessor directives defining them as integer constants of up to
-32 bits in magnitude.
-
-A C source file is also generated which should be compiled and linked
-with the object files which reference these error codes; it contains
-the text of the messages and the initialization subroutine. Both C
-files have names derived from that of the original source file, with
-the ``.et'' suffix replaced by ``.c'' and ``.h''.
-
-A ``#'' in the source file is treated as a comment character, and all
-remaining text to the end of the source line will be ignored.
-
-.SH BUGS
-
-Since
-.B compile_et
-uses a very simple parser based on
-.IR yacc (1),
-its error recovery leaves much to be desired.
-
-.\" .IR for manual entries
-.\" .PP for paragraph breaks
-
-.SH "SEE ALSO"
-com_err (3).
-
-Ken Raeburn, "A Common Error Description Library for UNIX".
diff --git a/util/et/compile_et.c b/util/et/compile_et.c
deleted file mode 100644
index a6bf02c..0000000
--- a/util/et/compile_et.c
+++ /dev/null
@@ -1,350 +0,0 @@
-/*
- *
- * Copyright 1986, 1987, 1988
- * by MIT Student Information Processing Board.
- *
- * For copyright info, see "mit-sipb-copyright.h".
- *
- */
-
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/file.h>
-#include <string.h>
-#include <sys/param.h>
-#include "mit-sipb-copyright.h"
-#include "compiler.h"
-
-#ifndef lint
-static const char copyright[] =
- "Copyright 1987,1988 by MIT Student Information Processing Board";
-#endif
-
-extern char *gensym();
-extern char *current_token;
-extern int table_number, current;
-char buffer[BUFSIZ];
-char *table_name = (char *)NULL;
-FILE *hfile, *cfile;
-
-/* C library */
-extern char *malloc();
-extern int errno;
-
-/* lex stuff */
-extern FILE *yyin;
-extern int yylineno;
-
-char * xmalloc (size) unsigned int size; {
- char * p = malloc (size);
- if (!p) {
- perror (whoami);
- exit (1);
- }
- return p;
-}
-
-static int check_arg (str_list, arg) char const *const *str_list, *arg; {
- while (*str_list)
- if (!strcmp(arg, *str_list++))
- return 1;
- return 0;
-}
-
-static const char *const debug_args[] = {
- "d",
- "debug",
- 0,
-};
-
-static const char *const lang_args[] = {
- "lang",
- "language",
- 0,
-};
-
-static const char *const language_names[] = {
- "C",
- "K&R C",
- "C++",
- 0,
-};
-
-static const char * const c_src_prolog[] = {
- "static const char * const text[] = {\n",
- 0,
-};
-
-static const char * const krc_src_prolog[] = {
- "#ifdef __STDC__\n",
- "#define NOARGS void\n",
- "#else\n",
- "#define NOARGS\n",
- "#define const\n",
- "#endif\n\n",
- "static const char * const text[] = {\n",
- 0,
-};
-
-static const char *const struct_def[] = {
- "struct error_table {\n",
- " char const * const * msgs;\n",
- " long base;\n",
- " int n_msgs;\n",
- "};\n",
- "struct et_list {\n",
- " struct et_list *next;\n",
- " const struct error_table * table;\n",
- "};\n",
- "extern struct et_list *_et_list;\n",
- "\n", 0,
-};
-
-static const char warning[] =
- "/*\n * %s:\n * This file is automatically generated; please do not edit it.\n */\n";
-
-/* pathnames */
-char c_file[MAXPATHLEN]; /* output file */
-char h_file[MAXPATHLEN]; /* output */
-
-static void usage () {
- fprintf (stderr, "%s: usage: %s ERROR_TABLE\n",
- whoami, whoami);
- exit (1);
-}
-
-static void dup_err (type, one, two) char const *type, *one, *two; {
- fprintf (stderr, "%s: multiple %s specified: `%s' and `%s'\n",
- whoami, type, one, two);
- usage ();
-}
-
-int main (argc, argv) int argc; char **argv; {
- char *p, *ename;
- int len;
- char const * const *cpp;
- int got_language = 0;
-
- /* argument parsing */
- debug = 0;
- filename = 0;
- whoami = argv[0];
- p = strrchr (whoami, '/');
- if (p)
- whoami = p+1;
- while (argv++, --argc) {
- char *arg = *argv;
- if (arg[0] != '-') {
- if (filename)
- dup_err ("filenames", filename, arg);
- filename = arg;
- }
- else {
- arg++;
- if (check_arg (debug_args, arg))
- debug++;
- else if (check_arg (lang_args, arg)) {
- got_language++;
- arg = *++argv, argc--;
- if (!arg)
- usage ();
- if (language)
- dup_err ("languanges", language_names[(int)language], arg);
-#define check_lang(x,v) else if (!strcasecmp(arg,x)) language = v
- check_lang ("c", lang_C);
- check_lang ("ansi_c", lang_C);
- check_lang ("ansi-c", lang_C);
- check_lang ("krc", lang_KRC);
- check_lang ("kr_c", lang_KRC);
- check_lang ("kr-c", lang_KRC);
- check_lang ("k&r-c", lang_KRC);
- check_lang ("k&r_c", lang_KRC);
- check_lang ("c++", lang_CPP);
- check_lang ("cplusplus", lang_CPP);
- check_lang ("c-plus-plus", lang_CPP);
-#undef check_lang
- else {
- fprintf (stderr, "%s: unknown language name `%s'\n",
- whoami, arg);
- fprintf (stderr, "\tpick one of: C K&R-C\n");
- exit (1);
- }
- }
- else {
- fprintf (stderr, "%s: unknown control argument -`%s'\n",
- whoami, arg);
- usage ();
- }
- }
- }
- if (!filename)
- usage ();
- if (!got_language)
- language = lang_KRC;
- else if (language == lang_CPP) {
- fprintf (stderr, "%s: Sorry, C++ support is not yet finished.\n",
- whoami);
- exit (1);
- }
-
- p = xmalloc (strlen (filename) + 5);
- strcpy (p, filename);
- filename = p;
- p = strrchr(filename, '/');
- if (p == (char *)NULL)
- p = filename;
- else
- p++;
- ename = p;
- len = strlen (ename);
- p += len - 3;
- if (strcmp (p, ".et"))
- p += 3;
- *p++ = '.';
- /* now p points to where "et" suffix should start */
- /* generate new filenames */
- strcpy (p, "c");
- strcpy (c_file, ename);
- *p = 'h';
- strcpy (h_file, ename);
- strcpy (p, "et");
-
- yyin = fopen(filename, "r");
- if (!yyin) {
- perror(filename);
- exit(1);
- }
-
- hfile = fopen(h_file, "w");
- if (hfile == (FILE *)NULL) {
- perror(h_file);
- exit(1);
- }
- fprintf (hfile, warning, h_file);
-
- cfile = fopen(c_file, "w");
- if (cfile == (FILE *)NULL) {
- perror(c_file);
- exit(1);
- }
- fprintf (cfile, warning, c_file);
-
- /* prologue */
- if (language == lang_C)
- cpp = c_src_prolog;
- else if (language == lang_KRC)
- cpp = krc_src_prolog;
- else
- abort ();
- while (*cpp)
- fputs (*cpp++, cfile);
-
- /* parse it */
- yyparse();
- fclose(yyin); /* bye bye input file */
-
- fputs (" 0\n};\n\n", cfile);
- for (cpp = struct_def; *cpp; cpp++)
- fputs (*cpp, cfile);
- fprintf(cfile,
- "static const struct error_table et = { text, %ldL, %d };\n\n",
- table_number, current);
- fputs("static struct et_list link = { 0, 0 };\n\n",
- cfile);
- fprintf(cfile, "void initialize_%s_error_table (%s) {\n",
- table_name, (language == lang_C) ? "void" : "NOARGS");
- fputs(" if (!link.table) {\n", cfile);
- fputs(" link.next = _et_list;\n", cfile);
- fputs(" link.table = &et;\n", cfile);
- fputs(" _et_list = &link;\n", cfile);
- fputs(" }\n", cfile);
- fputs("}\n", cfile);
- fclose(cfile);
-
- fprintf (hfile, "extern void initialize_%s_error_table ();\n",
- table_name);
- fprintf (hfile, "#define ERROR_TABLE_BASE_%s (%ldL)\n",
- table_name, table_number);
- /* compatibility... */
- fprintf (hfile, "\n/* for compatibility with older versions... */\n");
- fprintf (hfile, "#define init_%s_err_tbl initialize_%s_error_table\n",
- table_name, table_name);
- fprintf (hfile, "#define %s_err_base ERROR_TABLE_BASE_%s\n", table_name,
- table_name);
- fclose(hfile); /* bye bye include file */
-
- return 0;
-}
-
-int yyerror(s) char *s; {
- fputs(s, stderr);
-#ifdef NO_YYLINENO
- fprintf(stderr, "\nLast token was '%s'\n", current_token);
-#else
- fprintf(stderr, "\nLine number %d; last token was '%s'\n",
- yylineno, current_token);
-#endif
-}
-
-#ifdef NEED_STRCASECMP
-/* Need strcasecmp for this machine */
-/*
- * Copyright (c) 1987 Regents of the University of California.
- * All rights reserved. The Berkeley software License Agreement
- * specifies the terms and conditions for redistribution.
- */
-
-/* based on @(#)strcasecmp.c 1.3 (Berkeley) 8/3/87 */
-
-/*
- * This array is designed for mapping upper and lower case letter
- * together for a case independent comparison. The mappings are
- * based upon ascii character sequences.
- */
-static char charmap[] = {
- '\000', '\001', '\002', '\003', '\004', '\005', '\006', '\007',
- '\010', '\011', '\012', '\013', '\014', '\015', '\016', '\017',
- '\020', '\021', '\022', '\023', '\024', '\025', '\026', '\027',
- '\030', '\031', '\032', '\033', '\034', '\035', '\036', '\037',
- '\040', '\041', '\042', '\043', '\044', '\045', '\046', '\047',
- '\050', '\051', '\052', '\053', '\054', '\055', '\056', '\057',
- '\060', '\061', '\062', '\063', '\064', '\065', '\066', '\067',
- '\070', '\071', '\072', '\073', '\074', '\075', '\076', '\077',
- '\100', '\141', '\142', '\143', '\144', '\145', '\146', '\147',
- '\150', '\151', '\152', '\153', '\154', '\155', '\156', '\157',
- '\160', '\161', '\162', '\163', '\164', '\165', '\166', '\167',
- '\170', '\171', '\172', '\133', '\134', '\135', '\136', '\137',
- '\140', '\141', '\142', '\143', '\144', '\145', '\146', '\147',
- '\150', '\151', '\152', '\153', '\154', '\155', '\156', '\157',
- '\160', '\161', '\162', '\163', '\164', '\165', '\166', '\167',
- '\170', '\171', '\172', '\173', '\174', '\175', '\176', '\177',
- '\200', '\201', '\202', '\203', '\204', '\205', '\206', '\207',
- '\210', '\211', '\212', '\213', '\214', '\215', '\216', '\217',
- '\220', '\221', '\222', '\223', '\224', '\225', '\226', '\227',
- '\230', '\231', '\232', '\233', '\234', '\235', '\236', '\237',
- '\240', '\241', '\242', '\243', '\244', '\245', '\246', '\247',
- '\250', '\251', '\252', '\253', '\254', '\255', '\256', '\257',
- '\260', '\261', '\262', '\263', '\264', '\265', '\266', '\267',
- '\270', '\271', '\272', '\273', '\274', '\275', '\276', '\277',
- '\300', '\341', '\342', '\343', '\344', '\345', '\346', '\347',
- '\350', '\351', '\352', '\353', '\354', '\355', '\356', '\357',
- '\360', '\361', '\362', '\363', '\364', '\365', '\366', '\367',
- '\370', '\371', '\372', '\333', '\334', '\335', '\336', '\337',
- '\340', '\341', '\342', '\343', '\344', '\345', '\346', '\347',
- '\350', '\351', '\352', '\353', '\354', '\355', '\356', '\357',
- '\360', '\361', '\362', '\363', '\364', '\365', '\366', '\367',
- '\370', '\371', '\372', '\373', '\374', '\375', '\376', '\377',
-};
-
-strcasecmp(s1, s2)
- register char *s1, *s2;
-{
- register char *cm = charmap;
-
- while (cm[*s1] == cm[*s2++])
- if (*s1++ == '\0')
- return(0);
- return(cm[*s1] - cm[*--s2]);
-}
-
-#endif
diff --git a/util/et/compile_et.sh b/util/et/compile_et.sh
deleted file mode 100755
index 2b17bff..0000000
--- a/util/et/compile_et.sh
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/sh
-#
-#
-AWK=@AWK@
-DIR=@DIR@
-
-ROOT=`echo $1 | sed -e s/.et$//`
-BASE=`echo $ROOT | sed -e 's;.*/;;'`
-
-$AWK -f ${DIR}/et_h.awk outfile=${BASE}.h $ROOT.et
-$AWK -f ${DIR}/et_c.awk outfile=${BASE}.c $ROOT.et
diff --git a/util/et/compiler.h b/util/et/compiler.h
deleted file mode 100644
index 3e23f12..0000000
--- a/util/et/compiler.h
+++ /dev/null
@@ -1,14 +0,0 @@
-/*
- * definitions common to the source files of the error table compiler
- */
-
-enum lang {
- lang_C, /* ANSI C (default) */
- lang_KRC, /* C: ANSI + K&R */
- lang_CPP /* C++ */
-};
-
-int debug; /* dump debugging info? */
-char *filename; /* error table source */
-enum lang language;
-const char *whoami;
diff --git a/util/et/config.log b/util/et/config.log
deleted file mode 100644
index fb9038e..0000000
--- a/util/et/config.log
+++ /dev/null
@@ -1,3 +0,0 @@
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-
diff --git a/util/et/config_script b/util/et/config_script
deleted file mode 100755
index e3de35c..0000000
--- a/util/et/config_script
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/bin/sh
-#
-# This program takes a shell script and configures for the following
-# variables: @DIR@
-# @AWK@
-# @SED@
-#
-# Usage: config_script <filename> [<awk>] [<sed>]
-#
-
-FILE=$1
-AWK=$2
-SED=$3
-
-# Grr.... not all Unix's have the dirname command
-TMP=`echo $1 | sed -e 's;[^/]*$;;' -e 's/^$/./'`
-DIR=`cd ${TMP}; pwd`
-
-if test "${AWK}x" = "x" ; then
- AWK=awk
-fi
-if test "${SED}x" = "x" ; then
- SED=sed
-fi
-sed -e "s;@DIR@;${DIR};" -e "s;@AWK@;${AWK};" -e "s;@SED@;${SED};" $FILE
diff --git a/util/et/configure b/util/et/configure
deleted file mode 100755
index e67c5da..0000000
--- a/util/et/configure
+++ /dev/null
@@ -1,1200 +0,0 @@
-#!/bin/sh
-
-
-# Guess values for system-dependent variables and create Makefiles.
-# Generated automatically using autoconf version 2.1
-# Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc.
-#
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-
-# Defaults:
-ac_help=
-ac_default_prefix=/usr/local
-# Any additions from configure.in:
-ac_help="$ac_help
- --with-ccopts=CCOPTS select compiler command line options"
-ac_help="$ac_help
- --with-cc=COMPILER select compiler to use"
-ac_help="$ac_help
- --with-cppopts=CPPOPTS select compiler preprocessor command line options"
-
-# Initialize some variables set by options.
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-build=NONE
-cache_file=./config.cache
-exec_prefix=NONE
-host=NONE
-no_create=
-nonopt=NONE
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-target=NONE
-verbose=
-x_includes=NONE
-x_libraries=NONE
-
-# Initialize some other variables.
-subdirs=
-
-ac_prev=
-for ac_option
-do
-
- # If the previous option needs an argument, assign it.
- if test -n "$ac_prev"; then
- eval "$ac_prev=\$ac_option"
- ac_prev=
- continue
- fi
-
- case "$ac_option" in
- -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
- *) ac_optarg= ;;
- esac
-
- # Accept the important Cygnus configure options, so we can diagnose typos.
-
- case "$ac_option" in
-
- -build | --build | --buil | --bui | --bu | --b)
- ac_prev=build ;;
- -build=* | --build=* | --buil=* | --bui=* | --bu=* | --b=*)
- build="$ac_optarg" ;;
-
- -cache-file | --cache-file | --cache-fil | --cache-fi \
- | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
- ac_prev=cache_file ;;
- -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
- | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
- cache_file="$ac_optarg" ;;
-
- -disable-* | --disable-*)
- ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
- { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
- fi
- ac_feature=`echo $ac_feature| sed 's/-/_/g'`
- eval "enable_${ac_feature}=no" ;;
-
- -enable-* | --enable-*)
- ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
- { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
- fi
- ac_feature=`echo $ac_feature| sed 's/-/_/g'`
- case "$ac_option" in
- *=*) ;;
- *) ac_optarg=yes ;;
- esac
- eval "enable_${ac_feature}='$ac_optarg'" ;;
-
- -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
- | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
- | --exec | --exe | --ex)
- ac_prev=exec_prefix ;;
- -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
- | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
- | --exec=* | --exe=* | --ex=*)
- exec_prefix="$ac_optarg" ;;
-
- -gas | --gas | --ga | --g)
- # Obsolete; use --with-gas.
- with_gas=yes ;;
-
- -help | --help | --hel | --he)
- # 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
-Usage: configure [options] [host]
-Options: [defaults in brackets after descriptions]
-Configuration:
- --cache-file=FILE cache test results in FILE
- --help print this message
- --no-create do not create output files
- --quiet, --silent do not print \`checking...' messages
- --version print the version of autoconf that created configure
-Directory and file names:
- --prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
- --exec-prefix=PREFIX install architecture-dependent files in PREFIX
- [same as prefix]
- --srcdir=DIR find the sources in DIR [configure dir or ..]
- --program-prefix=PREFIX prepend PREFIX to installed program names
- --program-suffix=SUFFIX append SUFFIX to installed program names
- --program-transform-name=PROGRAM run sed PROGRAM on installed program names
-Host type:
- --build=BUILD configure for building on BUILD [BUILD=HOST]
- --host=HOST configure for HOST [guessed]
- --target=TARGET configure for TARGET [TARGET=HOST]
-Features and packages:
- --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
- --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
- --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
- --x-includes=DIR X include files are in DIR
- --x-libraries=DIR X library files are in DIR
---enable and --with options recognized:$ac_help
-EOF
- exit 0 ;;
-
- -host | --host | --hos | --ho)
- ac_prev=host ;;
- -host=* | --host=* | --hos=* | --ho=*)
- host="$ac_optarg" ;;
-
- -nfp | --nfp | --nf)
- # Obsolete; use --without-fp.
- with_fp=no ;;
-
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c)
- no_create=yes ;;
-
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
- no_recursion=yes ;;
-
- -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
- ac_prev=prefix ;;
- -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
- prefix="$ac_optarg" ;;
-
- -program-prefix | --program-prefix | --program-prefi | --program-pref \
- | --program-pre | --program-pr | --program-p)
- ac_prev=program_prefix ;;
- -program-prefix=* | --program-prefix=* | --program-prefi=* \
- | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
- program_prefix="$ac_optarg" ;;
-
- -program-suffix | --program-suffix | --program-suffi | --program-suff \
- | --program-suf | --program-su | --program-s)
- ac_prev=program_suffix ;;
- -program-suffix=* | --program-suffix=* | --program-suffi=* \
- | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
- program_suffix="$ac_optarg" ;;
-
- -program-transform-name | --program-transform-name \
- | --program-transform-nam | --program-transform-na \
- | --program-transform-n | --program-transform- \
- | --program-transform | --program-transfor \
- | --program-transfo | --program-transf \
- | --program-trans | --program-tran \
- | --progr-tra | --program-tr | --program-t)
- ac_prev=program_transform_name ;;
- -program-transform-name=* | --program-transform-name=* \
- | --program-transform-nam=* | --program-transform-na=* \
- | --program-transform-n=* | --program-transform-=* \
- | --program-transform=* | --program-transfor=* \
- | --program-transfo=* | --program-transf=* \
- | --program-trans=* | --program-tran=* \
- | --progr-tra=* | --program-tr=* | --program-t=*)
- program_transform_name="$ac_optarg" ;;
-
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- silent=yes ;;
-
- -site | --site | --sit)
- ac_prev=site ;;
- -site=* | --site=* | --sit=*)
- site="$ac_optarg" ;;
-
- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
- ac_prev=srcdir ;;
- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
- srcdir="$ac_optarg" ;;
-
- -target | --target | --targe | --targ | --tar | --ta | --t)
- ac_prev=target ;;
- -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
- target="$ac_optarg" ;;
-
- -v | -verbose | --verbose | --verbos | --verbo | --verb)
- verbose=yes ;;
-
- -version | --version | --versio | --versi | --vers)
- echo "configure generated by autoconf version 2.1"
- exit 0 ;;
-
- -with-* | --with-*)
- ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
- { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
- fi
- ac_package=`echo $ac_package| sed 's/-/_/g'`
- case "$ac_option" in
- *=*) ;;
- *) ac_optarg=yes ;;
- esac
- eval "with_${ac_package}='$ac_optarg'" ;;
-
- -without-* | --without-*)
- ac_package=`echo $ac_option|sed -e 's/-*without-//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
- { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
- fi
- ac_package=`echo $ac_package| sed 's/-/_/g'`
- eval "with_${ac_package}=no" ;;
-
- --x)
- # Obsolete; use --with-x.
- with_x=yes ;;
-
- -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
- | --x-incl | --x-inc | --x-in | --x-i)
- ac_prev=x_includes ;;
- -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
- | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
- x_includes="$ac_optarg" ;;
-
- -x-libraries | --x-libraries | --x-librarie | --x-librari \
- | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
- ac_prev=x_libraries ;;
- -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
- | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
- x_libraries="$ac_optarg" ;;
-
- -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
- ;;
-
- *)
- if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
- echo "configure: warning: $ac_option: invalid host type" 1>&2
- fi
- if test "x$nonopt" != xNONE; then
- { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
- fi
- nonopt="$ac_option"
- ;;
-
- esac
-done
-
-if test -n "$ac_prev"; then
- { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
-fi
-
-trap 'rm -fr conftest* confdefs* core $ac_clean_files; exit 1' 1 2 15
-
-# File descriptor usage:
-# 0 unused; standard input
-# 1 file creation
-# 2 errors and warnings
-# 3 unused; some systems may open it to /dev/tty
-# 4 checking for... messages and results
-# 5 compiler messages saved in config.log
-if test "$silent" = yes; then
- exec 4>/dev/null
-else
- exec 4>&1
-fi
-exec 5>./config.log
-
-echo "\
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-" 1>&5
-
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Also quote any args containing shell metacharacters.
-ac_configure_args=
-for ac_arg
-do
- case "$ac_arg" in
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c) ;;
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
- *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
- ac_configure_args="$ac_configure_args '$ac_arg'" ;;
- *) ac_configure_args="$ac_configure_args $ac_arg" ;;
- esac
-done
-
-# NLS nuisances.
-# Only set LANG and LC_ALL to C if already set.
-# These must not be set unconditionally because not all systems understand
-# e.g. LANG=C (notably SCO).
-if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
-if test "${LANG+set}" = set; then LANG=C; export LANG; fi
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -rf conftest* confdefs.h
-# AIX cpp loses on an empty file, so make sure it contains at least a newline.
-echo > confdefs.h
-
-# A filename unique to this package, relative to the directory that
-# configure is in, which we can look for to find out if srcdir is correct.
-ac_unique_file=error_table.y
-
-# 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
- srcdir=..
- fi
-else
- ac_srcdir_defaulted=no
-fi
-if test ! -r $srcdir/$ac_unique_file; then
- if test "$ac_srcdir_defaulted" = yes; then
- { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
- else
- { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
- fi
-fi
-srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
-
-# Prefer explicitly selected file to automatically selected ones.
-if test -z "$CONFIG_SITE"; then
- if test "x$prefix" != xNONE; then
- CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
- else
- CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
- fi
-fi
-for ac_site_file in $CONFIG_SITE; do
- if test -r "$ac_site_file"; then
- echo "loading site script $ac_site_file"
- . "$ac_site_file"
- fi
-done
-
-if test -r "$cache_file"; then
- echo "loading cache $cache_file"
- . $cache_file
-else
- echo "creating cache $cache_file"
- > $cache_file
-fi
-
-ac_ext=c
-# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='${CC-cc} $CFLAGS $CPPFLAGS conftest.$ac_ext -c 1>&5 2>&5'
-ac_link='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext -o conftest $LIBS 1>&5 2>&5'
-
-if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
- # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
- if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
- ac_n= ac_c='
-' ac_t=' '
- else
- ac_n=-n ac_c= ac_t=
- fi
-else
- ac_n= ac_c='\c' ac_t=
-fi
-
-
-
-# Check whether --with-ccopts or --without-ccopts was given.
-withval="$with_ccopts"
-if test -n "$withval"; then
- echo "$ac_t""CCOPTS is $withval" 1>&4
-CCOPTS=$withval
-CFLAGS="$CFLAGS $withval"
-else
- CCOPTS=
-fi
-
-
-
-# Check whether --with-cc or --without-cc was given.
-withval="$with_cc"
-if test -n "$withval"; then
- echo "$ac_t""CC=$withval" 1>&4
-CC=$withval
-else
- if test -z "$CC" ; then CC=cc; fi
-echo "$ac_t""CC defaults to $CC" 1>&4
-fi
-
-# Check whether --with-cppopts or --without-cppopts was given.
-withval="$with_cppopts"
-if test -n "$withval"; then
- echo "$ac_t""CPPOPTS=$withval" 1>&4
-CPPOPTS=$withval
-CPPFLAGS="$CPPFLAGS $withval"
-else
- echo "$ac_t""CPPOPTS defaults to $CPPOPTS" 1>&4
-fi
-
-ac_config_fragdir=
-for ac_dir in . .. ../.. ../../.. ../../../.. ../../../../.. ../../../../../..; do
- if test -d $srcdir/$ac_dir/config; then
- ac_reltopdir=$ac_dir
- ac_topdir=$srcdir/$ac_reltopdir
- ac_config_fragdir=$ac_reltopdir/config
- break
- fi
-done
-if test -z "$ac_config_fragdir"; then
- { echo "configure: error: can not find config/ directory in . .. ../.. ../../.. ../../../.. ../../../../.. ../../../../../.." 1>&2; exit 1; }
-else
- ac_aux_dir=
-for ac_dir in $ac_config_fragdir $srcdir/$ac_config_fragdir; do
- if test -f $ac_dir/install-sh; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install-sh -c"
- break
- elif test -f $ac_dir/install.sh; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install.sh -c"
- break
- fi
-done
-if test -z "$ac_aux_dir"; then
- { echo "configure: error: can not find install-sh or install.sh in $ac_config_fragdir $srcdir/$ac_config_fragdir" 1>&2; exit 1; }
-fi
-ac_config_guess=$ac_aux_dir/config.guess
-ac_config_sub=$ac_aux_dir/config.sub
-ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
-
-fi
- ac_tmpin="$srcdir/${ac_config_fragdir}/pre.in"
- if test -r $ac_tmpin; then
- ac_prepend=$ac_config_fragdir/pre.in
- else
- ac_prepend=
- fi
- ac_tmpin="$srcdir/${ac_config_fragdir}/post.in"
- if test -r $ac_tmpin; then
- ac_postpend=$ac_config_fragdir/post.in
- else
- ac_postpend=
- fi
-BUILDTOP=$ac_reltopdir
-
-echo $ac_n "checking for working const""... $ac_c" 1>&4
-if eval "test \"`echo '${'ac_cv_c_const'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&4
-else
- cat > conftest.$ac_ext <<EOF
-#line 492 "configure"
-#include "confdefs.h"
-
-int main() { return 0; }
-int t() {
-
-/* Ultrix mips cc rejects this. */
-typedef int charset[2]; const charset x;
-/* SunOS 4.1.1 cc rejects this. */
-char const *const *ccp;
-char **p;
-/* NEC SVR4.0.2 mips cc rejects this. */
-struct point {int x, y;};
-static struct point const zero;
-/* AIX XL C 1.02.0.0 rejects this.
- It does not let you subtract one const X* pointer from another in an arm
- of an if-expression whose if-part is not a constant expression */
-const char *g = "string";
-ccp = &g + (g ? g-g : 0);
-/* HPUX 7.0 cc rejects these. */
-++ccp;
-p = (char**) ccp;
-ccp = (char const *const *) p;
-{ /* SCO 3.2v4 cc rejects this. */
- char *t;
- char const *s = 0 ? (char *) 0 : (char const *) 0;
-
- *t++ = 0;
-}
-{ /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */
- int x[] = {25, 17};
- const int *foo = &x[0];
- ++foo;
-}
-{ /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */
- typedef const int *iptr;
- iptr p = 0;
- ++p;
-}
-{ /* AIX XL C 1.02.0.0 rejects this saying
- "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
- struct s { int j; const int *ap[3]; };
- struct s *b; b->j = 5;
-}
-{ /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
- const int foo = 10;
-}
-
-; return 0; }
-EOF
-if eval $ac_compile; then
- rm -rf conftest*
- ac_cv_c_const=yes
-else
- rm -rf conftest*
- ac_cv_c_const=no
-fi
-rm -f conftest*
-
-fi
-echo "$ac_t""$ac_cv_c_const" 1>&4
-if test $ac_cv_c_const = no; then
- cat >> confdefs.h <<\EOF
-#define const
-EOF
-
-fi
-
-# Extract the first word of "flex", so it can be a program name with args.
-set dummy flex; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&4
-if eval "test \"`echo '${'ac_cv_prog_LEX'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&4
-else
- if test -n "$LEX"; then
- ac_cv_prog_LEX="$LEX" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
- for ac_dir in $PATH; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_LEX="flex"
- break
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_prog_LEX" && ac_cv_prog_LEX="lex"
-fi
-fi
-LEX="$ac_cv_prog_LEX"
-if test -n "$LEX"; then
- echo "$ac_t""$LEX" 1>&4
-else
- echo "$ac_t""no" 1>&4
-fi
-if test -z "$LEXLIB"
-then
- case "$LEX" in
- flex*) echo $ac_n "checking for -lfl""... $ac_c" 1>&4
-if eval "test \"`echo '${'ac_cv_lib_fl'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&4
-else
- ac_save_LIBS="$LIBS"
-LIBS="$LIBS -lfl "
-cat > conftest.$ac_ext <<EOF
-#line 597 "configure"
-#include "confdefs.h"
-
-int main() { return 0; }
-int t() {
-main()
-; return 0; }
-EOF
-if eval $ac_link; then
- rm -rf conftest*
- eval "ac_cv_lib_fl=yes"
-else
- rm -rf conftest*
- eval "ac_cv_lib_fl=no"
-fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
-
-fi
-if eval "test \"`echo '$ac_cv_lib_'fl`\" = yes"; then
- echo "$ac_t""yes" 1>&4
- LEXLIB="-lfl"
-else
- echo "$ac_t""no" 1>&4
-fi
- ;;
- *) echo $ac_n "checking for -ll""... $ac_c" 1>&4
-if eval "test \"`echo '${'ac_cv_lib_l'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&4
-else
- ac_save_LIBS="$LIBS"
-LIBS="$LIBS -ll "
-cat > conftest.$ac_ext <<EOF
-#line 630 "configure"
-#include "confdefs.h"
-
-int main() { return 0; }
-int t() {
-main()
-; return 0; }
-EOF
-if eval $ac_link; then
- rm -rf conftest*
- eval "ac_cv_lib_l=yes"
-else
- rm -rf conftest*
- eval "ac_cv_lib_l=no"
-fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
-
-fi
-if eval "test \"`echo '$ac_cv_lib_'l`\" = yes"; then
- echo "$ac_t""yes" 1>&4
- LEXLIB="-ll"
-else
- echo "$ac_t""no" 1>&4
-fi
- ;;
- esac
-fi
-echo "$ac_t""setting LEXLIB to $LEXLIB" 1>&4
-
-for ac_prog in 'bison -y' byacc
-do
-# Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&4
-if eval "test \"`echo '${'ac_cv_prog_YACC'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&4
-else
- if test -n "$YACC"; then
- ac_cv_prog_YACC="$YACC" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
- for ac_dir in $PATH; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_YACC="$ac_prog"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-YACC="$ac_cv_prog_YACC"
-if test -n "$YACC"; then
- echo "$ac_t""$YACC" 1>&4
-else
- echo "$ac_t""no" 1>&4
-fi
-
-test -n "$YACC" && break
-done
-test -n "$YACC" || YACC="yacc"
-
-for ac_prog in mawk gawk nawk awk
-do
-# Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&4
-if eval "test \"`echo '${'ac_cv_prog_AWK'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&4
-else
- if test -n "$AWK"; then
- ac_cv_prog_AWK="$AWK" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
- for ac_dir in $PATH; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_AWK="$ac_prog"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-AWK="$ac_cv_prog_AWK"
-if test -n "$AWK"; then
- echo "$ac_t""$AWK" 1>&4
-else
- echo "$ac_t""no" 1>&4
-fi
-
-test -n "$AWK" && break
-done
-
-# Extract the first word of "ar", so it can be a program name with args.
-set dummy ar; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&4
-if eval "test \"`echo '${'ac_cv_prog_ARCHIVE'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&4
-else
- if test -n "$ARCHIVE"; then
- ac_cv_prog_ARCHIVE="$ARCHIVE" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
- for ac_dir in $PATH; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_ARCHIVE="ar qv"
- break
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_prog_ARCHIVE" && ac_cv_prog_ARCHIVE="false"
-fi
-fi
-ARCHIVE="$ac_cv_prog_ARCHIVE"
-if test -n "$ARCHIVE"; then
- echo "$ac_t""$ARCHIVE" 1>&4
-else
- echo "$ac_t""no" 1>&4
-fi
-
-# Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&4
-if eval "test \"`echo '${'ac_cv_prog_RANLIB'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&4
-else
- if test -n "$RANLIB"; then
- ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
- for ac_dir in $PATH; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_RANLIB="ranlib"
- break
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
-fi
-fi
-RANLIB="$ac_cv_prog_RANLIB"
-if test -n "$RANLIB"; then
- echo "$ac_t""$RANLIB" 1>&4
-else
- echo "$ac_t""no" 1>&4
-fi
-
-echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&4
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
- CPP=
-fi
-if test -z "$CPP"; then
-if eval "test \"`echo '${'ac_cv_prog_CPP'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&4
-else
- # This must be in double quotes, not single quotes, because CPP may get
- # substituted into the Makefile and "${CC-cc}" will confuse make.
- CPP="${CC-cc} -E"
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp.
- cat > conftest.$ac_ext <<EOF
-#line 796 "configure"
-#include "confdefs.h"
-#include <assert.h>
-Syntax Error
-EOF
-eval "$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-ac_err=`grep -v '^ *+' conftest.out`
-if test -z "$ac_err"; then
- :
-else
- echo "$ac_err" >&5
- rm -rf conftest*
- CPP="${CC-cc} -E -traditional-cpp"
- cat > conftest.$ac_ext <<EOF
-#line 810 "configure"
-#include "confdefs.h"
-#include <assert.h>
-Syntax Error
-EOF
-eval "$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-ac_err=`grep -v '^ *+' conftest.out`
-if test -z "$ac_err"; then
- :
-else
- echo "$ac_err" >&5
- rm -rf conftest*
- CPP=/lib/cpp
-fi
-rm -f conftest*
-fi
-rm -f conftest*
- ac_cv_prog_CPP="$CPP"
-fi
-fi
-CPP="$ac_cv_prog_CPP"
-echo "$ac_t""$CPP" 1>&4
-
-echo $ac_n "checking for yylineno declaration""... $ac_c" 1>&4
-if eval "test \"`echo '${'krb5_cv_type_yylineno'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&4
-else
- # some systems have yylineno, others don't...
- echo '%%
-%%' | ${LEX} -t > conftest.out
- if egrep yylineno conftest.out >/dev/null 2>&1; then
- krb5_cv_type_yylineno=yes
- else
- krb5_cv_type_yylineno=no
- fi
- rm -f conftest.out
-fi
-
- echo "$ac_t""$krb5_cv_type_yylineno" 1>&4
- if test $krb5_cv_type_yylineno = no; then
- cat >> confdefs.h <<\EOF
-#define NO_YYLINENO 1
-EOF
-
- fi
-
-
-echo $ac_n "checking for sys_errlist declaration""... $ac_c" 1>&4
-if eval "test \"`echo '${'krb5_cv_decl_errlist'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&4
-else
- cat > conftest.$ac_ext <<EOF
-#line 862 "configure"
-#include "confdefs.h"
-#include <stdio.h>
-#include <errno.h>
-int main() { return 0; }
-int t() {
-1+sys_nerr;
-; return 0; }
-EOF
-if eval $ac_link; then
- rm -rf conftest*
- krb5_cv_decl_errlist=yes
-else
- rm -rf conftest*
- krb5_cv_decl_errlist=no
-fi
-rm -f conftest*
-
-fi
-
-echo "$ac_t""$krb5_cv_decl_errlist" 1>&4
-if test $krb5_cv_decl_errlist = no; then
- cat >> confdefs.h <<\EOF
-#define NEED_SYS_ERRLIST 1
-EOF
-
-fi
-
-echo $ac_n "checking for perror declaration""... $ac_c" 1>&4
-if eval "test \"`echo '${'krb5_cv_decl_perror'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&4
-else
- cat > conftest.$ac_ext <<EOF
-#line 895 "configure"
-#include "confdefs.h"
-#include <errno.h>
-EOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- egrep "perror" >/dev/null 2>&1; then
- rm -rf conftest*
- krb5_cv_decl_perror=yes
-else
- rm -rf conftest*
- krb5_cv_decl_perror=no
-fi
-rm -f conftest*
-
-fi
-echo "$ac_t""$krb5_cv_decl_perror" 1>&4
-if test $krb5_cv_decl_perror = yes; then
- cat >> confdefs.h <<\EOF
-#define HDR_HAS_PERROR 1
-EOF
-
-fi
-
-ac_safe=`echo "stdarg.h" | tr './\055' '___'`
-echo $ac_n "checking for stdarg.h""... $ac_c" 1>&4
-if eval "test \"`echo '${'ac_cv_header_$ac_safe'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&4
-else
- cat > conftest.$ac_ext <<EOF
-#line 924 "configure"
-#include "confdefs.h"
-#include <stdarg.h>
-EOF
-eval "$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-ac_err=`grep -v '^ *+' conftest.out`
-if test -z "$ac_err"; then
- rm -rf conftest*
- eval "ac_cv_header_$ac_safe=yes"
-else
- echo "$ac_err" >&5
- rm -rf conftest*
- eval "ac_cv_header_$ac_safe=no"
-fi
-rm -f conftest*
-fi
-if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
- echo "$ac_t""yes" 1>&4
- cat >> confdefs.h <<\EOF
-#define STDARG_PROTOTYPES 1
-EOF
-
-else
- echo "$ac_t""no" 1>&4
-fi
-
-for ac_hdr in stdlib.h
-do
-ac_safe=`echo "$ac_hdr" | tr './\055' '___'`
-echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&4
-if eval "test \"`echo '${'ac_cv_header_$ac_safe'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&4
-else
- cat > conftest.$ac_ext <<EOF
-#line 958 "configure"
-#include "confdefs.h"
-#include <$ac_hdr>
-EOF
-eval "$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-ac_err=`grep -v '^ *+' conftest.out`
-if test -z "$ac_err"; then
- rm -rf conftest*
- eval "ac_cv_header_$ac_safe=yes"
-else
- echo "$ac_err" >&5
- rm -rf conftest*
- eval "ac_cv_header_$ac_safe=no"
-fi
-rm -f conftest*
-fi
-if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
- echo "$ac_t""yes" 1>&4
- ac_tr_hdr=HAVE_`echo $ac_hdr | tr '[a-z]./\055' '[A-Z]___'`
- cat <<EOF | tr '\201-\377' '\001-\177' >> confdefs.h
-#define $ac_tr_hdr 1
-EOF
-
-else
- echo "$ac_t""no" 1>&4
-fi
-done
-
-
-
-trap '' 1 2 15
-if test -w $cache_file; then
-echo "updating cache $cache_file"
-cat > $cache_file <<\EOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs. It is not useful on other systems.
-# If it contains results you don't want to keep, you may remove or edit it.
-#
-# By default, configure uses ./config.cache as the cache file,
-# creating it if it does not exist already. You can give configure
-# the --cache-file=FILE option to use a different cache file; that is
-# what configure does when it calls configure scripts in
-# subdirectories, so they share the cache.
-# Giving --cache-file=/dev/null disables caching, for debugging configure.
-# config.status only pays attention to the cache file if you give it the
-# --recheck option to rerun configure.
-#
-EOF
-# Ultrix sh set writes to stderr and can't be redirected directly.
-# Ultrix sh set also returns variables that were read in from the config file
-# with their high bit set.
-(set) 2>&1 | tr '\201-\377' '\001-\177' |
- sed -n "s/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/: \${\1='\2'}/p" \
- >> $cache_file
-else
-echo "not updating unwritable cache $cache_file"
-fi
-
-trap 'rm -fr conftest* confdefs* core $ac_clean_files; exit 1' 1 2 15
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-# Any assignment to VPATH causes Sun make to only execute
-# the first set of double-colon rules, so remove it if not needed.
-# If there is a colon in the path, we need to keep it.
-if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
-fi
-
-trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
-
-# Transform confdefs.h into DEFS.
-# Protect against shell expansion while executing Makefile rules.
-# Protect against Makefile macro expansion.
-cat > conftest.defs <<\EOF
-s%#define \([A-Za-z_][A-Za-z0-9_]*\) \(.*\)%-D\1=\2%g
-s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
-s%\[%\\&%g
-s%\]%\\&%g
-s%\$%$$%g
-EOF
-DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
-rm -f conftest.defs
-
-
-# Without the "./", some shells look in PATH for config.status.
-: ${CONFIG_STATUS=./config.status}
-
-echo creating $CONFIG_STATUS
-rm -f $CONFIG_STATUS
-cat > $CONFIG_STATUS <<EOF
-#!/bin/sh
-# Generated automatically by configure.
-# Run this file to recreate the current configuration.
-# This directory was configured as follows,
-# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-#
-# $0 $ac_configure_args
-#
-# Compiler output produced by configure, useful for debugging
-# configure, is in ./config.log if it exists.
-
-ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
-for ac_option
-do
- case "\$ac_option" in
- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
- echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
- exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
- -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
- echo "$CONFIG_STATUS generated by autoconf version 2.1"
- exit 0 ;;
- -help | --help | --hel | --he | --h)
- echo "\$ac_cs_usage"; exit 0 ;;
- *) echo "\$ac_cs_usage"; exit 1 ;;
- esac
-done
-
-ac_given_srcdir=$srcdir
-
-trap 'rm -f pre.out:$ac_prepend Makefile.out:Makefile.in post.out:$ac_postpend; exit 1' 1 2 15
-
-# Protect against being on the right side of a sed subst in config.status.
-sed 's/%@/@@/; s/@%/@@/; s/%g$/@g/; /@g$/s/[\\\\&%]/\\\\&/g;
- s/@@/%@/; s/@@/@%/; s/@g$/%g/' > conftest.subs <<\CEOF
-$ac_vpsub
-$extrasub
-s%@CFLAGS@%$CFLAGS%g
-s%@CPPFLAGS@%$CPPFLAGS%g
-s%@CXXFLAGS@%$CXXFLAGS%g
-s%@DEFS@%$DEFS%g
-s%@LDFLAGS@%$LDFLAGS%g
-s%@LIBS@%$LIBS%g
-s%@exec_prefix@%$exec_prefix%g
-s%@prefix@%$prefix%g
-s%@program_transform_name@%$program_transform_name%g
-s%@CCOPTS@%$CCOPTS%g
-s%@CC@%$CC%g
-s%@CPPOPTS@%$CPPOPTS%g
-s%@BUILDTOP@%$BUILDTOP%g
-s%@LEX@%$LEX%g
-s%@LEXLIB@%$LEXLIB%g
-s%@YACC@%$YACC%g
-s%@AWK@%$AWK%g
-s%@ARCHIVE@%$ARCHIVE%g
-s%@RANLIB@%$RANLIB%g
-s%@CPP@%$CPP%g
-
-CEOF
-EOF
-cat >> $CONFIG_STATUS <<EOF
-
-CONFIG_FILES=\${CONFIG_FILES-"pre.out:$ac_prepend Makefile.out:Makefile.in post.out:$ac_postpend"}
-EOF
-cat >> $CONFIG_STATUS <<\EOF
-for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
- # Support "outfile[:infile]", defaulting infile="outfile.in".
- case "$ac_file" in
- *:*) ac_file_in=`echo "$ac_file"|sed 's%.*:%%'`
- ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
- *) ac_file_in="${ac_file}.in" ;;
- esac
-
- # Adjust relative srcdir, etc. for subdirectories.
-
- # Remove last slash and all that follows it. Not all systems have dirname.
- ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
- if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
- # The file is in a subdirectory.
- test ! -d "$ac_dir" && mkdir "$ac_dir"
- ac_dir_suffix="/$ac_dir"
- # A "../" for each directory in $ac_dir_suffix.
- ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
- else
- ac_dir_suffix= ac_dots=
- fi
-
- case "$ac_given_srcdir" in
- .) srcdir=.
- if test -z "$ac_dots"; then top_srcdir=.
- else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
- /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
- *) # Relative path.
- srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
- top_srcdir="$ac_dots$ac_given_srcdir" ;;
- esac
-
- echo creating "$ac_file"
- rm -f "$ac_file"
- configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
- case "$ac_file" in
- *Makefile*) ac_comsub="1i\\
-# $configure_input" ;;
- *) ac_comsub= ;;
- esac
- sed -e "$ac_comsub
-s%@configure_input@%$configure_input%g
-s%@srcdir@%$srcdir%g
-s%@top_srcdir@%$top_srcdir%g
-" -f conftest.subs $ac_given_srcdir/$ac_file_in > $ac_file
-fi; done
-rm -f conftest.subs
-
-EOF
-cat >> $CONFIG_STATUS <<EOF
-cat pre.out Makefile.out post.out > Makefile
-EOF
-cat >> $CONFIG_STATUS <<\EOF
-
-cat >> Makefile <<"SUBDIREOF"
-# [DIVERSION_MAKEFILE] contents
-
-SHELL=/bin/sh
-
-Makefile: $(srcdir)/Makefile.in config.status $(SRCTOP)/config/pre.in $(SRCTOP)/config/post.in
- $(SHELL) config.status
-config.status: $(srcdir)/configure
- $(SHELL) config.status --recheck
-$(srcdir)/configure: $(srcdir)/configure.in $(SRCTOP)/aclocal.m4
- cd $(srcdir); autoconf --localdir=$(BUILDTOP) --macrodir=$(BUILDTOP)/util/autoconf
-
-
-includes:: com_err.h
- @if test -d $(BUILDTOP)/include; then :; else mkdir $(BUILDTOP)/include; fi
- @if cmp $(srcdir)/com_err.h $(BUILDTOP)/include/com_err.h >/dev/null 2>&1; then :; \
- else \
- (set -x; $(RM) $(BUILDTOP)/include/com_err.h; $(CP) $(srcdir)/com_err.h $(BUILDTOP)/include/com_err.h) \
- fi
-
-clean::
- $(RM) $(BUILDTOP)/include/com_err.h
-
-
-SUBDIREOF
-
-exit 0
-EOF
-chmod +x $CONFIG_STATUS
-rm -fr confdefs* $ac_clean_files
-test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS
-
diff --git a/util/et/configure.in b/util/et/configure.in
deleted file mode 100644
index 1e44821..0000000
--- a/util/et/configure.in
+++ /dev/null
@@ -1,26 +0,0 @@
-AC_INIT(error_table.y)
-CONFIG_RULES
-AC_SET_BUILDTOP
-AC_CONST
-AC_PROG_LEX
-AC_PROG_YACC
-AC_PROG_AWK
-AC_PROG_ARCHIVE
-AC_PROG_RANLIB
-HAVE_YYLINENO
-DECLARE_SYS_ERRLIST
-dnl
-dnl Fancy caching of perror result...
-AC_MSG_CHECKING(for perror declaration)
-AC_CACHE_VAL(krb5_cv_decl_perror,
-[AC_HEADER_EGREP(perror, errno.h,
- krb5_cv_decl_perror=yes, krb5_cv_decl_perror=no)])dnl
-AC_MSG_RESULT($krb5_cv_decl_perror)
-if test $krb5_cv_decl_perror = yes; then
- AC_DEFINE(HDR_HAS_PERROR)
-fi
-dnl
-CHECK_STDARG
-AC_HAVE_HEADERS(stdlib.h)
-CopySrcHeader(com_err.h,$(BUILDTOP)/include)
-V5_AC_OUTPUT_MAKEFILE
diff --git a/util/et/error_message.c b/util/et/error_message.c
deleted file mode 100644
index 507e0f1..0000000
--- a/util/et/error_message.c
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * util/et/error_message.c
- *
- * Copyright 1987 by the Student Information Processing Board
- * of the Massachusetts Institute of Technology
- *
- * For copyright info, see "mit-sipb-copyright.h".
- */
-
-#include <stdio.h>
-#include "error_table.h"
-#include "mit-sipb-copyright.h"
-#include "internal.h"
-
-static const char copyright[] =
- "Copyright 1986, 1987, 1988 by the Student Information Processing Board\nand the department of Information Systems\nof the Massachusetts Institute of Technology";
-
-static char buffer[25];
-
-struct et_list * _et_list = (struct et_list *) NULL;
-
-const char * error_message (code)
-long code;
-{
- int offset;
- struct et_list *et;
- int table_num;
- int started = 0;
- char *cp;
-
- offset = code & ((1<<ERRCODE_RANGE)-1);
- table_num = code - offset;
- if (!table_num) {
- if (offset < sys_nerr)
- return(sys_errlist[offset]);
- else
- goto oops;
- }
- for (et = _et_list; et; et = et->next) {
- if (et->table->base == table_num) {
- /* This is the right table */
- if (et->table->n_msgs <= offset)
- goto oops;
- return(et->table->msgs[offset]);
- }
- }
-oops:
- strcpy (buffer, "Unknown code ");
- if (table_num) {
- strcat (buffer, error_table_name (table_num));
- strcat (buffer, " ");
- }
- for (cp = buffer; *cp; cp++)
- ;
- if (offset >= 100) {
- *cp++ = '0' + offset / 100;
- offset %= 100;
- started++;
- }
- if (started || offset >= 10) {
- *cp++ = '0' + offset / 10;
- offset %= 10;
- }
- *cp++ = '0' + offset;
- *cp = '\0';
- return(buffer);
-}
diff --git a/util/et/error_table.h b/util/et/error_table.h
deleted file mode 100644
index 78f7db2..0000000
--- a/util/et/error_table.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Copyright 1988 by the Student Information Processing Board of the
- * Massachusetts Institute of Technology.
- *
- * For copyright info, see mit-sipb-copyright.h.
- */
-
-#ifndef _ET_H
-/* Are we using ANSI C? */
-#ifndef __STDC__
-#define const
-#endif
-extern int errno;
-struct error_table {
- char const * const * msgs;
- long base;
- int n_msgs;
-};
-struct et_list {
- struct et_list *next;
- const struct error_table *table;
-};
-extern struct et_list * _et_list;
-
-#define ERRCODE_RANGE 8 /* # of bits to shift table number */
-#define BITS_PER_CHAR 6 /* # bits to shift per character in name */
-
-extern const char *error_table_name();
-#define _ET_H
-#endif
diff --git a/util/et/error_table.y b/util/et/error_table.y
deleted file mode 100644
index ad4ffb1..0000000
--- a/util/et/error_table.y
+++ /dev/null
@@ -1,230 +0,0 @@
-%{
-#include <stdio.h>
-char *str_concat(), *ds(), *quote();
-#ifdef HAVE_STDLIB_H
-#include <stdlib.h>
-#endif
-char *current_token = (char *)NULL;
-extern char *table_name;
-%}
-%union {
- char *dynstr;
-}
-
-%token ERROR_TABLE ERROR_CODE_ENTRY END
-%token <dynstr> STRING QUOTED_STRING
-%type <dynstr> ec_name description table_id
-%{
-%}
-%start error_table
-%%
-
-error_table : ERROR_TABLE table_id error_codes END
- { table_name = ds($2);
- current_token = table_name;
- put_ecs(); }
- ;
-
-table_id : STRING
- { current_token = $1;
- set_table_num($1);
- $$ = $1; }
- ;
-
-error_codes : error_codes ec_entry
- | ec_entry
- ;
-
-ec_entry : ERROR_CODE_ENTRY ec_name ',' description
- { add_ec($2, $4);
- free($2);
- free($4); }
- | ERROR_CODE_ENTRY ec_name '=' STRING ',' description
- { add_ec_val($2, $4, $6);
- free($2);
- free($4);
- free($6);
- }
- ;
-
-ec_name : STRING
- { $$ = ds($1);
- current_token = $$; }
- ;
-
-description : QUOTED_STRING
- { $$ = ds($1);
- current_token = $$; }
- ;
-
-%%
-/*
- *
- * Copyright 1986, 1987 by the MIT Student Information Processing Board
- *
- * For copyright info, see mit-sipb-copyright.h.
- */
-
-#include <string.h>
-#include <assert.h>
-#include <ctype.h>
-#include <sys/types.h>
-#include <sys/time.h>
-#include "internal.h"
-#include "error_table.h"
-#include "mit-sipb-copyright.h"
-
-
-extern FILE *hfile, *cfile;
-
-static long gensym_n = 0;
-char *
-gensym(x)
- char const *x;
-{
- char *symbol;
- if (!gensym_n) {
- struct timeval tv;
- struct timezone tzp;
- gettimeofday(&tv, &tzp);
- gensym_n = (tv.tv_sec%10000)*100 + tv.tv_usec/10000;
- }
- symbol = malloc(32 * sizeof(char));
- gensym_n++;
- sprintf(symbol, "et%ld", gensym_n);
- return(symbol);
-}
-
-char *
-ds(string)
- char const *string;
-{
- char *rv;
- rv = malloc(strlen(string)+1);
- strcpy(rv, string);
- return(rv);
-}
-
-char *
-quote(string)
- char const *string;
-{
- char *rv;
- rv = malloc(strlen(string)+3);
- strcpy(rv, "\"");
- strcat(rv, string);
- strcat(rv, "\"");
- return(rv);
-}
-
-long table_number;
-int current = 0;
-char **error_codes = (char **)NULL;
-
-add_ec(name, description)
- char const *name, *description;
-{
- fprintf(cfile, "\t\"%s\",\n", description);
- if (error_codes == (char **)NULL) {
- error_codes = (char **)malloc(sizeof(char *));
- *error_codes = (char *)NULL;
- }
- error_codes = (char **)realloc((char *)error_codes,
- (current + 2)*sizeof(char *));
- error_codes[current++] = ds(name);
- error_codes[current] = (char *)NULL;
-}
-
-add_ec_val(name, val, description)
- char const *name, *val, *description;
-{
- const int ncurrent = atoi(val);
- if (ncurrent < current) {
- printf("Error code %s (%d) out of order", name,
- current);
- return;
- }
-
- while (ncurrent > current)
- fputs("\t(char *)NULL,\n", cfile), current++;
-
- fprintf(cfile, "\t\"%s\",\n", description);
- if (error_codes == (char **)NULL) {
- error_codes = (char **)malloc(sizeof(char *));
- *error_codes = (char *)NULL;
- }
- error_codes = (char **)realloc((char *)error_codes,
- (current + 2)*sizeof(char *));
- error_codes[current++] = ds(name);
- error_codes[current] = (char *)NULL;
-}
-
-put_ecs()
-{
- int i;
- for (i = 0; i < current; i++) {
- if (error_codes[i] != (char *)NULL)
- fprintf(hfile, "#define %-40s (%ldL)\n",
- error_codes[i], table_number + i);
- }
-}
-
-/*
- * char_to_num -- maps letters and numbers into a small numbering space
- * uppercase -> 1-26
- * lowercase -> 27-52
- * digits -> 53-62
- * underscore-> 63
- */
-
-static const char char_set[] =
- "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_";
-
-int char_to_num(c)
- char c;
-{
- const char *where;
- int diff;
-
- where = strchr (char_set, c);
- if (where) {
- diff = where - char_set + 1;
- assert (diff < (1 << ERRCODE_RANGE));
- return diff;
- }
- else if (isprint (c))
- fprintf (stderr,
- "Illegal character `%c' in error table name\n",
- c);
- else
- fprintf (stderr,
- "Illegal character %03o in error table name\n",
- c);
- exit (1);
-}
-
-set_table_num(string)
- char *string;
-{
- if (char_to_num (string[0]) > char_to_num ('z')) {
- fprintf (stderr, "%s%s%s%s",
- "First character of error table name must be ",
- "a letter; name ``",
- string, "'' rejected\n");
- exit (1);
- }
- if (strlen(string) > 4) {
- fprintf(stderr, "Table name %s too long, truncated ",
- string);
- string[4] = '\0';
- fprintf(stderr, "to %s\n", string);
- }
- while (*string != '\0') {
- table_number = (table_number << BITS_PER_CHAR)
- + char_to_num(*string);
- string++;
- }
- table_number = table_number << ERRCODE_RANGE;
-}
-
-#include "et_lex.lex.c"
diff --git a/util/et/et_c.awk b/util/et/et_c.awk
deleted file mode 100644
index 4f53fc3..0000000
--- a/util/et/et_c.awk
+++ /dev/null
@@ -1,183 +0,0 @@
-BEGIN {
-char_shift=64
-## "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_";
-c2n["A"]=1
-c2n["B"]=2
-c2n["C"]=3
-c2n["D"]=4
-c2n["E"]=5
-c2n["F"]=6
-c2n["G"]=7
-c2n["H"]=8
-c2n["I"]=9
-c2n["J"]=10
-c2n["K"]=11
-c2n["L"]=12
-c2n["M"]=13
-c2n["N"]=14
-c2n["O"]=15
-c2n["P"]=16
-c2n["Q"]=17
-c2n["R"]=18
-c2n["S"]=19
-c2n["T"]=20
-c2n["U"]=21
-c2n["V"]=22
-c2n["W"]=23
-c2n["X"]=24
-c2n["Y"]=25
-c2n["Z"]=26
-c2n["a"]=27
-c2n["b"]=28
-c2n["c"]=29
-c2n["d"]=30
-c2n["e"]=31
-c2n["f"]=32
-c2n["g"]=33
-c2n["h"]=34
-c2n["i"]=35
-c2n["j"]=36
-c2n["k"]=37
-c2n["l"]=38
-c2n["m"]=39
-c2n["n"]=40
-c2n["o"]=41
-c2n["p"]=42
-c2n["q"]=43
-c2n["r"]=44
-c2n["s"]=45
-c2n["t"]=46
-c2n["u"]=47
-c2n["v"]=48
-c2n["w"]=49
-c2n["x"]=50
-c2n["y"]=51
-c2n["z"]=52
-c2n["0"]=53
-c2n["1"]=54
-c2n["2"]=55
-c2n["3"]=56
-c2n["4"]=57
-c2n["5"]=58
-c2n["6"]=59
-c2n["7"]=60
-c2n["8"]=61
-c2n["9"]=62
-c2n["_"]=63
-}
-/^#/ { next }
-/^[ \t]*(error_table|et)[ \t]+[a-zA-Z][a-zA-Z0-9_]+/ {
- table_number = 0
- table_name = $2
- mod_base = 1000000
- for(i=1; i<=length(table_name); i++) {
- table_number=(table_number*char_shift)+c2n[substr(table_name,i,1)]
- }
-
- # We start playing *_high, *low games here because the some
- # awk programs do not have the necessary precision (sigh)
- tab_base_low = table_number % mod_base
- tab_base_high = int(table_number / mod_base)
- tab_base_sign = 1;
-
- # figure out: table_number_base=table_number*256
- tab_base_low = tab_base_low * 256
- tab_base_high = (tab_base_high * 256) + \
- int(tab_base_low / mod_base)
- tab_base_low = tab_base_low % mod_base
-
- if (table_number > 128*256*256) {
- # figure out: table_number_base -= 256*256*256*256
- # sub_high, sub_low is 256*256*256*256
- sub_low = 256*256*256 % mod_base
- sub_high = int(256*256*256 / mod_base)
-
- sub_low = sub_low * 256
- sub_high = (sub_high * 256) + int(sub_low / mod_base)
- sub_low = sub_low % mod_base
-
- tab_base_low = sub_low - tab_base_low;
- tab_base_high = sub_high - tab_base_high;
- tab_base_sign = -1;
- if (tab_base_low < 0) {
- tab_base_low = tab_base_low + mod_base
- tab_base_high--
- }
- }
- print "/*" > outfile
- print " * " outfile ":" > outfile
- print " * This file is automatically generated; please do not edit it." > outfile
- print " */" > outfile
-
- print "#ifdef __STDC__" > outfile
- print "#define NOARGS void" > outfile
- print "#else" > outfile
- print "#define NOARGS" > outfile
- print "#define const" > outfile
- print "#endif" > outfile
- print "" > outfile
- print "static const char * const text[] = {" > outfile
- table_item_count = 0
-}
-
-/^[ \t]*(error_code|ec)[ \t]+[A-Z_0-9]+,[ \t]*$/ {
- skipone=1
- next
-}
-
-/^[ \t]*(error_code|ec)[ \t]+[A-Z_0-9]+,[ \t]*".*"[ \t]*$/ {
- text=""
- for (i=3; i<=NF; i++) {
- text = text FS $i
- }
- text=substr(text,2,length(text)-1);
- printf "\t%s,\n", text > outfile
- table_item_count++
-}
-
-{
- if (skipone) {
- printf "\t%s,\n", $0 > outfile
- table_item_count++
- }
- skipone=0
-}
-END {
-
-
- print " 0" > outfile
- print "};" > outfile
- print "" > outfile
- print "struct error_table {" > outfile
- print " char const * const * msgs;" > outfile
- print " long base;" > outfile
- print " int n_msgs;" > outfile
- print "};" > outfile
- print "struct et_list {" > outfile
- print " struct et_list *next;" > outfile
- print " const struct error_table * table;" > outfile
- print "};" > outfile
- print "extern struct et_list *_et_list;" > outfile
- print "" > outfile
- if (tab_base_high == 0) {
- print "static const struct error_table et = { text, " \
- sprintf("%dL, %d };", tab_base_sign*tab_base_low, \
- table_item_count) > outfile
- } else {
- print "static const struct error_table et = { text, " \
- sprintf("%d%06dL, %d };", tab_base_sign*tab_base_high, \
- tab_base_low, table_item_count) > outfile
- }
- print "" > outfile
- print "static struct et_list link = { 0, 0 };" > outfile
- print "" > outfile
- print "void initialize_" table_name "_error_table (NOARGS) {" > outfile
- print " if (!link.table) {" > outfile
- print " link.next = _et_list;" > outfile
- print " link.table = &et;" > outfile
- print " _et_list = &link;" > outfile
- print " }" > outfile
- print "}" > outfile
-
-
-}
diff --git a/util/et/et_h.awk b/util/et/et_h.awk
deleted file mode 100644
index 5851dd8..0000000
--- a/util/et/et_h.awk
+++ /dev/null
@@ -1,150 +0,0 @@
-BEGIN {
-char_shift=64
-## "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_";
-c2n["A"]=1
-c2n["B"]=2
-c2n["C"]=3
-c2n["D"]=4
-c2n["E"]=5
-c2n["F"]=6
-c2n["G"]=7
-c2n["H"]=8
-c2n["I"]=9
-c2n["J"]=10
-c2n["K"]=11
-c2n["L"]=12
-c2n["M"]=13
-c2n["N"]=14
-c2n["O"]=15
-c2n["P"]=16
-c2n["Q"]=17
-c2n["R"]=18
-c2n["S"]=19
-c2n["T"]=20
-c2n["U"]=21
-c2n["V"]=22
-c2n["W"]=23
-c2n["X"]=24
-c2n["Y"]=25
-c2n["Z"]=26
-c2n["a"]=27
-c2n["b"]=28
-c2n["c"]=29
-c2n["d"]=30
-c2n["e"]=31
-c2n["f"]=32
-c2n["g"]=33
-c2n["h"]=34
-c2n["i"]=35
-c2n["j"]=36
-c2n["k"]=37
-c2n["l"]=38
-c2n["m"]=39
-c2n["n"]=40
-c2n["o"]=41
-c2n["p"]=42
-c2n["q"]=43
-c2n["r"]=44
-c2n["s"]=45
-c2n["t"]=46
-c2n["u"]=47
-c2n["v"]=48
-c2n["w"]=49
-c2n["x"]=50
-c2n["y"]=51
-c2n["z"]=52
-c2n["0"]=53
-c2n["1"]=54
-c2n["2"]=55
-c2n["3"]=56
-c2n["4"]=57
-c2n["5"]=58
-c2n["6"]=59
-c2n["7"]=60
-c2n["8"]=61
-c2n["9"]=62
-c2n["_"]=63
-}
-/^#/ { next }
-/^[ \t]*(error_table|et)[ \t]+[a-zA-Z][a-zA-Z0-9_]+/ {
- table_number = 0
- table_name = $2
- mod_base = 1000000
- for(i=1; i<=length(table_name); i++) {
- table_number=(table_number*char_shift)+c2n[substr(table_name,i,1)]
- }
- # We start playing *_high, *low games here because the some
- # awk programs do not have the necessary precision (sigh)
- tab_base_low = table_number % mod_base
- tab_base_high = int(table_number / mod_base)
- tab_base_sign = 1;
-
- # figure out: table_number_base=table_number*256
- tab_base_low = tab_base_low * 256
- tab_base_high = (tab_base_high * 256) + \
- int(tab_base_low / mod_base)
- tab_base_low = tab_base_low % mod_base
-
- if (table_number > 128*256*256) {
- # figure out: table_number_base -= 256*256*256*256
- # sub_high, sub_low is 256*256*256*256
- sub_low = 256*256*256 % mod_base
- sub_high = int(256*256*256 / mod_base)
-
- sub_low = sub_low * 256
- sub_high = (sub_high * 256) + int(sub_low / mod_base)
- sub_low = sub_low % mod_base
-
- tab_base_low = sub_low - tab_base_low;
- tab_base_high = sub_high - tab_base_high;
- tab_base_sign = -1;
- if (tab_base_low < 0) {
- tab_base_low = tab_base_low + mod_base
- tab_base_high--
- }
- }
- curr_low = tab_base_low
- curr_high = tab_base_high
- curr_sign = tab_base_sign
- print "/*" > outfile
- print " * " outfile ":" > outfile
- print " * This file is automatically generated; please do not edit it." > outfile
- print " */" > outfile
-}
-
-/^[ \t]*(error_code|ec)[ \t]+[A-Z_0-9]+,/ {
- tag=substr($2,1,length($2)-1)
- if (curr_high == 0) {
- printf "#define %-40s (%dL)\n", tag, \
- curr_sign*curr_low > outfile
- } else {
- printf "#define %-40s (%d%06dL)\n", tag, curr_high*curr_sign, \
- curr_low > outfile
- }
- curr_low += curr_sign;
- if (curr_low >= mod_base) {
- curr_low -= mod_base;
- curr_high++
- }
- if (curr_low < 0) {
- cur_low += mod_base
- cur_high--
- }
-}
-
-END {
- print "extern void initialize_" table_name "_error_table ();" > outfile
- if (tab_base_high == 0) {
- print "#define ERROR_TABLE_BASE_" table_name " (" \
- sprintf("%d", tab_base_sign*tab_base_low) \
- "L)" > outfile
- } else {
- print "#define ERROR_TABLE_BASE_" table_name " (" \
- sprintf("%d%06d", tab_base_sign*tab_base_high, \
- tab_base_low) "L)" > outfile
- }
- print "" > outfile
- print "/* for compatibility with older versions... */" > outfile
- print "#define init_" table_name "_err_tbl initialize_" table_name "_error_table" > outfile
- print "#define " table_name "_err_base ERROR_TABLE_BASE_" table_name > outfile
-}
diff --git a/util/et/et_lex.lex.l b/util/et/et_lex.lex.l
deleted file mode 100644
index b363e8c..0000000
--- a/util/et/et_lex.lex.l
+++ /dev/null
@@ -1,23 +0,0 @@
-PC [^\"]
-AN [A-Z_a-z0-9]
-%%
-
-error_table return ERROR_TABLE;
-et return ERROR_TABLE;
-error_code return ERROR_CODE_ENTRY;
-ec return ERROR_CODE_ENTRY;
-end return END;
-
-[\t\n ] ;
-
-\"{PC}*\" { register char *p; yylval.dynstr = ds(yytext+1);
- if (p=strrchr(yylval.dynstr, '"')) *p='\0';
- return QUOTED_STRING;
- }
-
-{AN}* { yylval.dynstr = ds(yytext); return STRING; }
-
-#.*\n ;
-
-. { return (*yytext); }
-%%
diff --git a/util/et/et_name.c b/util/et/et_name.c
deleted file mode 100644
index 044302b..0000000
--- a/util/et/et_name.c
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright 1987 by MIT Student Information Processing Board
- *
- * For copyright info, see mit-sipb-copyright.h.
- */
-
-#include "error_table.h"
-#include "mit-sipb-copyright.h"
-#include "internal.h"
-
-#ifndef lint
-static const char copyright[] =
- "Copyright 1987,1988 by Student Information Processing Board, Massachusetts Institute of Technology";
-#endif
-
-static const char char_set[] =
- "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_";
-
-static char buf[6];
-
-const char * error_table_name(num)
- int num;
-{
- int ch;
- int i;
- char *p;
-
- /* num = aa aaa abb bbb bcc ccc cdd ddd d?? ??? ??? */
- p = buf;
- num >>= ERRCODE_RANGE;
- /* num = ?? ??? ??? aaa aaa bbb bbb ccc ccc ddd ddd */
- num &= 077777777;
- /* num = 00 000 000 aaa aaa bbb bbb ccc ccc ddd ddd */
- for (i = 4; i >= 0; i--) {
- ch = (num >> BITS_PER_CHAR * i) & ((1 << BITS_PER_CHAR) - 1);
- if (ch != 0)
- *p++ = char_set[ch-1];
- }
- *p = '\0';
- return(buf);
-}
diff --git a/util/et/init_et.c b/util/et/init_et.c
deleted file mode 100644
index f52faca..0000000
--- a/util/et/init_et.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * util/et/init_et.c
- *
- * Copyright 1986, 1987, 1988 by MIT Information Systems and
- * the MIT Student Information Processing Board.
- *
- * For copyright info, see mit-sipb-copyright.h.
- */
-
-#include <stdio.h>
-#include "error_table.h"
-#include "mit-sipb-copyright.h"
-
-extern char *malloc(), *realloc();
-
-struct foobar {
- struct et_list etl;
- struct error_table et;
-};
-
-extern struct et_list * _et_list;
-
-int init_error_table(msgs, base, count)
- const char * const * msgs;
- int base;
- int count;
-{
- struct foobar * new_et;
-
- if (!base || !count || !msgs)
- return 0;
-
- new_et = (struct foobar *) malloc(sizeof(struct foobar));
- if (!new_et)
- return errno; /* oops */
- new_et->etl.table = &new_et->et;
- new_et->et.msgs = msgs;
- new_et->et.base = base;
- new_et->et.n_msgs= count;
-
- new_et->etl.next = _et_list;
- _et_list = &new_et->etl;
- return 0;
-}
diff --git a/util/et/internal.h b/util/et/internal.h
deleted file mode 100644
index a101f26..0000000
--- a/util/et/internal.h
+++ /dev/null
@@ -1,15 +0,0 @@
-/*
- * internal include file for com_err package
- */
-#include "mit-sipb-copyright.h"
-
-#include <errno.h>
-
-#ifdef NEED_SYS_ERRLIST
-extern char const * const sys_errlist[];
-extern const int sys_nerr;
-#endif
-
-#if defined(__STDC__) && !defined(HDR_HAS_PERROR)
-void perror (const char *);
-#endif
diff --git a/util/et/mit-sipb-copyright.h b/util/et/mit-sipb-copyright.h
deleted file mode 100644
index 2f7eb29..0000000
--- a/util/et/mit-sipb-copyright.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
-
-Copyright 1987, 1988 by the Student Information Processing Board
- of the Massachusetts Institute of Technology
-
-Permission to use, copy, modify, and distribute this software
-and its documentation for any purpose and without fee is
-hereby granted, provided that the above copyright notice
-appear in all copies and that both that copyright notice and
-this permission notice appear in supporting documentation,
-and that the names of M.I.T. and the M.I.T. S.I.P.B. not be
-used in advertising or publicity pertaining to distribution
-of the software without specific, written prior permission.
-M.I.T. and the M.I.T. S.I.P.B. make no representations about
-the suitability of this software for any purpose. It is
-provided "as is" without express or implied warranty.
-
-*/
-
diff --git a/util/et/test1.et b/util/et/test1.et
deleted file mode 100644
index 4c7b77f..0000000
--- a/util/et/test1.et
+++ /dev/null
@@ -1,69 +0,0 @@
- error_table krb
-
- error_code KRB_MK_AP_TKFIL,
- "Can't read ticket file"
-
- ec KRB_MK_AP_NOTKT,
- "Can't find ticket or TGT"
-
- ec KRB_MK_AP_TGTEXP,
- "TGT expired"
-
- ec KRB_RD_AP_UNDEC,
- "Can't decode authenticator"
-
- ec KRB_RD_AP_EXP,
- "Ticket expired"
-
- ec KRB_RD_AP_REPEAT,
- "Repeated request"
-
- ec KRB_RD_AP_NOT_US,
- "The ticket isn't for us"
-
- ec KRB_RD_AP_INCON,
- "Request is inconsistent"
-
- ec KRB_RD_AP_TIME,
- "Delta-T too big"
-
- ec KRB_RD_AP_BADD,
- "Incorrect net address"
-
- ec KRB_RD_AP_VERSION,
- "Protocol version mismatch"
-
- ec KRB_RD_AP_MSG_TYPE,
- "Invalid message type"
-
- ec KRB_RD_AP_MODIFIED,
- "Message stream modified"
-
- ec KRB_RD_AP_ORDER,
- "Message out of order"
-
- ec KRB_RD_AP_UNAUTHOR,
- "Unauthorized request"
-
- ec KRB_GT_PW_NULL,
- "Current password is null"
-
- ec KRB_GT_PW_BADPW,
- "Incorrect current password"
-
- ec KRB_GT_PW_PROT,
- "Protocol error"
-
- ec KRB_GT_PW_KDCERR,
- "Error returned by KDC"
-
- ec KRB_GT_PW_NULLTKT,
- "Null ticket returned by KDC"
-
- ec KRB_SKDC_RETRY,
- "Retry count exceeded"
-
- ec KRB_SKDC_CANT,
- "Can't send request"
-
- end
diff --git a/util/et/test2.et b/util/et/test2.et
deleted file mode 100644
index 55ad74e..0000000
--- a/util/et/test2.et
+++ /dev/null
@@ -1,9 +0,0 @@
- error_table quux
-
- ec FOO_ERR, "foo"
-
- ec BAR_ERR, "bar"
-
- ec BAZ_ERR, "meow"
-
- end
diff --git a/util/et/test_et.c b/util/et/test_et.c
deleted file mode 100644
index 955cb96..0000000
--- a/util/et/test_et.c
+++ /dev/null
@@ -1,47 +0,0 @@
-#include <stdio.h>
-#include <errno.h>
-#include "com_err.h"
-#include "test1.h"
-#include "test2.h"
-
-extern int sys_nerr, errno;
-
-main()
-{
- printf("Before initiating error table:\n\n");
- printf("Table name '%s'\n", error_table_name(KRB_MK_AP_TGTEXP));
- printf("UNIX name '%s'\n", error_table_name(EPERM));
- printf("Msg TGT-expired is '%s'\n", error_message(KRB_MK_AP_TGTEXP));
- printf("Msg EPERM is '%s'\n", error_message(EPERM));
- printf("Msg FOO_ERR is '%s'\n", error_message(FOO_ERR));
- printf("Msg {sys_nerr-1} is '%s'\n", error_message(sys_nerr-1));
- printf("Msg {sys_nerr} is '%s'\n", error_message(sys_nerr));
-
- printf("With 0: tgt-expired -> %s\n", error_message(KRB_MK_AP_TGTEXP));
-
- initialize_krb_error_table();
- printf("KRB error table initialized: base %d (%s), name %s\n",
- ERROR_TABLE_BASE_krb, error_message(ERROR_TABLE_BASE_krb),
- error_table_name(ERROR_TABLE_BASE_krb));
- initialize_krb_error_table();
- printf("With krb: tgt-expired -> %s\n",
- error_message(KRB_MK_AP_TGTEXP));
-
- initialize_quux_error_table();
- printf("QUUX error table initialized: base %d (%s), name %s\n",
- ERROR_TABLE_BASE_quux, error_message(ERROR_TABLE_BASE_quux),
- error_table_name(ERROR_TABLE_BASE_quux));
-
- printf("Msg for TGT-expired is '%s'\n",
- error_message(KRB_MK_AP_TGTEXP));
- printf("Msg {sys_nerr-1} is '%s'\n", error_message(sys_nerr-1));
- printf("Msg FOO_ERR is '%s'\n", error_message(FOO_ERR));
- printf("Msg KRB_SKDC_CANT is '%s'\n",
- error_message(KRB_SKDC_CANT));
- printf("Msg 1e6 (8B 64) is '%s'\n", error_message(1000000));
- printf("\n\nCOM_ERR tests:\n");
- com_err("whoami", FOO_ERR, (char *)NULL);
- com_err("whoami", FOO_ERR, " -- message goes %s", "here");
- com_err("whoami", 0, (char *)0);
- com_err("whoami", 0, "error number %d\n", 0);
-}
diff --git a/util/et/texinfo.tex b/util/et/texinfo.tex
deleted file mode 100644
index 838160c..0000000
--- a/util/et/texinfo.tex
+++ /dev/null
@@ -1,2077 +0,0 @@
-%% TeX macros to handle texinfo files
-
-% Copyright (C) 1985, 1986, 1988 Richard M. Stallman
-
-% NO WARRANTY
-
-% BECAUSE THIS PROGRAM IS LICENSED FREE OF CHARGE, WE PROVIDE ABSOLUTELY
-%NO WARRANTY, TO THE EXTENT PERMITTED BY APPLICABLE STATE LAW. EXCEPT
-%WHEN OTHERWISE STATED IN WRITING, FREE SOFTWARE FOUNDATION, INC,
-%RICHARD M. STALLMAN AND/OR OTHER PARTIES PROVIDE THIS PROGRAM "AS IS"
-%WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
-%BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
-%FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY
-%AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE
-%DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR
-%CORRECTION.
-
-% IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW WILL RICHARD M.
-%STALLMAN, THE FREE SOFTWARE FOUNDATION, INC., AND/OR ANY OTHER PARTY
-%WHO MAY MODIFY AND REDISTRIBUTE THIS PROGRAM AS PERMITTED BELOW, BE
-%LIABLE TO YOU FOR DAMAGES, INCLUDING ANY LOST PROFITS, LOST MONIES, OR
-%OTHER SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-%USE OR INABILITY TO USE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR
-%DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY THIRD PARTIES OR
-%A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS) THIS
-%PROGRAM, EVEN IF YOU HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH
-%DAMAGES, OR FOR ANY CLAIM BY ANY OTHER PARTY.
-
-% GENERAL PUBLIC LICENSE TO COPY
-
-% 1. You may copy and distribute verbatim copies of this source file
-%as you receive it, in any medium, provided that you conspicuously
-%and appropriately publish on each copy a valid copyright notice
-%"Copyright (C) 1986 Richard M. Stallman"; and include
-%following the copyright notice a verbatim copy of the above disclaimer
-%of warranty and of this License.
-
-% 2. You may modify your copy or copies of this source file or
-%any portion of it, and copy and distribute such modifications under
-%the terms of Paragraph 1 above, provided that you also do the following:
-
-% a) cause the modified files to carry prominent notices stating
-% that you changed the files and the date of any change; and
-
-% b) cause the whole of any work that you distribute or publish,
-% that in whole or in part contains or is a derivative of this
-% program or any part thereof, to be licensed at no charge to all
-% third parties on terms identical to those contained in this
-% License Agreement (except that you may choose to grant more extensive
-% warranty protection to some or all third parties, at your option).
-
-% c) You may charge a distribution fee for the physical act of
-% transferring a copy, and you may at your option offer warranty
-% protection in exchange for a fee.
-
-%Mere aggregation of another unrelated program with this program (or its
-%derivative) on a volume of a storage or distribution medium does not bring
-%the other program under the scope of these terms.
-
-% 3. You may copy and distribute this program (or a portion or derivative
-%of it, under Paragraph 2) in object code or executable form under the terms
-%of Paragraphs 1 and 2 above provided that you also do one of the following:
-
-% a) accompany it with the complete corresponding machine-readable
-% source code, which must be distributed under the terms of
-% Paragraphs 1 and 2 above; or,
-
-% b) accompany it with a written offer, valid for at least three
-% years, to give any third party free (except for a nominal
-% shipping charge) a complete machine-readable copy of the
-% corresponding source code, to be distributed under the terms of
-% Paragraphs 1 and 2 above; or,
-
-% c) accompany it with the information you received as to where the
-% corresponding source code may be obtained. (This alternative is
-% allowed only for noncommercial distribution and only if you
-% received the program in object code or executable form alone.)
-
-%For an executable file, complete source code means all the source code for
-%all modules it contains; but, as a special exception, it need not include
-%source code for modules which are standard libraries that accompany the
-%operating system on which the executable file runs.
-
-% 4. You may not copy, sublicense, distribute or transfer this program
-%except as expressly provided under this License Agreement. Any attempt
-%otherwise to copy, sublicense, distribute or transfer this program is void and
-%your rights to use the program under this License agreement shall be
-%automatically terminated. However, parties who have received computer
-%software programs from you with this License Agreement will not have
-%their licenses terminated so long as such parties remain in full compliance.
-
-% 5. If you wish to incorporate parts of this program into other free
-%programs whose distribution conditions are different, write to the Free
-%Software Foundation at 675 Mass Ave, Cambridge, MA 02139. We have not yet
-%worked out a simple rule that can be stated here, but we will often permit
-%this. We will be guided by the two goals of preserving the free status of
-%all derivatives of our free software and of promoting the sharing and reuse of
-%software.
-
-%In other words, you are welcome to use, share and improve this program.
-%You are forbidden to forbid anyone else to use, share and improve
-%what you give them. Help stamp out software-hoarding!
-
-\def\texinfoversion{1.18}
-\message{Loading texinfo package [Version \texinfoversion]:}
-\message{}
-
-% Save some parts of plain tex whose names we will redefine.
-
-\let\ptexlbrace=\{
-\let\ptexrbrace=\}
-\let\ptexdot=\.
-\let\ptexstar=\*
-\let\ptexend=\end
-\let\ptexbullet=\bullet
-\let\ptexb=\b
-\let\ptexc=\c
-\let\ptexi=\i
-\let\ptext=\t
-\let\ptexl=\l
-\let\ptexL=\L
-
-\def\tie{\penalty 10000\ } % Save plain tex definition of ~.
-
-\message{Basics,}
-\chardef\other=12
-
-\hyphenation{ap-pen-dix}
-\hyphenation{mini-buf-fer mini-buf-fers}
-\hyphenation{eshell}
-
-% Margin to add to right of even pages, to left of odd pages.
-\newdimen \bindingoffset \bindingoffset=0pt
-\newdimen \normaloffset \normaloffset=\hoffset
-\newdimen\pagewidth \newdimen\pageheight
-\pagewidth=\hsize \pageheight=\vsize
-
-%---------------------Begin change-----------------------
-%
-% Dimensions to add cropmarks at corners Added by P. A. MacKay, 12 Nov. 1986
-%
-\newdimen\cornerlong \newdimen\cornerthick
-\newdimen \topandbottommargin
-\newdimen \outerhsize \newdimen \outervsize
-\cornerlong=1pc\cornerthick=.3pt % These set size of cropmarks
-\outerhsize=7in
-\outervsize=9.5in
-\topandbottommargin=.75in
-%
-%---------------------End change-----------------------
-
-% \onepageout takes a vbox as an argument. Note that \pagecontents
-% does insertions itself, but you have to call it yourself.
-\chardef\PAGE=255 \output={\onepageout{\pagecontents\PAGE}}
-\def\onepageout#1{\hoffset=\normaloffset
-\ifodd\pageno \advance\hoffset by \bindingoffset
-\else \advance\hoffset by -\bindingoffset\fi
-\shipout\vbox{{\let\hsize=\pagewidth \makeheadline} \pagebody{#1}%
- {\let\hsize=\pagewidth \makefootline}}
-\advancepageno \ifnum\outputpenalty>-20000 \else\dosupereject\fi}
-
-
-% Here is a modification of the main output routine for Near East Publications
-% This provides right-angle cropmarks at all four corners.
-% The contents of the page are centerlined into the cropmarks,
-% and any desired binding offset is added as an \hskip on either
-% site of the centerlined box. (P. A. MacKay, 12 November, 1986)
-%
-\def\croppageout#1{\hoffset=0pt % make sure this doesn't mess things up
- \shipout
- \vbox to \outervsize{\hsize=\outerhsize
- \vbox{\line{\ewtop\hfill\ewtop}}
- \nointerlineskip
- \line{\vbox{\moveleft\cornerthick\nstop}
- \hfill
- \vbox{\moveright\cornerthick\nstop}}
- \vskip \topandbottommargin
- \centerline{\ifodd\pageno\hskip\bindingoffset\fi
- \vbox{
- {\let\hsize=\pagewidth \makeheadline}
- \pagebody{#1}
- {\let\hsize=\pagewidth \makefootline}}
- \ifodd\pageno\else\hskip\bindingoffset\fi}
- \vskip \topandbottommargin plus1fill minus1fill
- \boxmaxdepth\cornerthick
- \line{\vbox{\moveleft\cornerthick\nsbot}
- \hfill
- \vbox{\moveright\cornerthick\nsbot}}
- \nointerlineskip
- \vbox{\line{\ewbot\hfill\ewbot}}
- }
- \advancepageno
- \ifnum\outputpenalty>-20000 \else\dosupereject\fi}
-%
-% Do @cropmarks to get crop marks
-\def\cropmarks{\let\onepageout=\croppageout }
-
-\def\pagebody#1{\vbox to\pageheight{\boxmaxdepth=\maxdepth #1}}
-{\catcode`\@ =11
-\gdef\pagecontents#1{\ifvoid\topins\else\unvbox\topins\fi
-\dimen@=\dp#1 \unvbox#1
-\ifvoid\footins\else\vskip\skip\footins\footnoterule \unvbox\footins\fi
-\ifr@ggedbottom \kern-\dimen@ \vfil \fi}
-}
-
-%
-% Here are the rules for the cropmarks. Note that they are
-% offset so that the space between them is truly \outerhsize or \outervsize
-% (P. A. MacKay, 12 November, 1986)
-%
-\def\ewtop{\vrule height\cornerthick depth0pt width\cornerlong}
-\def\nstop{\vbox
- {\hrule height\cornerthick depth\cornerlong width\cornerthick}}
-\def\ewbot{\vrule height0pt depth\cornerthick width\cornerlong}
-\def\nsbot{\vbox
- {\hrule height\cornerlong depth\cornerthick width\cornerthick}}
-
-% Parse an argument, then pass it to #1.
-% The argument can be delimited with [...] or with "..." or braces
-% or it can be a whole line.
-% #1 should be a macro which expects
-% an ordinary undelimited TeX argument.
-
-\def\parsearg #1{\let\next=#1\begingroup\obeylines\futurelet\temp\parseargx}
-
-\def\parseargx{%
-\ifx \obeyedspace\temp \aftergroup\parseargdiscardspace \else%
-\aftergroup \parseargline %
-\fi \endgroup}
-
-{\obeyspaces %
-\gdef\parseargdiscardspace {\begingroup\obeylines\futurelet\temp\parseargx}}
-
-\gdef\obeyedspace{\ }
-
-\def\parseargline{\begingroup \obeylines \parsearglinex}
-{\obeylines %
-\gdef\parsearglinex #1^^M{\endgroup \next {#1}}}
-
-\def\flushcr{\ifx\par\lisppar \def\next##1{}\else \let\next=\relax \fi \next}
-
-%% These are used to keep @begin/@end levels from running away
-%% Call \inENV within environments (after a \begingroup)
-\newif\ifENV \ENVfalse \def\inENV{\ifENV\relax\else\ENVtrue\fi}
-\def\ENVcheck{%
-\ifENV\errmessage{Still within an environment. Type Return to continue.}
-\endgroup\fi} % This is not perfect, but it should reduce lossage
-
-% @begin foo is the same as @foo, for now.
-\newhelp\EMsimple{Type <Return> to continue}
-
-\outer\def\begin{\parsearg\beginxxx}
-
-\def\beginxxx #1{%
-\expandafter\ifx\csname #1\endcsname\relax
-{\errhelp=\EMsimple \errmessage{Undefined command @begin #1}}\else
-\csname #1\endcsname\fi}
-
-%% @end foo executes the definition of \Efoo.
-%% foo can be delimited by doublequotes or brackets.
-
-\def\end{\parsearg\endxxx}
-
-\def\endxxx #1{%
-\expandafter\ifx\csname E#1\endcsname\relax
-\expandafter\ifx\csname #1\endcsname\relax
-\errmessage{Undefined command @end #1}\else
-\errorE{#1}\fi\fi
-\csname E#1\endcsname}
-\def\errorE#1{
-{\errhelp=\EMsimple \errmessage{@end #1 not within #1 environment}}}
-
-% Single-spacing is done by various environments.
-
-\newskip\singlespaceskip \singlespaceskip = \baselineskip
-\def\singlespace{%
-{\advance \baselineskip by -\singlespaceskip
-\kern \baselineskip}%
-\baselineskip=\singlespaceskip
-}
-
-%% Simple single-character @ commands
-
-% @@ prints an @
-% Kludge this until the fonts are right (grr).
-\def\@{{\sf \char '100}}
-
-% Define @` and @' to be the same as ` and '
-% but suppressing ligatures.
-\def\`{{`}}
-\def\'{{'}}
-
-% Used to generate quoted braces.
-
-\def\mylbrace {{\tt \char '173}}
-\def\myrbrace {{\tt \char '175}}
-\let\{=\mylbrace
-\let\}=\myrbrace
-
-% @: forces normal size whitespace following.
-\def\:{\spacefactor=1000 }
-
-% @* forces a line break.
-\def\*{\hfil\break}
-
-% @. is an end-of-sentence period.
-\def\.{.\spacefactor=3000 }
-
-% @w prevents a word break
-\def\w #1{\hbox{#1}}
-
-% @group ... @end group forces ... to be all on one page.
-
-\def\group{\begingroup% \inENV ???
-\def \Egroup{\egroup\endgroup}
-\vbox\bgroup}
-
-% @br forces paragraph break
-
-\let\br = \par
-
-% @dots{} output some dots
-
-\def\dots{$\ldots$}
-
-% @page forces the start of a new page
-
-\def\page{\par\vfill\supereject}
-
-% @exdent text....
-% outputs text on separate line in roman font, starting at standard page margin
-
-\def\exdent{\errmessage{@exdent in filled text}}
- % @lisp, etc, define \exdent locally from \internalexdent
-
-{\obeyspaces
-\gdef\internalexdent{\parsearg\exdentzzz}}
-
-\def\exdentzzz #1{{\advance \leftskip by -\lispnarrowing
-\advance \hsize by -\leftskip
-\advance \hsize by -\rightskip
-\leftline{{\rm#1}}}}
-
-% @include file insert text of that file as input.
-
-\def\include{\parsearg\includezzz}
-\def\includezzz #1{{\def\thisfile{#1}\input #1
-}}
-
-\def\thisfile{}
-
-% @center line outputs that line, centered
-
-\def\center{\parsearg\centerzzz}
-\def\centerzzz #1{{\advance\hsize by -\leftskip
-\advance\hsize by -\rightskip
-\centerline{#1}}}
-
-% @sp n outputs n lines of vertical space
-
-\def\sp{\parsearg\spxxx}
-\def\spxxx #1{\par \vskip #1\baselineskip}
-
-% @comment ...line which is ignored...
-% @c is the same as @comment
-% @ignore ... @end ignore is another way to write a comment
-
-\def\comment{\parsearg \commentxxx}
-
-\def\commentxxx #1{}
-
-\let\c=\comment
-
-\long\def\ignore #1\end ignore{}
-
-\outer\def\ifset{\parsearg\ifsetxxx}
-
-\def\ifsetxxx #1#2\end ifset{%
-\expandafter\ifx\csname IF#1\endcsname\relax \else #2\fi}
-
-\outer\def\ifclear{\parsearg\ifclearxxx}
-
-\def\ifclearxxx #1#2\end ifclear{%
-\expandafter\ifx\csname IF#1\endcsname\relax #2\fi}
-
-% Some texinfo constructs that are trivial in tex
-
-\def\iftex{}
-\def\Eiftex{}
-\long\def\ifinfo #1\end ifinfo{}
-\long\def\menu #1\end menu{}
-\def\asis#1{#1}
-
-\def\node{\parsearg\nodezzz}
-\def\nodezzz#1{\nodexxx [#1,]}
-\def\nodexxx[#1,#2]{\gdef\lastnode{#1}}
-\let\lastnode=\relax
-
-\def\donoderef{\ifx\lastnode\relax\else
-\expandafter\expandafter\expandafter\setref{\lastnode}\fi
-\let\lastnode=\relax}
-
-\def\unnumbnoderef{\ifx\lastnode\relax\else
-\expandafter\expandafter\expandafter\unnumbsetref{\lastnode}\fi
-\let\lastnode=\relax}
-
-\let\refill=\relax
-
-\let\setfilename=\comment
-
-\def\inforef #1{\inforefzzz #1,,,,**}
-\def\inforefzzz #1,#2,#3,#4**{See Info file \file{\losespace#3{}}, node `\losespace#1{}'}
-\def\losespace #1{#1}
-
-\message{fonts,}
-
-% Font-change commands.
-
-%% Try out Computer Modern fonts at \magstephalf
-\font\tenrm=cmr10 scaled \magstephalf
-\font\tentt=cmtt10 scaled \magstephalf
-% Instead of cmb10, you many want to use cmbx10.
-% cmbx10 is a prettier font on its own, but cmb10
-% looks better when embedded in a line with cmr10.
-\font\tenbf=cmb10 scaled \magstephalf
-\font\tenit=cmti10 scaled \magstephalf
-\font\tensl=cmsl10 scaled \magstephalf
-\font\tensf=cmss10 scaled \magstephalf
-\def\li{\sf}
-\font\tensc=cmcsc10 scaled \magstephalf
-
-% Fonts for @defun, etc.
-\font\defbf=cmbx10 scaled \magstep1 %was 1314
-\let\deftt=\tentt
-\def\df{\let\tt=\deftt \defbf}
-
-% Font for title
-\font\titlerm = cmbx10 scaled \magstep5
-
-% Fonts for indices
-\font\indit=cmti9 \font\indrm=cmr9
-\def\indbf{\indrm} \def\indsl{\indit}
-\def\indexfonts{\let\it=\indit \let\sl=\indsl \let\bf=\indbf \let\rm=\indrm}
-
-% Fonts for headings
-\font\chaprm=cmbx10 scaled \magstep3
-\font\chapit=cmti10 scaled \magstep3
-\font\chapsl=cmsl10 scaled \magstep3
-\font\chaptt=cmtt10 scaled \magstep3
-\font\chapsf=cmss10 scaled \magstep3
-\let\chapbf=\chaprm
-
-\font\secrm=cmbx10 scaled \magstep2
-\font\secit=cmti10 scaled \magstep2
-\font\secsl=cmsl10 scaled \magstep2
-\font\sectt=cmtt10 scaled \magstep2
-\font\secsf=cmss10 scaled \magstep2
-\let\secbf=\secrm
-
-\font\ssecrm=cmbx10 scaled \magstep1
-\font\ssecit=cmti10 scaled \magstep1
-\font\ssecsl=cmsl10 scaled \magstep1
-\font\ssectt=cmtt10 scaled \magstep1
-\font\ssecsf=cmss10 scaled \magstep1
-\let\ssecbf=\ssecrm
-
-\def\textfonts{\let\rm=\tenrm\let\it=\tenit\let\sl=\tensl\let\bf=\tenbf%
-\let\sc=\tensc\let\sf=\tensf}
-\def\chapfonts{\let\rm=\chaprm\let\it=\chapit\let\sl=\chapsl\let\bf=\chapbf\let\tt=\chaptt\let\sf=\chapsf}
-\def\secfonts{\let\rm=\secrm\let\it=\secit\let\sl=\secsl\let\bf=\secbf\let\tt=\sectt\let\sf=\secsf}
-\def\subsecfonts{\let\rm=\ssecrm\let\it=\ssecit\let\sl=\ssecsl\let\bf=\ssecbf\let\tt=\ssectt\let\sf=\ssecsf}
-% Count depth in font-changes, for error checks
-\newcount\fontdepth \fontdepth=0
-
-%% Add scribe-like font environments, plus @l for inline lisp (usually sans
-%% serif) and @ii for TeX italic
-
-\def\i#1{{\sl #1}}
-\let\var=\i
-\let\dfn=\i
-\let\emph=\i
-\let\cite=\i
-
-\def\b#1{{\bf #1}}
-\let\strong=\b
-
-\def\t#1{{\tt \rawbackslash \frenchspacing #1}\null}
-\let\ttfont = \t
-\let\kbd=\t
-\let\code=\t
-\def\samp #1{`{\tt \rawbackslash \frenchspacing #1}'\null}
-\def\key #1{{\tt \uppercase{#1}}\null}
-\def\ctrl #1{{\tt \rawbackslash \hat}#1}
-
-\let\file=\samp
-
-\def\l#1{{\li #1}\null}
-
-\def\r#1{{\rm #1}}
-\def\s#1{{\sc #1}}
-\def\ii#1{{\it #1}}
-
-\def\titlefont#1{{\titlerm #1}}
-
-\def\titlepage{\begingroup \parindent=0pt \hbox{}%
-\let\oldpage=\page
-\def\page{\oldpage \hbox{}}}
-
-\def\Etitlepage{\endgroup\page\HEADINGSon}
-
-% Make altmode in file print out right
-
-\catcode `\^^[=\active \def^^[{$\diamondsuit$}
-
-\message{page headings,}
-
-%%% Set up page headings and footings.
-
-\let\thispage=\folio
-
-\newtoks \evenheadline % Token sequence for heading line of even pages
-\newtoks \oddheadline % Token sequence for heading line of odd pages
-\newtoks \evenfootline % Token sequence for footing line of even pages
-\newtoks \oddfootline % Token sequence for footing line of odd pages
-
-% Now make Tex use those variables
-\headline={{\textfonts\rm \ifodd\pageno \the\oddheadline \else \the\evenheadline \fi}}
-\footline={{\textfonts\rm \ifodd\pageno \the\oddfootline \else \the\evenfootline \fi}}
-
-% Commands to set those variables.
-% For example, this is what @headings on does
-% @evenheading @thistitle|@thispage|@thischapter
-% @oddheading @thischapter|@thispage|@thistitle
-% @evenfooting @thisfile||
-% @oddfooting ||@thisfile
-
-\def\evenheading{\parsearg\evenheadingxxx}
-\def\oddheading{\parsearg\oddheadingxxx}
-\def\everyheading{\parsearg\everyheadingxxx}
-
-\def\evenfooting{\parsearg\evenfootingxxx}
-\def\oddfooting{\parsearg\oddfootingxxx}
-\def\everyfooting{\parsearg\everyfootingxxx}
-
-{\catcode`\@=0 %
-
-\gdef\evenheadingxxx #1{\evenheadingyyy #1@|@|@|@|\finish}
-\gdef\evenheadingyyy #1@|#2@|#3@|#4\finish{%
-\global\evenheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
-
-\gdef\oddheadingxxx #1{\oddheadingyyy #1@|@|@|@|\finish}
-\gdef\oddheadingyyy #1@|#2@|#3@|#4\finish{%
-\global\oddheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
-
-\gdef\everyheadingxxx #1{\everyheadingyyy #1@|@|@|@|\finish}
-\gdef\everyheadingyyy #1@|#2@|#3@|#4\finish{%
-\global\evenheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}
-\global\oddheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
-
-\gdef\evenfootingxxx #1{\evenfootingyyy #1@|@|@|@|\finish}
-\gdef\evenfootingyyy #1@|#2@|#3@|#4\finish{%
-\global\evenfootline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
-
-\gdef\oddfootingxxx #1{\oddfootingyyy #1@|@|@|@|\finish}
-\gdef\oddfootingyyy #1@|#2@|#3@|#4\finish{%
-\global\oddfootline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
-
-\gdef\everyfootingxxx #1{\everyfootingyyy #1@|@|@|@|\finish}
-\gdef\everyfootingyyy #1@|#2@|#3@|#4\finish{%
-\global\evenfootline={\rlap{\centerline{#2}}\line{#1\hfil#3}}
-\global\oddfootline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
-%
-}% unbind the catcode of @.
-
-% @headings on turns them on.
-% @headings off turns them off.
-% By default, they are off.
-
-\def\headings #1 {\csname HEADINGS#1\endcsname}
-
-\def\HEADINGSoff{
-\global\evenheadline={\hfil} \global\evenfootline={\hfil}
-\global\oddheadline={\hfil} \global\oddfootline={\hfil}}
-\HEADINGSoff
-% When we turn headings on, set the page number to 1,
-% Put current file name in lower left corner,
-% Put chapter name on inside top of right hand pages, document
-% title on inside top of left hand pages, and page numbers on outside top
-% edge of all pages.
-\def\HEADINGSon{
-\pagealignmacro
-\global\pageno=1
-\global\evenfootline={\hfil}
-\global\oddfootline={\hfil}
-\global\evenheadline={\line{\folio\hfil\thistitle}}
-\global\oddheadline={\line{\thischapter\hfil\folio}}
-}
-
-% Subroutines used in generating headings
-% Produces Day Month Year style of output.
-\def\today{\number\day\space
-\ifcase\month\or
-January\or February\or March\or April\or May\or June\or
-July\or August\or September\or October\or November\or December\fi
-\space\number\year}
-
-% Use this if you want the Month Day, Year style of output.
-%\def\today{\ifcase\month\or
-%January\or February\or March\or April\or May\or June\or
-%July\or August\or September\or October\or November\or December\fi
-%\space\number\day, \number\year}
-
-% @settitle line... specifies the title of the document, for headings
-% It generates no output of its own
-
-\def\thistitle{No Title}
-\def\settitle{\parsearg\settitlezzz}
-\def\settitlezzz #1{\gdef\thistitle{#1}}
-
-\message{tables,}
-
-% Tables -- @table, @ftable, @item(x), @kitem(x), @xitem(x).
-
-% default indentation of table text
-\newdimen\tableindent \tableindent=.8in
-% default indentation of @itemize and @enumerate text
-\newdimen\itemindent \itemindent=.3in
-% margin between end of table item and start of table text.
-\newdimen\itemmargin \itemmargin=.1in
-
-% used internally for \itemindent minus \itemmargin
-\newdimen\itemmax
-
-% Note @table and @ftable define @item, @itemx, etc., with these defs.
-% They also define \itemindex
-% to index the item name in whatever manner is desired (perhaps none).
-
-\def\internalBitem{\smallbreak \parsearg\itemzzz}
-\def\internalBitemx{\par \parsearg\itemzzz}
-
-\def\internalBxitem "#1"{\def\xitemsubtopix{#1} \smallbreak \parsearg\xitemzzz}
-\def\internalBxitemx "#1"{\def\xitemsubtopix{#1} \par \parsearg\xitemzzz}
-
-\def\internalBkitem{\smallbreak \parsearg\kitemzzz}
-\def\internalBkitemx{\par \parsearg\kitemzzz}
-
-\def\kitemzzz #1{\dosubind {kw}{\code{#1}}{for {\bf \lastfunction}}\itemzzz {#1}}
-
-\def\xitemzzz #1{\dosubind {kw}{\code{#1}}{for {\bf \xitemsubtopic}}\itemzzz {#1}}
-
-\def\itemzzz #1{\begingroup %
-\advance \hsize by -\rightskip %
-\advance \hsize by -\leftskip %
-\setbox0=\hbox{\itemfont{#1}}%
-\itemindex{#1}%
-\parskip=0in %
-\noindent %
-\ifdim \wd0>\itemmax %
-\vadjust{\penalty 10000}%
-\hbox to \hsize{\hskip -\tableindent\box0\hss}\ %
-\else %
-\hbox to 0pt{\hskip -\tableindent\box0\hss}%
-\fi %
-\endgroup %
-}
-
-\def\item{\errmessage{@item while not in a table}}
-\def\itemx{\errmessage{@itemx while not in a table}}
-\def\kitem{\errmessage{@kitem while not in a table}}
-\def\kitemx{\errmessage{@kitemx while not in a table}}
-\def\xitem{\errmessage{@xitem while not in a table}}
-\def\xitemx{\errmessage{@xitemx while not in a table}}
-
-%% Contains a kludge to get @end[description] to work
-\def\description{\tablez{\dontindex}{1}{}{}{}{}}
-
-\def\table{\begingroup\inENV\obeylines\obeyspaces\tablex}
-{\obeylines\obeyspaces%
-\gdef\tablex #1^^M{%
-\tabley\dontindex#1 \endtabley}}
-
-\def\ftable{\begingroup\inENV\obeylines\obeyspaces\ftablex}
-{\obeylines\obeyspaces%
-\gdef\ftablex #1^^M{%
-\tabley\fnitemindex#1 \endtabley}}
-
-\def\dontindex #1{}
-\def\fnitemindex #1{\doind {fn}{\code{#1}}}%
-
-{\obeyspaces %
-\gdef\tabley#1#2 #3 #4 #5 #6 #7\endtabley{\endgroup%
-\tablez{#1}{#2}{#3}{#4}{#5}{#6}}}
-
-\def\tablez #1#2#3#4#5#6{%
-\aboveenvbreak %
-\begingroup %
-\def\Edescription{\Etable}% Neccessary kludge.
-\let\itemindex=#1%
-\ifnum 0#3>0 \advance \leftskip by #3\mil \fi %
-\ifnum 0#4>0 \tableindent=#4\mil \fi %
-\ifnum 0#5>0 \advance \rightskip by #5\mil \fi %
-\def\itemfont{#2}%
-\itemmax=\tableindent %
-\advance \itemmax by -\itemmargin %
-\advance \leftskip by \tableindent %
-\parindent = 0pt
-\parskip = \smallskipamount
-\ifdim \parskip=0pt \parskip=2pt \fi%
-\def\Etable{\endgraf\endgroup\afterenvbreak}%
-\let\item = \internalBitem %
-\let\itemx = \internalBitemx %
-\let\kitem = \internalBkitem %
-\let\kitemx = \internalBkitemx %
-\let\xitem = \internalBxitem %
-\let\xitemx = \internalBxitemx %
-}
-
-% This is the counter used by @enumerate, which is really @itemize
-
-\newcount \itemno
-
-\def\itemize{\parsearg\itemizezzz}
-
-\def\itemizezzz #1{\itemizey {#1}{\Eitemize}}
-
-\def\itemizey #1#2{%
-\aboveenvbreak %
-\begingroup %
-\itemno = 0 %
-\itemmax=\itemindent %
-\advance \itemmax by -\itemmargin %
-\advance \leftskip by \itemindent %
-\parindent = 0pt
-\parskip = \smallskipamount
-\ifdim \parskip=0pt \parskip=2pt \fi%
-\def#2{\endgraf\endgroup\afterenvbreak}%
-\def\itemcontents{#1}%
-\let\item=\itemizeitem}
-
-\def\bullet{$\ptexbullet$}
-\def\minus{$-$}
-
-\def\enumerate{\itemizey{\the\itemno.}\Eenumerate\flushcr}
-
-% Definition of @item while inside @itemize.
-
-\def\itemizeitem{%
-\advance\itemno by 1
-{\let\par=\endgraf \smallbreak}%
-\ifhmode \errmessage{\in hmode at itemizeitem}\fi
-{\parskip=0in \hskip 0pt
-\hbox to 0pt{\hss \itemcontents\hskip \itemmargin}%
-\vadjust{\penalty 300}}%
-\flushcr}
-
-\message{indexing,}
-% Index generation facilities
-
-% Define \newwrite to be identical to plain tex's \newwrite
-% except not \outer, so it can be used within \newindex.
-{\catcode`\@=11
-\gdef\newwrite{\alloc@7\write\chardef\sixt@@n}}
-
-% \newindex {foo} defines an index named foo.
-% It automatically defines \fooindex such that
-% \fooindex ...rest of line... puts an entry in the index foo.
-% It also defines \fooindfile to be the number of the output channel for
-% the file that accumulates this index. The file's extension is foo.
-% The name of an index should be no more than 2 characters long
-% for the sake of vms.
-
-\def\newindex #1{
-\expandafter\newwrite \csname#1indfile\endcsname% Define number for output file
-\openout \csname#1indfile\endcsname \jobname.#1 % Open the file
-\expandafter\xdef\csname#1index\endcsname{% % Define \xxxindex
-\noexpand\doindex {#1}}
-}
-
-% @defindex foo == \newindex{foo}
-
-\def\defindex{\parsearg\newindex}
-
-% Define @defcodeindex, like @defindex except put all entries in @code.
-
-\def\newcodeindex #1{
-\expandafter\newwrite \csname#1indfile\endcsname% Define number for output file
-\openout \csname#1indfile\endcsname \jobname.#1 % Open the file
-\expandafter\xdef\csname#1index\endcsname{% % Define \xxxindex
-\noexpand\docodeindex {#1}}
-}
-
-\def\defcodeindex{\parsearg\newcodeindex}
-
-% @synindex foo bar makes index foo feed into index bar.
-% Do this instead of @defindex foo if you don't want it as a separate index.
-\def\synindex #1 #2 {%
-\expandafter\xdef\csname#1index\endcsname{% % Define \xxxindex
-\noexpand\doindex {#2}}%
-}
-
-% @syncodeindex foo bar similar, but put all entries made for index foo
-% inside @code.
-\def\syncodeindex #1 #2 {%
-\expandafter\xdef\csname#1index\endcsname{% % Define \xxxindex
-\noexpand\docodeindex {#2}}%
-}
-
-% Define \doindex, the driver for all \fooindex macros.
-% Argument #1 is generated by the calling \fooindex macro,
-% and it is "foo", the name of the index.
-
-% \doindex just uses \parsearg; it calls \doind for the actual work.
-% This is because \doind is more useful to call from other macros.
-
-% There is also \dosubind {index}{topic}{subtopic}
-% which makes an entry in a two-level index such as the operation index.
-
-\def\doindex#1{\edef\indexname{#1}\parsearg\singleindexer}
-\def\singleindexer #1{\doind{\indexname}{#1}}
-
-% like the previous two, but they put @code around the argument.
-\def\docodeindex#1{\edef\indexname{#1}\parsearg\singlecodeindexer}
-\def\singlecodeindexer #1{\doind{\indexname}{\code{#1}}}
-
-\def\indexdummies{%
-\def\bf{\realbackslash bf }%
-\def\rm{\realbackslash rm }%
-\def\sl{\realbackslash sl }%
-\def\dots{\realbackslash dots }%
-\def\copyright{\realbackslash copyright }%
-}
-
-% \indexnofonts no-ops all font-change commands.
-% This is used when outputting the strings to sort the index by.
-\def\indexdummyfont#1{#1}
-\def\indexnofonts{%
-\let\code=\indexdummyfont
-\let\samp=\indexdummyfont
-\let\kbd=\indexdummyfont
-\let\key=\indexdummyfont
-\let\var=\indexdummyfont
-}
-
-% To define \realbackslash, we must make \ not be an escape.
-% We must first make another character (@) an escape
-% so we do not become unable to do a definition.
-
-{\catcode`\@=0 \catcode`\\=\other
-@gdef@realbackslash{\}}
-
-\let\indexbackslash=0 %overridden during \printindex.
-
-\def\doind #1#2{%
-{\indexdummies % Must do this here, since \bf, etc expand at this stage
-\count10=\lastpenalty %
-\escapechar=`\\%
-{\let\folio=0% Expand all macros now EXCEPT \folio
-\def\rawbackslashxx{\indexbackslash}% \indexbackslash isn't defined now
-% so it will be output as is; and it will print as backslash in the indx.
-%
-% Now process the index-string once, with all font commands turned off,
-% to get the string to sort the index by.
-{\indexnofonts
-\xdef\temp1{#2}%
-}%
-% Now produce the complete index entry. We process the index-string again,
-% this time with font commands expanded, to get what to print in the index.
-\edef\temp{%
-\write \csname#1indfile\endcsname{%
-\realbackslash entry {\temp1}{\folio}{#2}}}%
-\temp }%
-\penalty\count10}}
-
-\def\dosubind #1#2#3{%
-{\indexdummies % Must do this here, since \bf, etc expand at this stage
-\count10=\lastpenalty %
-\escapechar=`\\%
-{\let\folio=0%
-\def\rawbackslashxx{\indexbackslash}%
-%
-% Now process the index-string once, with all font commands turned off,
-% to get the string to sort the index by.
-{\indexnofonts
-\xdef\temp1{#2 #3}%
-}%
-% Now produce the complete index entry. We process the index-string again,
-% this time with font commands expanded, to get what to print in the index.
-\edef\temp{%
-\write \csname#1indfile\endcsname{%
-\realbackslash entry {\temp1}{\folio}{#2}{#3}}}%
-\temp }%
-\penalty\count10}}
-
-% The index entry written in the file actually looks like
-% \entry {sortstring}{page}{topic}
-% or
-% \entry {sortstring}{page}{topic}{subtopic}
-% The texindex program reads in these files and writes files
-% containing these kinds of lines:
-% \initial {c}
-% before the first topic whose initial is c
-% \entry {topic}{pagelist}
-% for a topic that is used without subtopics
-% \primary {topic}
-% for the beginning of a topic that is used with subtopics
-% \secondary {subtopic}{pagelist}
-% for each subtopic.
-
-% Define the user-accessible indexing commands
-% @findex, @vindex, @kindex, @cindex.
-
-\def\findex {\fnindex}
-\def\kindex {\kyindex}
-\def\cindex {\cpindex}
-\def\vindex {\vrindex}
-\def\tindex {\tpindex}
-\def\pindex {\pgindex}
-
-\def\cindexsub {\begingroup\obeylines\cindexsub}
-{\obeylines %
-\gdef\cindexsub "#1" #2^^M{\endgroup %
-\dosubind{cp}{#2}{#1}}}
-
-% Define the macros used in formatting output of the sorted index material.
-
-% This is what you call to cause a particular index to get printed.
-% Write
-% @unnumbered Function Index
-% @printindex fn
-
-\def\printindex{\parsearg\doprintindex}
-
-\def\doprintindex#1{\tex %
-\catcode`\%=\other\catcode`\&=\other\catcode`\#=\other
-\catcode`\$=\other\catcode`\_=\other
-\catcode`\~=\other
-\def\indexbackslash{\rawbackslashxx}
-\indexfonts\rm \tolerance=9500 \advance\baselineskip -1pt
-\begindoublecolumns
-\openin 1 \jobname.#1s
-\ifeof 1 \else \closein 1 \input \jobname.#1s
-\fi
-\enddoublecolumns
-\Etex}
-
-% These macros are used by the sorted index file itself.
-% Change them to control the appearance of the index.
-
-% Same as \bigskipamount except no shrink.
-% \balancecolumns gets confused if there is any shrink.
-\newskip\initialskipamount \initialskipamount 12pt plus4pt
-
-\outer\def\initial #1{%
-{\let\tentt=\sectt \let\sf=\sectt
-\ifdim\lastskip<\initialskipamount
-\removelastskip \penalty-200 \vskip \initialskipamount\fi
-\line{\secbf#1\hfill}\kern 2pt\penalty3000}}
-
-\outer\def\entry #1#2{
-{\parfillskip=0in \parskip=0in \parindent=0in
-\hangindent=1in \hangafter=1%
-\noindent\hbox{#1}\leaders\Dotsbox\hskip 0pt plus 1filll #2\par
-}}
-
-\def\primary #1{\line{#1\hfil}}
-
-\newskip\secondaryindent \secondaryindent=0.5cm
-
-\def\secondary #1#2{
-{\parfillskip=0in \parskip=0in
-\hangindent =1in \hangafter=1
-\noindent\hskip\secondaryindent\hbox{#1}\leaders\Dotsbox\hskip 0pt plus 1filll#2\par
-}}
-
-%% Define two-column mode, which is used in indexes.
-%% Adapted from the TeXBook, page 416
-\catcode `\@=11
-
-\newbox\partialpage
-
-\newdimen\doublecolumnhsize \doublecolumnhsize = 3.11in
-\newdimen\doublecolumnvsize \doublecolumnvsize = 19.1in
-
-\def\begindoublecolumns{\begingroup
- \output={\global\setbox\partialpage=\vbox{\unvbox255\kern -\topskip \kern \baselineskip}}\eject
- \output={\doublecolumnout} \hsize=\doublecolumnhsize \vsize=\doublecolumnvsize}
-\def\enddoublecolumns{\output={\balancecolumns}\eject
- \endgroup \pagegoal=\vsize}
-
-\def\doublecolumnout{\splittopskip=\topskip \splitmaxdepth=\maxdepth
- \dimen@=\pageheight \advance\dimen@ by-\ht\partialpage
- \setbox0=\vsplit255 to\dimen@ \setbox2=\vsplit255 to\dimen@
- \onepageout\pagesofar \unvbox255 \penalty\outputpenalty}
-\def\pagesofar{\unvbox\partialpage %
- \hsize=\doublecolumnhsize % have to restore this since output routine
-% changes it to set cropmarks (P. A. MacKay, 12 Nov. 1986)
- \wd0=\hsize \wd2=\hsize \hbox to\pagewidth{\box0\hfil\box2}}
-\def\balancecolumns{\setbox0=\vbox{\unvbox255} \dimen@=\ht0
- \advance\dimen@ by\topskip \advance\dimen@ by-\baselineskip
- \divide\dimen@ by2 \splittopskip=\topskip
- {\vbadness=10000 \loop \global\setbox3=\copy0
- \global\setbox1=\vsplit3 to\dimen@
- \ifdim\ht3>\dimen@ \global\advance\dimen@ by1pt \repeat}
- \setbox0=\vbox to\dimen@{\unvbox1} \setbox2=\vbox to\dimen@{\unvbox3}
- \pagesofar}
-
-\catcode `\@=\other
-\message{sectioning,}
-% Define chapters, sections, etc.
-
-\newcount \chapno
-\newcount \secno
-\newcount \subsecno
-\newcount \subsubsecno
-
-% This counter is funny since it counts through charcodes of letters A, B, ...
-\newcount \appendixno \appendixno = `\@
-\def\appendixletter{\char\the\appendixno}
-
-\newwrite \contentsfile
-\openout \contentsfile = \jobname.toc
-
-% Each @chapter defines this as the name of the chapter.
-% page headings and footings can use it. @section does likewise
-
-\def\thischapter{} \def\thissection{}
-\def\seccheck#1{\if \pageno<0 %
-\errmessage{@#1 not allowed after generating table of contents}\fi
-%
-}
-
-\outer\def\chapter{\parsearg\chapterzzz}
-\def\chapterzzz #1{\seccheck{chapter}%
-\secno=0 \subsecno=0 \subsubsecno=0 \global\advance \chapno by 1 \message{Chapter \the\chapno}%
-\chapmacro {#1}{\the\chapno}%
-\gdef\thissection{#1}\gdef\thischapter{#1}%
-\let\rawbackslash=\relax%
-\let\frenchspacing=\relax%
-\edef\temp{{\realbackslash chapentry {#1}{\the\chapno}{\noexpand\folio}}}%
-\escapechar=`\\%
-\write \contentsfile \temp %
-\donoderef %
-}
-
-\outer\def\appendix{\parsearg\appendixzzz}
-\def\appendixzzz #1{\seccheck{appendix}%
-\secno=0 \subsecno=0 \subsubsecno=0 \global\advance \appendixno by 1 \message{Appendix \appendixletter}%
-\chapmacro {#1}{Appendix \appendixletter}%
-\gdef\thischapter{#1}\gdef\thissection{#1}%
-\let\rawbackslash=\relax%
-\let\frenchspacing=\relax%
-\edef\temp{{\realbackslash chapentry {#1}{Appendix \appendixletter}{\noexpand\folio}}}%
-\escapechar=`\\%
-\write \contentsfile \temp %
-\unnumbnoderef %
-}
-
-\outer\def\unnumbered{\parsearg\unnumberedzzz}
-\def\unnumberedzzz #1{\seccheck{unnumbered}%
-\secno=0 \subsecno=0 \subsubsecno=0 \message{(#1)}
-\unnumbchapmacro {#1}%
-\gdef\thischapter{#1}\gdef\thissection{#1}%
-\let\rawbackslash=\relax%
-\let\frenchspacing=\relax%
-\edef\temp{{\realbackslash unnumbchapentry {#1}{\noexpand\folio}}}%
-\escapechar=`\\%
-\write \contentsfile \temp %
-\unnumbnoderef %
-}
-
-\outer\def\section{\parsearg\sectionzzz}
-\def\sectionzzz #1{\seccheck{section}%
-\subsecno=0 \subsubsecno=0 \global\advance \secno by 1 %
-\gdef\thissection{#1}\secheading {#1}{\the\chapno}{\the\secno}%
-\let\rawbackslash=\relax%
-\let\frenchspacing=\relax%
-\edef\temp{{\realbackslash secentry %
-{#1}{\the\chapno}{\the\secno}{\noexpand\folio}}}%
-\escapechar=`\\%
-\write \contentsfile \temp %
-\donoderef %
-\penalty 10000 %
-}
-
-\outer\def\appendixsection{\parsearg\appendixsectionzzz}
-\outer\def\appendixsec{\parsearg\appendixsectionzzz}
-\def\appendixsectionzzz #1{\seccheck{appendixsection}%
-\subsecno=0 \subsubsecno=0 \global\advance \secno by 1 %
-\gdef\thissection{#1}\secheading {#1}{\appendixletter}{\the\secno}%
-\let\rawbackslash=\relax%
-\let\frenchspacing=\relax%
-\edef\temp{{\realbackslash secentry %
-{#1}{\appendixletter}{\the\secno}{\noexpand\folio}}}%
-\escapechar=`\\%
-\write \contentsfile \temp %
-\unnumbnoderef %
-\penalty 10000 %
-}
-
-\outer\def\unnumberedsec{\parsearg\unnumberedseczzz}
-\def\unnumberedseczzz #1{\seccheck{unnumberedsec}%
-\plainsecheading {#1}\gdef\thissection{#1}%
-\let\rawbackslash=\relax%
-\let\frenchspacing=\relax%
-\edef\temp{{\realbackslash unnumbsecentry{#1}{\noexpand\folio}}}%
-\escapechar=`\\%
-\write \contentsfile \temp %
-\unnumbnoderef %
-\penalty 10000 %
-}
-
-\outer\def\subsection{\parsearg\subsectionzzz}
-\def\subsectionzzz #1{\seccheck{subsection}%
-\gdef\thissection{#1}\subsubsecno=0 \global\advance \subsecno by 1 %
-\subsecheading {#1}{\the\chapno}{\the\secno}{\the\subsecno}%
-\let\rawbackslash=\relax%
-\let\frenchspacing=\relax%
-\edef\temp{{\realbackslash subsecentry %
-{#1}{\the\chapno}{\the\secno}{\the\subsecno}{\noexpand\folio}}}%
-\escapechar=`\\%
-\write \contentsfile \temp %
-\donoderef %
-\penalty 10000 %
-}
-
-\outer\def\appendixsubsec{\parsearg\appendixsubseczzz}
-\def\appendixsubseczzz #1{\seccheck{appendixsubsec}%
-\gdef\thissection{#1}\subsubsecno=0 \global\advance \subsecno by 1 %
-\subsecheading {#1}{\appendixletter}{\the\secno}{\the\subsecno}%
-\let\rawbackslash=\relax%
-\let\frenchspacing=\relax%
-\edef\temp{{\realbackslash subsecentry %
-{#1}{\appendixletter}{\the\secno}{\the\subsecno}{\noexpand\folio}}}%
-\escapechar=`\\%
-\write \contentsfile \temp %
-\unnumbnoderef %
-\penalty 10000 %
-}
-
-\outer\def\unnumberedsubsec{\parsearg\unnumberedsubseczzz}
-\def\unnumberedsubseczzz #1{\seccheck{unnumberedsubsec}%
-\plainsecheading {#1}\gdef\thissection{#1}%
-\let\rawbackslash=\relax%
-\let\frenchspacing=\relax%
-\edef\temp{{\realbackslash unnumbsubsecentry{#1}{\noexpand\folio}}}%
-\escapechar=`\\%
-\write \contentsfile \temp %
-\unnumbnoderef %
-\penalty 10000 %
-}
-
-\outer\def\subsubsection{\parsearg\subsubsectionzzz}
-\def\subsubsectionzzz #1{\seccheck{subsubsection}%
-\gdef\thissection{#1}\global\advance \subsubsecno by 1 %
-\subsubsecheading {#1}{\the\chapno}{\the\secno}{\the\subsecno}{\the\subsubsecno}%
-\let\rawbackslash=\relax%
-\let\frenchspacing=\relax%
-\edef\temp{{\realbackslash subsubsecentry %
-{#1}{\the\chapno}{\the\secno}{\the\subsecno}{\the\subsubsecno}{\noexpand\folio}}}%\
-\escapechar=`\\%
-\write \contentsfile \temp %
-\donoderef %
-\penalty 10000 %
-}
-
-\outer\def\appendixsubsubsec{\parsearg\appendixsubsubseczzz}
-\def\appendixsubsubseczzz #1{\seccheck{appendixsubsubsec}%
-\gdef\thissection{#1}\global\advance \subsubsecno by 1 %
-\subsubsecheading {#1}{\appendixletter}{\the\secno}{\the\subsecno}{\the\subsubsecno}%
-\let\rawbackslash=\relax%
-\let\frenchspacing=\relax%
-\edef\temp{{\realbackslash subsubsecentry{#1}%
-{\appendixletter}{\the\secno}{\the\subsecno}{\the\subsubsecno}{\noexpand\folio}}}%\
-\escapechar=`\\%
-\write \contentsfile \temp %
-\unnumbnoderef %
-\penalty 10000 %
-}
-
-\outer\def\unnumberedsubsubsec{\parsearg\unnumberedsubsubseczzz}
-\def\unnumberedsubsubseczzz #1{\seccheck{unnumberedsubsubsec}%
-\plainsecheading {#1}\gdef\thissection{#1}%
-\let\rawbackslash=\relax%
-\let\frenchspacing=\relax%
-\edef\temp{{\realbackslash unnumbsubsubsecentry{#1}{\noexpand\folio}}}%
-\escapechar=`\\%
-\write \contentsfile \temp %
-\unnumbnoderef %
-\penalty 10000 %
-}
-
-% Define @majorheading, @heading and @subheading
-
-\outer\def\majorheading #1{%
-{\advance\chapheadingskip by 10pt \chapbreak }%
-{\chapfonts \line{\chaprm #1\hfill}}\bigskip \par\penalty 200}
-
-\outer\def\chapheading #1{\chapbreak %
-{\chapfonts \line{\chaprm #1\hfill}}\bigskip \par\penalty 200}
-
-\let\heading=\secheadingi
-\let\subheading=\subsecheadingi
-\let\subsubheading=\subsubsecheadingi
-
-% These macros generate a chapter, section, etc. heading only
-% (including whitespace, linebreaking, etc. around it),
-% given all the information in convenient, parsed form.
-
-%%% Args are the skip and penalty (usually negative)
-\def\dobreak#1#2{\par\ifdim\lastskip<#1\removelastskip\penalty#2\vskip#1\fi}
-
-\def\setchapterstyle #1 {\csname CHAPF#1\endcsname}
-
-%%% Define plain chapter starts, and page on/off switching for it
-% Parameter controlling skip before chapter headings (if needed)
-
-\newskip \chapheadingskip \chapheadingskip = 30pt plus 8pt minus 4pt
-
-\def\chapbreak{\dobreak \chapheadingskip {-4000}}
-\def\chappager{\par\vfill\supereject}
-\def\chapoddpage{\chappager \ifodd\pageno \else \hbox to 0pt{} \chappager\fi}
-
-\def\setchapternewpage #1 {\csname CHAPPAG#1\endcsname}
-
-\def\CHAPPAGoff{
-\global\let\pchapsepmacro=\chapbreak
-\global\let\pagealignmacro=\chappager}
-
-\def\CHAPPAGon{
-\global\let\pchapsepmacro=\chappager
-\global\let\pagealignmacro=\chappager}
-
-\def\CHAPPAGodd{
-\global\let\pchapsepmacro=\chapoddpage
-\global\let\pagealignmacro=\chapoddpage}
-
-\CHAPPAGon
-
-\def\CHAPFplain{
-\global\let\chapmacro=\chfplain
-\global\let\unnumbchapmacro=\unnchfplain}
-
-\def\chfplain #1#2{%
-\pchapsepmacro %
-{\chapfonts \line{\chaprm #2.\enspace #1\hfill}}\bigskip \par\penalty 5000 %
-}
-
-\def\unnchfplain #1{%
-\pchapsepmacro %
-{\chapfonts \line{\chaprm #1\hfill}}\bigskip \par\penalty 10000 %
-}
-\CHAPFplain % The default
-
-\def\unnchfopen #1{%
-\chapoddpage {\chapfonts \line{\chaprm #1\hfill}}\bigskip \par\penalty 10000 %
-}
-
-\def\chfopen #1#2{\chapoddpage {\chapfonts
-\vbox to 3in{\vfil \hbox to\hsize{\hfil #2} \hbox to\hsize{\hfil #1} \vfil}}%
-\par\penalty 5000 %
-}
-
-\def\CHAPFopen{
-\global\let\chapmacro=\chfopen
-\global\let\unnumbchapmacro=\unnchfopen}
-
-% Parameter controlling skip before section headings.
-
-\newskip \subsecheadingskip \subsecheadingskip = 17pt plus 8pt minus 4pt
-\def\subsecheadingbreak{\dobreak \subsecheadingskip {-500}}
-
-\newskip \secheadingskip \secheadingskip = 21pt plus 8pt minus 4pt
-\def\secheadingbreak{\dobreak \secheadingskip {-1000}}
-
-\def\secheading #1#2#3{\secheadingi {#2.#3\enspace #1}}
-\def\plainsecheading #1{\secheadingi {#1}}
-\def\secheadingi #1{{\advance \secheadingskip by \parskip %
-\secheadingbreak}%
-{\secfonts \line{\secrm #1\hfill}}%
-\ifdim \parskip<10pt \kern 10pt\kern -\parskip\fi \penalty 10000 }
-
-\def\subsecheading #1#2#3#4{{\advance \subsecheadingskip by \parskip %
-\subsecheadingbreak}%
-{\secfonts \line{\secrm#2.#3.#4\enspace #1\hfill}}%
-\ifdim \parskip<10pt \kern 10pt\kern -\parskip\fi \penalty 10000 }
-
-\def\subsubsecfonts{\subsecfonts} % Maybe this should change
-
-\def\subsubsecheading #1#2#3#4#5{{\advance \subsecheadingskip by \parskip %
-\subsecheadingbreak}%
-{\secfonts \line{\secrm#2.#3.#4.#5\enspace #1\hfill}}%
-\ifdim \parskip<10pt \kern 10pt\kern -\parskip\fi \penalty 10000}
-
-\message{toc printing,}
-
-\def\Dotsbox{\hbox to 1em{\hss.\hss}} % Used by index macros
-
-\def\finishcontents{%
-\ifnum\pageno>0 %
-\pagealignmacro %
-\immediate\closeout \contentsfile%
-\pageno=-1 % Request roman numbered pages
-\fi}
-
-\outer\def\contents{%
-\finishcontents %
-\unnumbchapmacro{Table of Contents}
-\def\thischapter{Table of Contents}
-{\catcode`\\=0
-\catcode`\{=1 % Set up to handle contents files properly
-\catcode`\}=2
-\catcode`\@=11
-\input \jobname.toc
-}
-\vfill \eject}
-
-\outer\def\summarycontents{%
-\finishcontents %
-\unnumbchapmacro{Summary Table of Contents}
-\def\thischapter{Summary Table of Contents}
-{\catcode`\\=0
-\catcode`\{=1 % Set up to handle contents files properly
-\catcode`\}=2
-\catcode`\@=11
-\def\smallbreak{}
-\def\secentry ##1##2##3##4{}
-\def\subsecentry ##1##2##3##4##5{}
-\def\subsubsecentry ##1##2##3##4##5##6{}
-\def\unnumbsecentry ##1##2{}
-\def\unnumbsubsecentry ##1##2{}
-\def\unnumbsubsubsecentry ##1##2{}
-\let\medbreak=\smallbreak
-\input \jobname.toc
-}
-\vfill \eject}
-
-\outer\def\bye{\pagealignmacro\tracingstats=1\ptexend}
-
-% These macros generate individual entries in the table of contents
-% The first argument is the chapter or section name.
-% The last argument is the page number.
-% The arguments in between are the chapter number, section number, ...
-
-\def\chapentry #1#2#3{%
-\medbreak
-\line{#2.\space#1\leaders\hbox to 1em{\hss.\hss}\hfill #3}
-}
-
-\def\unnumbchapentry #1#2{%
-\medbreak
-\line{#1\leaders\Dotsbox\hfill #2}
-}
-
-\def\secentry #1#2#3#4{%
-\line{\enspace\enspace#2.#3\space#1\leaders\Dotsbox\hfill#4}
-}
-
-\def\unnumbsecentry #1#2{%
-\line{\enspace\enspace#1\leaders\Dotsbox\hfill #2}
-}
-
-\def\subsecentry #1#2#3#4#5{%
-\line{\enspace\enspace\enspace\enspace
-#2.#3.#4\space#1\leaders\Dotsbox\hfill #5}
-}
-
-\def\unnumbsubsecentry #1#2{%
-\line{\enspace\enspace\enspace\enspace#1\leaders\Dotsbox\hfill #2}
-}
-
-\def\subsubsecentry #1#2#3#4#5#6{%
-\line{\enspace\enspace\enspace\enspace\enspace\enspace
-#2.#3.#4.#5\space#1\leaders\Dotsbox\hfill #6}
-}
-
-\def\unnumbsubsubsecentry #1#2{%
-\line{\enspace\enspace\enspace\enspace\enspace\enspace#1\leaders\Dotsbox\hfill #2}
-}
-
-\message{environments,}
-
-% @tex ... @end tex escapes into raw Tex temporarily.
-% One exception: @ is still an escape character, so that @end tex works.
-% But \@ or @@ will get a plain tex @ character.
-
-\def\tex{\begingroup
-\catcode `\\=0 \catcode `\{=1 \catcode `\}=2
-\catcode `\$=3 \catcode `\&=4 \catcode `\#=6
-\catcode `\^=7 \catcode `\_=8 \catcode `\~=13 \let~=\tie
-\catcode `\%=14
-\catcode`\"=12
-\catcode`\|=12
-\catcode`\<=12
-\catcode`\>=12
-\escapechar=`\\
-%
-\let\{=\ptexlbrace
-\let\}=\ptexrbrace
-\let\.=\ptexdot
-\let\*=\ptexstar
-\def\@={@}%
-\let\bullet=\ptexbullet
-\let\b=\ptexb \let\c=\ptexc \let\i=\ptexi \let\t=\ptext \let\l=\ptexl
-\let\L=\ptexL
-%
-\let\Etex=\endgroup}
-
-% Define @lisp ... @endlisp.
-% @lisp does a \begingroup so it can rebind things,
-% including the definition of @endlisp (which normally is erroneous).
-
-% Amount to narrow the margins by for @lisp.
-\newskip\lispnarrowing \lispnarrowing=0.4in
-
-% This is the definition that ^M gets inside @lisp
-% phr: changed space to \null, to avoid overfull hbox problems.
-{\obeyspaces%
-\gdef\lisppar{\null\endgraf}}
-
-% Cause \obeyspaces to make each Space cause a word-separation
-% rather than the default which is that it acts punctuation.
-% This is because space in tt font looks funny.
-{\obeyspaces %
-\gdef\sepspaces{\def {\ }}}
-
-\newskip\aboveenvskipamount \aboveenvskipamount= 0pt
-\def\aboveenvbreak{{\advance\aboveenvskipamount by \parskip
-\endgraf \ifdim\lastskip<\aboveenvskipamount
-\removelastskip \penalty-50 \vskip\aboveenvskipamount \fi}}
-
-\def\afterenvbreak{\endgraf \ifdim\lastskip<\aboveenvskipamount
-\removelastskip \penalty-50 \vskip\aboveenvskipamount \fi}
-
-\def\lisp{\aboveenvbreak\begingroup\inENV %This group ends at the end of the @lisp body
-\hfuzz=12truept % Don't be fussy
-% Make spaces be word-separators rather than space tokens.
-\sepspaces %
-% Single space lines
-\singlespace %
-% The following causes blank lines not to be ignored
-% by adding a space to the end of each line.
-\let\par=\lisppar
-\def\Elisp{\endgroup\afterenvbreak}%
-\parskip=0pt \advance \rightskip by \lispnarrowing
-\advance \leftskip by \lispnarrowing
-\parindent=0pt
-\let\exdent=\internalexdent
-\obeyspaces \obeylines \tt \rawbackslash
-\def\next##1{}\next}
-
-
-\let\example=\lisp
-\def\Eexample{\Elisp}
-
-\let\smallexample=\lisp
-\def\Esmallexample{\Elisp}
-
-% Macro for 9 pt. examples, necessary to print with 5" lines.
-% From Pavel@xerox. This is not really used unless the
-% @smallbook command is given.
-
-\def\smalllispx{\aboveenvbreak\begingroup\inENV
-% This group ends at the end of the @lisp body
-\hfuzz=12truept % Don't be fussy
-% Make spaces be word-separators rather than space tokens.
-\sepspaces %
-% Single space lines
-\singlespace %
-% The following causes blank lines not to be ignored
-% by adding a space to the end of each line.
-\let\par=\lisppar
-\def\Esmalllisp{\endgroup\afterenvbreak}%
-\parskip=0pt \advance \rightskip by \lispnarrowing
-\advance \leftskip by \lispnarrowing
-\parindent=0pt
-\let\exdent=\internalexdent
-\obeyspaces \obeylines \ninett \rawbackslash
-\def\next##1{}\next}
-
-% This is @display; same as @lisp except use roman font.
-
-\def\display{\begingroup\inENV %This group ends at the end of the @display body
-\aboveenvbreak
-% Make spaces be word-separators rather than space tokens.
-\sepspaces %
-% Single space lines
-\singlespace %
-% The following causes blank lines not to be ignored
-% by adding a space to the end of each line.
-\let\par=\lisppar
-\def\Edisplay{\endgroup\afterenvbreak}%
-\parskip=0pt \advance \rightskip by \lispnarrowing
-\advance \leftskip by \lispnarrowing
-\parindent=0pt
-\let\exdent=\internalexdent
-\obeyspaces \obeylines
-\def\next##1{}\next}
-
-% This is @format; same as @lisp except use roman font and don't narrow margins
-
-\def\format{\begingroup\inENV %This group ends at the end of the @format body
-\aboveenvbreak
-% Make spaces be word-separators rather than space tokens.
-\sepspaces %
-\singlespace %
-% The following causes blank lines not to be ignored
-% by adding a space to the end of each line.
-\let\par=\lisppar
-\def\Eformat{\endgroup\afterenvbreak}
-\parskip=0pt \parindent=0pt
-\obeyspaces \obeylines
-\def\next##1{}\next}
-
-% @flushleft and @flushright
-
-\def\flushleft{\begingroup\inENV %This group ends at the end of the @format body
-\aboveenvbreak
-% Make spaces be word-separators rather than space tokens.
-\sepspaces %
-% The following causes blank lines not to be ignored
-% by adding a space to the end of each line.
-% This also causes @ to work when the directive name
-% is terminated by end of line.
-\let\par=\lisppar
-\def\Eflushleft{\endgroup\afterenvbreak}%
-\parskip=0pt \parindent=0pt
-\obeyspaces \obeylines
-\def\next##1{}\next}
-
-\def\flushright{\begingroup\inENV %This group ends at the end of the @format body
-\aboveenvbreak
-% Make spaces be word-separators rather than space tokens.
-\sepspaces %
-% The following causes blank lines not to be ignored
-% by adding a space to the end of each line.
-% This also causes @ to work when the directive name
-% is terminated by end of line.
-\let\par=\lisppar
-\def\Eflushright{\endgroup\afterenvbreak}%
-\parskip=0pt \parindent=0pt
-\advance \leftskip by 0pt plus 1fill
-\obeyspaces \obeylines
-\def\next##1{}\next}
-
-% @quotation - narrow the margins.
-
-\def\quotation{\begingroup\inENV %This group ends at the end of the @quotation body
-{\parskip=0pt % because we will skip by \parskip too, later
-\aboveenvbreak}%
-\singlespace
-\parindent=0pt
-\def\Equotation{\par\endgroup\afterenvbreak}%
-\advance \rightskip by \lispnarrowing
-\advance \leftskip by \lispnarrowing}
-
-\message{defuns,}
-% Define formatter for defuns
-% First, allow user to change definition object font (\df) internally
-\def\setdeffont #1 {\csname DEF#1\endcsname}
-
-\newskip\defbodyindent \defbodyindent=36pt
-\newskip\defargsindent \defargsindent=50pt
-\newskip\deftypemargin \deftypemargin=12pt
-\newskip\deflastargmargin \deflastargmargin=18pt
-
-\newcount\parencount
-% define \functionparens, which makes ( and ) and & do special things.
-% \functionparens affects the group it is contained in.
-\def\activeparens{%
-\catcode`\(=\active \catcode`\)=\active \catcode`\&=\active
-\catcode`\[=\active \catcode`\]=\active}
-{\activeparens % Now, smart parens don't turn on until &foo (see \amprm)
-\gdef\functionparens{\boldbrax\let&=\amprm\parencount=0 }
-\gdef\boldbrax{\let(=\opnr\let)=\clnr\let[=\lbrb\let]=\rbrb}
-
-% Definitions of (, ) and & used in args for functions.
-% This is the definition of ( outside of all parentheses.
-\gdef\oprm#1 {{\rm\char`\(}#1 \bf \let(=\opnested %
-\global\advance\parencount by 1 }
-%
-% This is the definition of ( when already inside a level of parens.
-\gdef\opnested{\char`\(\global\advance\parencount by 1 }
-%
-\gdef\clrm{% Print a paren in roman if it is taking us back to depth of 0.
-% also in that case restore the outer-level definition of (.
-\ifnum \parencount=1 {\rm \char `\)}\sl \let(=\oprm \else \char `\) \fi
-\global\advance \parencount by -1 }
-% If we encounter &foo, then turn on ()-hacking afterwards
-\gdef\amprm#1 {{\rm\&#1}\let(=\oprm \let)=\clrm\ }
-%
-\gdef\normalparens{\boldbrax\let&=\ampnr}
-} % End of definition inside \activeparens
-%% These parens (in \boldbrax) actually are a little bolder than the
-%% contained text. This is especially needed for [ and ]
-\def\opnr{{\sf\char`\(}} \def\clnr{{\sf\char`\)}} \def\ampnr{\&}
-\def\lbrb{{\tt\char`\[}} \def\rbrb{{\tt\char`\]}}
-
-% First, defname, which formats the header line itself.
-% #1 should be the function name.
-% #2 should be the type of definition, such as "Function".
-
-\def\defname #1#2{%
-\leftskip = 0in %
-\noindent %
-\setbox0=\hbox{\hskip \deflastargmargin{\rm #2}\hskip \deftypemargin}%
-\dimen0=\hsize \advance \dimen0 by -\wd0 % compute size for first line
-\dimen1=\hsize \advance \dimen1 by -\defargsindent %size for continuations
-\parshape 2 0in \dimen0 \defargsindent \dimen1 %
-% Now output arg 2 ("Function" or some such)
-% ending at \deftypemargin from the right margin,
-% but stuck inside a box of width 0 so it does not interfere with linebreaking
-\rlap{\rightline{{\rm #2}\hskip \deftypemargin}}%
-\tolerance=10000 \hbadness=10000 % Make all lines underfull and no complaints
-{\df #1}\enskip % Generate function name
-}
-
-% Actually process the body of a definition
-% #1 should be the terminating control sequence, such as \Edefun.
-% #2 should be the "another name" control sequence, such as \defunx.
-% #3 should be the control sequence that actually processes the header,
-% such as \defunheader.
-
-\def\defparsebody #1#2#3{\begingroup\inENV% Environment for definitionbody
-\medbreak %
-% Define the end token that this defining construct specifies
-% so that it will exit this group.
-\def#1{\endgraf\endgroup\medbreak}%
-\def#2{\begingroup\obeylines\activeparens\spacesplit#3}%
-\parindent=0in \leftskip=\defbodyindent %
-\begingroup\obeylines\activeparens\spacesplit#3}
-
-\def\defmethparsebody #1#2#3#4 {\begingroup\inENV %
-\medbreak %
-% Define the end token that this defining construct specifies
-% so that it will exit this group.
-\def#1{\endgraf\endgroup\medbreak}%
-\def#2##1 {\begingroup\obeylines\activeparens\spacesplit{#3{##1}}}%
-\parindent=0in \leftskip=\defbodyindent %
-\begingroup\obeylines\activeparens\spacesplit{#3{#4}}}
-
-% Split up #2 at the first space token.
-% call #1 with two arguments:
-% the first is all of #2 before the space token,
-% the second is all of #2 after that space token.
-% If #2 contains no space token, all of it is passed as the first arg
-% and the second is passed as empty.
-
-{\obeylines
-\gdef\spacesplit#1#2^^M{\endgroup\spacesplitfoo{#1}#2 \relax\spacesplitfoo}%
-\long\gdef\spacesplitfoo#1#2 #3#4\spacesplitfoo{%
-\ifx\relax #3%
-#1{#2}{}\else #1{#2}{#3#4}\fi}}
-
-% So much for the things common to all kinds of definitions.
-
-% Define @defun.
-
-% First, define the processing that is wanted for arguments of \defun
-% Use this to expand the args and terminate the paragraph they make up
-
-\def\defunargs #1{\functionparens \sl #1%
-\ifnum\parencount=0 \else \errmessage{unbalanced parens in @def arguments}\fi%
-\interlinepenalty=10000
-\endgraf\vskip -\parskip \penalty 10000}
-
-% Do complete processing of one @defun or @defunx line already parsed.
-
-% @deffn Command forward-char nchars
-
-\def\deffn{\defmethparsebody\Edeffn\deffnx\deffnheader}
-
-\def\deffnheader #1#2#3{\doind {fn}{\code{#2}}%
-\begingroup\defname {#2}{#1}\defunargs{#3}\endgroup}
-
-% @defun == @deffn Function
-
-\def\defun{\defparsebody\Edefun\defunx\defunheader}
-
-\def\defunheader #1#2{\doind {fn}{\code{#1}}% Make entry in function index
-\begingroup\defname {#1}{Function}%
-\defunargs {#2}\endgroup %
-}
-
-% @defmac == @deffn Macro
-
-\def\defmac{\defparsebody\Edefmac\defmacx\defmacheader}
-
-\def\defmacheader #1#2{\doind {fn}{\code{#1}}% Make entry in function index
-\begingroup\defname {#1}{Macro}%
-\defunargs {#2}\endgroup %
-}
-
-% @defspec == @deffn Special Form
-
-\def\defspec{\defparsebody\Edefspec\defspecx\defspecheader}
-
-\def\defspecheader #1#2{\doind {fn}{\code{#1}}% Make entry in function index
-\begingroup\defname {#1}{Special form}%
-\defunargs {#2}\endgroup %
-}
-
-% This definition is run if you use @defunx
-% anywhere other than immediately after a @defun or @defunx.
-
-\def\deffnx #1 {\errmessage{@deffnx in invalid context}}
-\def\defunx #1 {\errmessage{@defunx in invalid context}}
-\def\defmacx #1 {\errmessage{@defmacx in invalid context}}
-\def\defspecx #1 {\errmessage{@defspecx in invalid context}}
-
-% @defmethod, and so on
-
-% @defop {Funny Method} foo-class frobnicate argument
-
-\def\defop #1 {\def\defoptype{#1}%
-\defmethparsebody\Edefop\defopx\defopheader}
-
-\def\defopheader #1#2#3{\dosubind {fn}{\code{#2}}{on #1}% Make entry in function index
-\begingroup\defname {#2}{\defoptype{} on #1}%
-\defunargs {#3}\endgroup %
-}
-
-% @defmethod == @defop Method
-
-\def\defmethod{\defmethparsebody\Edefmethod\defmethodx\defmethodheader}
-
-\def\defmethodheader #1#2#3{\dosubind {fn}{\code{#2}}{on #1}% entry in function index
-\begingroup\defname {#2}{Operation on #1}%
-\defunargs {#3}\endgroup %
-}
-
-% @defcv {Class Option} foo-class foo-flag
-
-\def\defcv #1 {\def\defcvtype{#1}%
-\defmethparsebody\Edefcv\defcvx\defcvheader}
-
-\def\defcvarheader #1#2#3{%
-\dosubind {vr}{\code{#2}}{of #1}% Make entry in var index
-\begingroup\defname {#2}{\defcvtype of #1}%
-\defvarargs {#3}\endgroup %
-}
-
-% @defivar == @defcv {Instance Variable}
-
-\def\defivar{\defmethparsebody\Edefivar\defivarx\defivarheader}
-
-\def\defivarheader #1#2#3{%
-\dosubind {vr}{\code{#2}}{of #1}% Make entry in var index
-\begingroup\defname {#2}{Instance variable of #1}%
-\defvarargs {#3}\endgroup %
-}
-
-% These definitions are run if you use @defmethodx, etc.,
-% anywhere other than immediately after a @defmethod, etc.
-
-\def\defopx #1 {\errmessage{@defopx in invalid context}}
-\def\defmethodx #1 {\errmessage{@defmethodx in invalid context}}
-\def\defcvx #1 {\errmessage{@defcvx in invalid context}}
-\def\defivarx #1 {\errmessage{@defivarx in invalid context}}
-
-% Now @defvar
-
-% First, define the processing that is wanted for arguments of @defvar.
-% This is actually simple: just print them in roman.
-% This must expand the args and terminate the paragraph they make up
-\def\defvarargs #1{\normalparens #1%
-\interlinepenalty=10000
-\endgraf\vskip -\parskip \penalty 10000}
-
-% @defvr Counter foo-count
-
-\def\defvr{\defmethparsebody\Edefvr\defvrx\defvrheader}
-
-\def\defvrheader #1#2#3{\doind {vr}{\code{#2}}%
-\begingroup\defname {#2}{#1}\defvarargs{#3}\endgroup}
-
-% @defvar == @defvr Variable
-
-\def\defvar{\defparsebody\Edefvar\defvarx\defvarheader}
-
-\def\defvarheader #1#2{\doind {vr}{\code{#1}}% Make entry in var index
-\begingroup\defname {#1}{Variable}%
-\defvarargs {#2}\endgroup %
-}
-
-% @defopt == @defvr {User Option}
-
-\def\defopt{\defparsebody\Edefopt\defoptx\defoptheader}
-
-\def\defoptheader #1#2{\doind {vr}{\code{#1}}% Make entry in var index
-\begingroup\defname {#1}{User Option}%
-\defvarargs {#2}\endgroup %
-}
-
-% This definition is run if you use @defvarx
-% anywhere other than immediately after a @defvar or @defvarx.
-
-\def\defvrx #1 {\errmessage{@defvrx in invalid context}}
-\def\defvarx #1 {\errmessage{@defvarx in invalid context}}
-\def\defoptx #1 {\errmessage{@defoptx in invalid context}}
-
-% Now define @deftp
-% Args are printed in bold, a slight difference from @defvar.
-
-\def\deftpargs #1{\bf \defvarargs{#1}}
-
-% @deftp Class window height width ...
-
-\def\deftp{\defmethparsebody\Edeftp\deftpx\deftpheader}
-
-\def\deftpheader #1#2#3{\doind {tp}{\code{#2}}%
-\begingroup\defname {#2}{#1}\deftpargs{#3}\endgroup}
-
-% This definition is run if you use @deftpx, etc
-% anywhere other than immediately after a @deftp, etc.
-
-\def\deftpx #1 {\errmessage{@deftpx in invalid context}}
-
-\message{cross reference,}
-% Define cross-reference macros
-\newwrite \auxfile
-
-% \setref{foo} defines a cross-reference point named foo.
-
-\def\setref#1{%
-\dosetq{#1-pg}{Ypagenumber}%
-\dosetq{#1-snt}{Ysectionnumberandtype}}
-
-\def\unnumbsetref#1{%
-\dosetq{#1-pg}{Ypagenumber}%
-\dosetq{#1-snt}{Ynothing}}
-
-% \xref and \pxref generate cross references to specified points.
-
-\def\pxref #1{see \xrefX [#1,,,,,,,]}
-\def\xref #1{See \xrefX [#1,,,,,,,]}
-\def\xrefX [#1,#2,#3,#4,#5,#6]{%
-\setbox1=\hbox{\i{\losespace#5{}}}%
-\setbox0=\hbox{\losespace#3{}}%
-\ifdim \wd0 =0pt \setbox0=\hbox{\losespace#1{}}\fi%
-\ifdim \wd1 >0pt%
-section \unhbox0{} in \unhbox1%
-\else%
-\refx{#1-snt} [\unhbox0], page\tie \refx{#1-pg}%
-\fi }
-
-% \dosetq is the interface for calls from other macros
-
-\def\dosetq #1#2{{\let\folio=0%
-\edef\next{\write\auxfile{\internalsetq {#1}{#2}}}%
-\next}}
-
-% \internalsetq {foo}{page} expands into CHARACTERS 'xrdef {foo}{...expansion of \Ypage...}
-% When the aux file is read, ' is the escape character
-
-\def\internalsetq #1#2{'xrdef {#1}{\csname #2\endcsname}}
-
-% Things to be expanded by \internalsetq
-
-\def\Ypagenumber{\folio}
-
-\def\Ynothing{}
-
-\def\Ysectionnumberandtype{%
-\ifnum\secno=0 chapter\xreftie\the\chapno %
-\else \ifnum \subsecno=0 section\xreftie\the\chapno.\the\secno %
-\else \ifnum \subsubsecno=0 %
-section\xreftie\the\chapno.\the\secno.\the\subsecno %
-\else %
-section\xreftie\the\chapno.\the\secno.\the\subsecno.\the\subsubsecno %
-\fi \fi \fi }
-
-\gdef\xreftie{'tie}
-
-% Define @refx to reference a specific cross-reference string.
-
-\def\refx#1{%
-{%
-\expandafter\ifx\csname X#1\endcsname\relax
-% If not defined, say something at least.
-\expandafter\gdef\csname X#1\endcsname {$<$undefined$>$}%
-\message {WARNING: Cross-reference "#1" used but not yet defined}%
-\message {}%
-\fi %
-\csname X#1\endcsname %It's defined, so just use it.
-}}
-
-% Read the last existing aux file, if any. No error if none exists.
-
-% This is the macro invoked by entries in the aux file.
-\def\xrdef #1#2{
-{\catcode`\'=\other\expandafter \gdef \csname X#1\endcsname {#2}}}
-
-{
-\catcode `\^^@=\other
-\catcode `\=\other
-\catcode `\=\other
-\catcode `\^^C=\other
-\catcode `\^^D=\other
-\catcode `\^^E=\other
-\catcode `\^^F=\other
-\catcode `\^^G=\other
-\catcode `\^^H=\other
-\catcode `\ =\other
-\catcode `\^^L=\other
-\catcode `\=\other
-\catcode `\=\other
-\catcode `\=\other
-\catcode `\=\other
-\catcode `\=\other
-\catcode `\=\other
-\catcode `\=\other
-\catcode `\=\other
-\catcode `\=\other
-\catcode `\=\other
-\catcode `\=\other
-\catcode `\=\other
-\catcode `\=\other
-\catcode `\^^[=\other
-\catcode `\^^\=\other
-\catcode `\^^]=\other
-\catcode `\^^^=\other
-\catcode `\^^_=\other
-\catcode `\@=\other
-\catcode `\^=\other
-\catcode `\~=\other
-\catcode `\[=\other
-\catcode `\]=\other
-\catcode`\"=\other
-\catcode`\_=\other
-\catcode`\|=\other
-\catcode`\<=\other
-\catcode`\>=\other
-\catcode `\$=\other
-\catcode `\#=\other
-\catcode `\&=\other
-
-% the aux file uses ' as the escape.
-% Turn off \ as an escape so we do not lose on
-% entries which were dumped with control sequences in their names.
-% For example, 'xrdef {$\leq $-fun}{page ...} made by @defun ^^
-% Reference to such entries still does not work the way one would wish,
-% but at least they do not bomb out when the aux file is read in.
-
-\catcode `\{=1 \catcode `\}=2
-\catcode `\%=\other
-\catcode `\'=0
-\catcode `\\=\other
-
-'openin 1 'jobname.aux
-'ifeof 1 'else 'closein 1 'input 'jobname.aux
-'fi
-}
-
-% Open the new aux file. Tex will close it automatically at exit.
-
-\openout \auxfile=\jobname.aux
-
-% Footnotes.
-
-\newcount \footnoteno
-
-\def\supereject{\par\penalty -20000\footnoteno =0 }
-
-\let\ptexfootnote=\footnote
-
-{\catcode `\@=11
-\gdef\footnote{\global\advance \footnoteno by \@ne
-\edef\thisfootno{$^{\the\footnoteno}$}%
-\let\@sf\empty
-\ifhmode\edef\@sf{\spacefactor\the\spacefactor}\/\fi
-\thisfootno\@sf\parsearg\footnotezzz}
-
-\gdef\footnotezzz #1{\insert\footins{
-\interlinepenalty\interfootnotelinepenalty
-\splittopskip\ht\strutbox % top baseline for broken footnotes
-\splitmaxdepth\dp\strutbox \floatingpenalty\@MM
-\leftskip\z@skip \rightskip\z@skip \spaceskip\z@skip \xspaceskip\z@skip
-\footstrut\hang\textindent{\thisfootno}#1\strut}}
-
-}%end \catcode `\@=11
-
-% End of control word definitions.
-
-\message{and turning on texinfo input format.}
-
-\newindex{cp}
-\newcodeindex{fn}
-\newcodeindex{vr}
-\newcodeindex{tp}
-\newcodeindex{ky}
-\newcodeindex{pg}
-
-% Set some numeric style parameters, for 8.5 x 11 format.
-
-\hsize = 6.5in
-\parindent 15pt
-\parskip 18pt plus 1pt
-\baselineskip 15pt
-\advance\topskip by 1.2cm
-
-% Prevent underfull vbox error messages.
-\vbadness=10000
-
-% Use @smallbook to reset parameters for 7x9.5 format
-\def\smallbook{
-\global\lispnarrowing = 0.3in
-\global\baselineskip 12pt
-\global\parskip 3pt plus 1pt
-\global\hsize = 5in
-\global\doublecolumnhsize=2.4in \global\doublecolumnvsize=15.0in
-\global\vsize=7.5in
-\global\tolerance=700
-\global\hfuzz=1pt
-
-\global\pagewidth=\hsize
-\global\pageheight=\vsize
-\global\font\ninett=cmtt9
-
-\global\let\smalllisp=\smalllispx
-\global\let\smallexample=\smalllispx
-\global\def\Esmallexample{\Esmalllisp}
-}
-
-%% For a final copy, take out the rectangles
-%% that mark overfull boxes (in case you have decided
-%% that the text looks ok even though it passes the margin).
-\def\finalout{\overfullrule=0pt}
-
-% Turn off all special characters except @
-% (and those which the user can use as if they were ordinary)
-% Define certain chars to be always in tt font.
-
-\catcode`\"=\active
-\def\activedoublequote{{\tt \char '042}}
-\let"=\activedoublequote
-\catcode`\~=\active
-\def~{{\tt \char '176}}
-\chardef\hat=`\^
-\catcode`\^=\active
-\def^{{\tt \hat}}
-\catcode`\_=\active
-\def_{{\tt \char '137}}
-\catcode`\|=\active
-\def|{{\tt \char '174}}
-\chardef \less=`\<
-\catcode`\<=\active
-\def<{{\tt \less}}
-\chardef \gtr=`\>
-\catcode`\>=\active
-\def>{{\tt \gtr}}
-
-\catcode`\@=0
-
-% \rawbackslashxx output one backslash character in current font
-{\catcode`\\=\other
-@gdef@rawbackslashxx{\}}
-
-% \rawbackslash redefines \ as input to do \rawbackslashxx.
-{\catcode`\\=\active
-@gdef@rawbackslash{@let\=@rawbackslashxx }}
-
-% \normalbackslash outputs one backslash in fixed width font.
-\def\normalbackslash{{\tt\rawbackslashxx}}
-
-% Say @foo, not \foo, in error messages.
-\escapechar=`\@
-
-%% These look ok in all fonts, so just make them not special. The @rm below
-%% makes sure that the current font starts out as the newly loaded cmr10
-\catcode`\$=\other \catcode`\%=\other \catcode`\&=\other \catcode`\#=\other
-
-\catcode 17=0 @c Define control-q
-\catcode`\\=\active
-@let\=@normalbackslash
-
-@textfonts
-@rm
diff --git a/util/et/vfprintf.c b/util/et/vfprintf.c
deleted file mode 100644
index 6558992..0000000
--- a/util/et/vfprintf.c
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright (c) 1988 Regents of the University of California.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by the University of California, Berkeley. The name of the
- * University may not be used to endorse or promote products derived
- * from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-/* based on @(#)vfprintf.c 5.2 (Berkeley) 6/27/88 */
-
-#include <stdio.h>
-#include <varargs.h>
-
-int
-vfprintf(iop, fmt, ap)
- FILE *iop;
- char *fmt;
- va_list ap;
-{
- int len;
- char localbuf[BUFSIZ];
-
- if (iop->_flag & _IONBF) {
- iop->_flag &= ~_IONBF;
- iop->_ptr = iop->_base = localbuf;
- len = _doprnt(fmt, ap, iop);
- (void) fflush(iop);
- iop->_flag |= _IONBF;
- iop->_base = NULL;
- iop->_bufsiz = 0;
- iop->_cnt = 0;
- } else
- len = _doprnt(fmt, ap, iop);
-
- return (ferror(iop) ? EOF : len);
-}
diff --git a/util/reconf b/util/reconf
deleted file mode 100755
index f10f3ea..0000000
--- a/util/reconf
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/bin/sh
-
-force=
-
-usage="Usage: ./config.status [--recheck] [--version] [--help]"
-for option
-do
- case "$option" in
- --force | -f)
- echo "Remaking all configuration files"
- force=--force ;;
- -help | --help | --hel | --he | --h)
- echo "$usage"; exit 0 ;;
- *) echo "$usage"; exit 1 ;;
- esac
-done
-
-./util/autoconf/autoreconf -m util/autoconf -l . --verbose $force