📄 autoconf.texi
字号:
\input texinfo @c -*-texinfo-*-@comment ========================================================@comment %**start of header@setfilename autoconf.info@include version.texi@settitle Autoconf@setchapternewpage odd@setcontentsaftertitlepage@finalout@c A simple macro for optional variables.@macro ovar{varname}@r{[}@var{\varname\}@r{]}@end macro@c A simple macro for optional variables with a default value.@macro dvar{varname, default}@r{[}@var{\varname\} = @samp{\default\}@r{]}@end macro@c I don't like the way URL are displayed in TeX with @uref.@ifhtml@macro href{url, title}@uref{\url\, \title\}@end macro@end ifhtml@ifnothtml@macro href{url, title}\title\@footnote{\title\, @url{\url\}.}@end macro@end ifnothtml@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 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 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.1 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 GNU programming tools@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 the conditionals in source code* 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 a configuration* 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* 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 GNU Build System* Automake:: Escaping Makefile hell* 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 @file{Makefile}s* 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* 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* Libraries:: Library archives that might be missing* Library Functions:: C library functions that might be missing* Header Files:: Header files that might be missing* Declarations:: Declarations that may be missing* Structures:: Structures or members that might be missing* Types:: Types that might be missing* Compilers and Preprocessors:: Checking for compiling programs* System Services:: Operating system services* UNIX Variants:: Special kludges for specific UNIX variantsCommon Behavior* Standard Symbols:: Symbols defined by the macros* Default Includes:: Includes used by the generic macrosAlternative Programs* Particular Programs:: Special handling to find certain programs* Generic Programs:: How to find other programsLibrary Functions* Function Portability:: Pitfalls with usual functions* Particular Functions:: Special handling to find certain functions* Generic Functions:: How to find other functionsHeader Files* Header Portability:: Collected knowledge on common headers* Particular Headers:: Special handling to find certain headers* Generic Headers:: How to find other headersDeclarations* Particular Declarations:: Macros to check for certain declarations* Generic Declarations:: How to find other declarationsStructures* Particular Structures:: Macros to check for certain structure members* Generic Structures:: How to find other structure membersTypes* Particular Types:: Special handling to find certain types* Generic Types:: How to find other typesCompilers and Preprocessors* Specific Compiler Characteristics:: Some portability issues* Generic Compiler Characteristics:: Language independent tests* C Compiler:: Checking its characteristics* C++ Compiler:: Likewise* Fortran 77 Compiler:: LikewiseWriting Tests* Language Choice:: Selecting which language to use for testing* Writing Test Programs:: Forging source files for compilers* Running the Preprocessor:: Detecting preprocessor symbols* Running the Compiler:: Detecting language or header features* Running the Linker:: Detecting library features* Run Time:: Testing for run-time features* Systemology:: A zoology of operating systems* Multiple Cases:: Tests for several possible valuesWriting Test Programs* Guidelines:: General rules for writing test programs* Test Functions:: Avoiding pitfalls in test programs* Generating Sources:: Source program boilerplateResults of Tests* Defining Symbols:: Defining C preprocessor symbols* Setting Output Variables:: Replacing variables in output files* Caching Results:: Speeding up subsequent @command{configure} runs* Printing Messages:: Notifying @command{configure} usersCaching Results* Cache Variable Names:: Shell variables used in caches* Cache Files:: Files @command{configure} uses for caching* Cache Checkpointing:: Loading and saving the cache fileProgramming in M4* M4 Quotation:: Protecting macros from unwanted expansion* Using autom4te:: The Autoconf executables backbone* Programming in M4sugar:: Convenient pure M4 macros* Programming in M4sh:: Common shell ConstructsM4 Quotation* Active Characters:: Characters that change the behavior of M4* One Macro Call:: Quotation and one macro call* Quotation and Nested Macros:: Macros calling macros* Changequote is Evil:: Worse than INTERCAL: M4 + changequote* Quadrigraphs:: Another way to escape special characters* Quotation Rule Of Thumb:: One parenthesis, one quoteUsing @command{autom4te}* autom4te Invocation:: A @acronym{GNU} M4 wrapper* Customizing autom4te:: Customizing the Autoconf packageProgramming in M4sugar
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -