📄 autoconf.texi
字号:
\input texinfo @c -*-texinfo-*-@comment ========================================================@comment %**start of header@setfilename autoconf.info@include version.texi@settitle Autoconf@setchapternewpage odd@ifnothtml@setcontentsaftertitlepage@end ifnothtml@finalout@c @ovar(ARG, DEFAULT)@c -------------------@c The ARG is an optional argument. To be used for macro arguments in@c their documentation (@defmac).@macro ovar{varname}@r{[}@var{\varname\}@r{]}@end macro@c @dvar(ARG, DEFAULT)@c -------------------@c The ARG is an optional argument, defaulting to DEFAULT. To be used@c for macro arguments in their documentation (@defmac).@macro dvar{varname, default}@r{[}@var{\varname\} = @samp{\default\}@r{]}@end macro@c Handling the indexes with Texinfo yields several different problems.@c@c Because we want to drop out the AC_ part of the macro names in the@c printed manual, but not in the other outputs, we need a layer above@c the usual @acindex{} etc. That's why we first define indexes such as@c acx meant to become the macro @acindex. First of all, using ``ac_''@c does not work with makeinfo, and using ``ac1'' doesn't work with TeX.@c So use something more regular ``acx''. Then you finish with a printed@c index saying ``index is not existent''. Of course: you ought to use@c two letters :( So you use capitals.@c@c Second, when defining a macro in the TeX world, following spaces are@c eaten. But then, since we embed @acxindex commands that use the end@c of line as an end marker, the whole things wrecks itself. So make@c sure you do *force* an additional end of line, add a ``@c''.@c@c Finally, you might want to get rid of TeX expansion, using --expand@c with texi2dvi. But then you wake up an old problem: we use macros@c in @defmac etc. where TeX does perform the expansion, but not makeinfo.@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 an Autoconf macro index that @defmac doesn't write to.@defcodeindex AC@c Define an Autotest macro index that @defmac doesn't write to.@defcodeindex AT@c Define an M4sugar macro index that @defmac doesn't write to.@defcodeindex MS@c Define an index for *foreign* programs: `mv' etc. Used for the@c portability sections and so on.@defindex pr@c shortindexflag@c --------------@c Shall we factor AC_ out of the Autoconf macro index etc.?@iftex@set shortindexflag@end iftex@c @acindex{MACRO}@c ---------------@c Registering an AC_\MACRO\.@ifset shortindexflag@macro acindex{macro}@ACindex \macro\@c@end macro@end ifset@ifclear shortindexflag@macro acindex{macro}@ACindex AC_\macro\@end macro@end ifclear@c @ahindex{MACRO}@c ---------------@c Registering an AH_\MACRO\.@macro ahindex{macro}@ACindex AH_\macro\@c@end macro@c @asindex{MACRO}@c ---------------@c Registering an AS_\MACRO\.@ifset shortindexflag@macro asindex{macro}@MSindex \macro\@c@end macro@end ifset@ifclear shortindexflag@macro asindex{macro}@MSindex AS_\macro\@end macro@end ifclear@c @atindex{MACRO}@c ---------------@c Registering an AT_\MACRO\.@ifset shortindexflag@macro atindex{macro}@ATindex \macro\@c@end macro@end ifset@ifclear shortindexflag@macro atindex{macro}@ATindex AT_\macro\@end macro@end ifclear@c @auindex{MACRO}@c ---------------@c Registering an AU_\MACRO\.@macro auindex{macro}@ACindex AU_\macro\@c@end macro@c @hdrindex{MACRO}@c ----------------@c Indexing a header.@macro hdrindex{macro}@prindex @file{\macro\}@c@end macro@c @msindex{MACRO}@c ---------------@c Registering an m4_\MACRO\.@ifset shortindexflag@macro msindex{macro}@MSindex \macro\@c@end macro@end ifset@ifclear shortindexflag@macro msindex{macro}@MSindex m4_\macro\@end macro@end ifclear@c Define an index for functions: `alloca' etc. Used for the@c portability sections and so on. We can't use `fn' (aka `fnindex),@c since `@defmac' goes into it => we'd get all the macros too.@c FIXME: Aaarg! It seems there are too many indices for TeX :(@c@c ! No room for a new @write .@c l.112 @defcodeindex fu@c@c so don't define yet another one :( Just put some tags before each@c @prindex which is actually a @funindex.@c@c @defcodeindex fu@c@c@c @c Put the programs and functions into their own index.@c @syncodeindex fu pr@comment %**end of header@comment ========================================================@copyingThis manual is for @acronym{GNU} Autoconf(version @value{VERSION}, @value{UPDATED}),a package for creating scripts to configure source code packages usingtemplates and an M4 macro package.Copyright @copyright{} 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000,2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.@quotationPermission is granted to copy, distribute and/or modify this documentunder the terms of the @acronym{GNU} Free Documentation License,Version 1.2 or any later version published by the Free SoftwareFoundation; with no Invariant Sections, with the Front-Cover textsbeing ``A @acronym{GNU} Manual,'' and with the Back-Cover Texts as in(a) below. A copy of the license is included in the section entitled``@acronym{GNU} Free Documentation License.''(a) The FSF's Back-Cover Text is: ``You have freedom to copy andmodify this @acronym{GNU} Manual, like @acronym{GNU} software. Copiespublished by the Free Software Foundation raise funds for@acronym{GNU} development.''@end quotation@end copying@dircategory Software development@direntry* Autoconf: (autoconf). Create source code configuration scripts.@end direntry@dircategory Individual utilities@direntry* autoscan: (autoconf)autoscan Invocation. Semi-automatic @file{configure.ac} writing* ifnames: (autoconf)ifnames Invocation. Listing conditionals in source.* autoconf: (autoconf)autoconf Invocation. How to create configuration scripts* autoreconf: (autoconf)autoreconf Invocation. Remaking multiple @command{configure} scripts* autoheader: (autoconf)autoheader Invocation. How to create configuration templates* autom4te: (autoconf)autom4te Invocation. The Autoconf executables backbone* configure: (autoconf)configure Invocation. Configuring a package.* autoupdate: (autoconf)autoupdate Invocation. Automatic update of @file{configure.ac}* config.status: (autoconf)config.status Invocation. Recreating configurations.* testsuite: (autoconf)testsuite Invocation. Running an Autotest test suite.@end direntry@titlepage@title Autoconf@subtitle Creating Automatic Configuration Scripts@subtitle for version @value{VERSION}, @value{UPDATED}@author David MacKenzie@author Ben Elliston@author Akim Demaille@page@vskip 0pt plus 1filll@insertcopying@end titlepage@contents@ifnottex@node Top@top Autoconf@insertcopying@end ifnottex@c The master menu, created with texinfo-master-menu, goes here.@menu* Introduction:: Autoconf's purpose, strengths, and weaknesses* The GNU Build System:: A set of tools for portable software packages* 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* Programming in M4:: Layers on top of which Autoconf is written* Writing Autoconf Macros:: Adding new macros to Autoconf* Portable Shell:: Shell script portability pitfalls* Portable Make:: Makefile portability pitfalls* Portable C and C++:: C and C++ portability pitfalls* Manual Configuration:: Selecting features that can't be guessed* Site Configuration:: Local defaults for @command{configure}* Running configure Scripts:: How to use the Autoconf output* config.status Invocation:: Recreating a configuration* Obsolete Constructs:: Kept for backward compatibility* Using Autotest:: Creating portable test suites* FAQ:: Frequent Autoconf Questions, with answers* History:: History of Autoconf* Copying This Manual:: How to make copies of this manual* Indices:: Indices of symbols, concepts, etc.@detailmenu --- The Detailed Node Listing ---The @acronym{GNU} Build System* Automake:: Escaping makefile hell* Gnulib:: The @acronym{GNU} portability library* Libtool:: Building libraries portably* Pointers:: More info on the @acronym{GNU} build systemMaking @command{configure} Scripts* Writing configure.ac:: What to put in an Autoconf input file* autoscan Invocation:: Semi-automatic @file{configure.ac} writing* ifnames Invocation:: Listing the conditionals in source code* autoconf Invocation:: How to create configuration scripts* autoreconf Invocation:: Remaking multiple @command{configure} scriptsWriting @file{configure.ac}* Shell Script Compiler:: Autoconf as solution of a problem* Autoconf Language:: Programming in Autoconf* configure.ac Layout:: Standard organization of @file{configure.ac}Initialization and Output Files* Initializing configure:: Option processing etc.* Notices:: Copyright, version numbers in @command{configure}* Input:: Where Autoconf should find files* Output:: Outputting results from the configuration* Configuration Actions:: Preparing the output based on results* Configuration Files:: Creating output files* Makefile Substitutions:: Using output variables in makefiles* Configuration Headers:: Creating a configuration header file* Configuration Commands:: Running arbitrary instantiation commands* Configuration Links:: Links depending on the configuration* Subdirectories:: Configuring independent packages together* Default Prefix:: Changing the default installation prefixSubstitutions in Makefiles* Preset Output Variables:: Output variables that are always set* Installation Directory Variables:: Other preset output variables* Changed Directory Variables:: Warnings about @file{datarootdir}* Build Directories:: Supporting multiple concurrent compiles* Automatic Remaking:: Makefile rules for configuringConfiguration Header Files* Header Templates:: Input for the configuration headers* autoheader Invocation:: How to create configuration templates* Autoheader Macros:: How to specify CPP templatesExisting Tests* Common Behavior:: Macros' standard schemes* Alternative Programs:: Selecting between alternative programs* Files:: Checking for the existence of files
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -