⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 autoconf.texi

📁 autoconf是一个产生可以自动配置源代码包
💻 TEXI
📖 第 1 页 / 共 5 页
字号:
* 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* Posix Variants::              Special kludges for specific Posix variants* Erlang Libraries::            Checking for the existence of Erlang librariesCommon 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 and features* C Compiler::                  Checking its characteristics* C++ Compiler::                Likewise* Objective C Compiler::        Likewise* Erlang Compiler and Interpreter::  Likewise* Fortran 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* Runtime::                     Testing for runtime 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* Special Chars in Variables::  Characters to beware of in variables* 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 Constructs* File Descriptor Macros::      File descriptor macros for input and outputM4 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* Redefined M4 Macros::         M4 builtins changed in M4sugar* Looping constructs::          Iteration in M4* Evaluation Macros::           More quotation and evaluation control* Text processing Macros::      String manipulation in M4* Forbidden Patterns::          Catching unexpanded macrosWriting Autoconf Macros* Macro Definitions::           Basic format of an Autoconf macro* Macro Names::                 What to call your new macros* Reporting Messages::          Notifying @command{autoconf} users* Dependencies Between Macros::  What to do when macros depend on other macros* Obsoleting Macros::           Warning about old ways of doing things* Coding Style::                Writing Autoconf macros @`a la AutoconfDependencies Between Macros* Prerequisite Macros::         Ensuring required information* Suggested Ordering::          Warning about possible ordering problems* One-Shot Macros::             Ensuring a macro is called only oncePortable Shell Programming* Shellology::                  A zoology of shells* Here-Documents::              Quirks and tricks* File Descriptors::            FDs and redirections* File System Conventions::     File names* Shell Substitutions::         Variable and command expansions* Assignments::                 Varying side effects of assignments* Parentheses::                 Parentheses in shell scripts* Slashes::                     Slashes in shell scripts* Special Shell Variables::     Variables you should not change* Limitations of Builtins::     Portable use of not so portable /bin/sh* Limitations of Usual Tools::  Portable use of portable toolsPortable Make Programming* $< in Ordinary Make Rules::   $< in ordinary rules* Failure in Make Rules::       Failing portably in rules* Special Chars in Names::      Special Characters in Macro Names* Backslash-Newline-Newline::   Empty last lines in macro definitions* Backslash-Newline Comments::  Spanning comments across line boundaries* Long Lines in Makefiles::     Line length limitations* Macros and Submakes::         @code{make macro=value} and submakes* The Make Macro MAKEFLAGS::    @code{$(MAKEFLAGS)} portability issues* The Make Macro SHELL::        @code{$(SHELL)} portability issues* Comments in Make Rules::      Other problems with Make comments* obj/ and Make::               Don't name a subdirectory @file{obj}* make -k Status::              Exit status of @samp{make -k}* VPATH and Make::              @code{VPATH} woes* Single Suffix Rules::         Single suffix rules and separated dependencies* Timestamps and Make::         Subsecond timestamp resolution@code{VPATH} and Make* VPATH and Double-colon::      Problems with @samp{::} on ancient hosts* $< in Explicit Rules::        @code{$<} does not work in ordinary rules* Automatic Rule Rewriting::    @code{VPATH} goes wild on Solaris* OSF/Tru64 Directory Magic::   @command{mkdir} goes wild on OSF/Tru64* Make Target Lookup::          More details about @code{VPATH} lookupPortable C and C++ Programming* Varieties of Unportability::  How to make your programs unportable* Integer Overflow::            When integers get too large* Null Pointers::               Properties of null pointers* Buffer Overruns::             Subscript errors and the like* Floating Point Portability::  Portable floating-point arithmetic* Exiting Portably::            Exiting and the exit statusManual Configuration* Specifying Names::            Specifying the system type* Canonicalizing::              Getting the canonical system type* Using System Type::           What to do with the system typeSite Configuration* Help Formatting::             Customizing @samp{configure --help}* External Software::           Working with other optional software* Package Options::             Selecting optional features* Pretty Help Strings::         Formatting help string* Site Details::                Configuring site details* Transforming Names::          Changing program names when installing* Site Defaults::               Giving @command{configure} local defaultsTransforming Program Names When Installing* Transformation Options::      @command{configure} options to transform names* Transformation Examples::     Sample uses of transforming names* Transformation Rules::        Makefile uses of transforming namesRunning @command{configure} Scripts* Basic Installation::          Instructions for typical cases* Compilers and Options::       Selecting compilers and optimization* Multiple Architectures::      Compiling for multiple architectures at once* Installation Names::          Installing in different directories* Optional Features::           Selecting optional features* System Type::                 Specifying the system type* Sharing Defaults::            Setting site-wide defaults for @command{configure}* Defining Variables::          Specifying the compiler etc.* configure Invocation::        Changing how @command{configure} runsObsolete Constructs* Obsolete config.status Use::  Different calling convention* acconfig.h::                  Additional entries in @file{config.h.in}* autoupdate Invocation::       Automatic update of @file{configure.ac}* Obsolete Macros::             Backward compatibility macros* Autoconf 1::                  Tips for upgrading your files* Autoconf 2.13::               Some fresher tipsUpgrading 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* Changed Results::             Changes in how to check test results* Changed Macro Writing::       Better ways to write your own macrosUpgrading From Version 2.13* Changed Quotation::           Broken code which used to work* New Macros::                  Interaction with foreign macros* Hosts and Cross-Compilation::  Bugward compatibility kludges* AC_LIBOBJ vs LIBOBJS::        LIBOBJS is a forbidden token* AC_FOO_IFELSE vs AC_TRY_FOO::  A more generic scheme for testing sourcesGenerating Test Suites with Autotest* Using an Autotest Test Suite::  Autotest and the user* Writing testsuite.at::        Autotest macros* testsuite Invocation::        Running @command{testsuite} scripts* Making testsuite Scripts::    Using autom4te to create @command{testsuite}Using an Autotest Test Suite* testsuite Scripts::           The concepts of Autotest* Autotest Logs::               Their contentsFrequent Autoconf Questions, with answers* Distributing::                Distributing @command{configure} scripts* Why GNU M4::                  Why not use the standard M4?* Bootstrapping::               Autoconf and @acronym{GNU} M4 require each other?* Why Not Imake::               Why @acronym{GNU} uses @command{configure} instead of Imake* Defining Directories::        Passing @code{datadir} to program* autom4te.cache::              What is it?  Can I remove it?* Present But Cannot Be Compiled::  Compiler and Preprocessor DisagreeHistory of Autoconf* Genesis::                     Prehistory and naming of @command{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 configurationCopying This Manual* GNU Free Documentation License::  License for copying this manualIndices* 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* Autoconf Macro Index::        Index of Autoconf macros* M4 Macro Index::              Index of M4, M4sugar, and M4sh macros* Autotest Macro Index::        Index of Autotest macros* Program & Function Index::    Index of those with portability problems* Concept Index::               General index@end detailmenu@end menu@c ============================================================= Introduction.@node Introduction@chapter Introduction@cindex Introduction@flushrightA physicist, an engineer, and a computer scientist were discussing thenature of God.  ``Surely a Physicist,'' said the physicist, ``becauseearly in the Creation, God made Light; and you know, Maxwell'sequations, the dual nature of electromagnetic waves, the relativisticconsequences@dots{}'' ``An Engineer!,'' said the engineer, ``becausebefore making Light, God split the Chaos into Land and Water; it takes ahell of an engineer to handle that big amount of mud, and orderlyseparation of solids from liquids@dots{}'' The computer scientistshouted: ``And the Chaos, where do you think it was coming from, hmm?''---Anonymous@end flushright@c (via Franc,ois Pinard)Autoconf is a tool for producing shell scripts that automaticallyconfigure software source code packages to adapt to many kinds ofPosix-like systems.  The configuration scripts produced by Autoconfare independent of Autoconf when they are run, so their users do notneed to have Autoconf.The configuration scripts produced by Autoconf require no manual userintervention when run; they do not normally even need an argumentspecifying the system type.  Instead, they individually test for thepresence of each feature that the software package they are for might need.(Before each check, they print a one-line message stating what they arechecking for, so the user doesn't get too bored while waiting for thescript to finish.)  As a result, they deal well with systems that arehybrids or customized from the more common Posix variants.  There isno need to maintain files that list the features supported by eachrelease of each variant of Posix.For each software package that Autoconf is used with, it creates aconfiguration script from a template file that lists the system featuresthat the package needs or can use.  After the shell code to recognizeand respond to a system feature has been written, Autoconf allows it tobe shared by many software packages that can use (or need) that feature.If it later turns out that the shell code needs adjustment for somereason, it needs to be changed in only one place; all of the

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -