GNU Info
Info Node: (autoconf.info)Top
(autoconf.info)Top
Autoconf
********
This file documents the GNU Autoconf package for creating scripts to
configure source code packages using templates and the GNU M4 macro
package. This is edition 2.53, for Autoconf version 2.53.
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 `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
Questions Questions about Autoconf, with answers
History History of Autoconf
Copying This Manual How to make copies of this manual
Indices Indices of symbols, concepts, etc.
--- The Detailed Node Listing ---
The GNU build system
Automake Escaping Makefile hell
Libtool Building libraries portably
Pointers More info on the GNU build system
Making `configure' Scripts
Writing configure.ac What to put in an Autoconf input file
autoscan Invocation Semi-automatic `configure.ac' writing
ifnames Invocation Listing the conditionals in source code
autoconf Invocation How to create configuration scripts
autoreconf Invocation Remaking multiple `configure' scripts
Writing `configure.ac'
Shell Script Compiler Autoconf as solution of a problem
Autoconf Language Programming in Autoconf
configure.ac Layout Standard organization of configure.ac
Initialization and Output Files
Initializing configure Option processing etc.
Notices Copyright, version numbers in `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 `Makefile's
Configuration Headers Creating a configuration header file
Configuration Commands Running arbitrary instantiation commands
Configuration Links Links depending from the configuration
Subdirectories Configuring independent packages together
Default Prefix Changing the default installation prefix
Substitutions 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 configuring
Configuration Header Files
Header Templates Input for the configuration headers
autoheader Invocation How to create configuration templates
Autoheader Macros How to specify CPP templates
Existing 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 variants
Common Behavior
Standard Symbols Symbols defined by the macros
Default Includes Includes used by the generic macros
Alternative Programs
Particular Programs Special handling to find certain programs
Generic Programs How to find other programs
Library Functions
Function Portability Pitfalls with usual 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
Declarations
Particular Declarations Macros to check for certain declarations
Generic Declarations How to find other declarations
Structures
Particular Structures Macros to check for certain structure members
Generic Structures How to find other structure members
Types
Particular Types Special handling to find certain types
Generic Types How to find other types
Compilers 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 Likewise
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
Systemology A zoology of operating systems
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 `configure' users
Caching Results
Cache Variable Names Shell variables used in caches
Cache Files Files `configure' uses for caching
Cache Checkpointing Loading and saving the cache file
Programming in M4
M4 Quotation Protecting macros from unwanted expansion
Invoking autom4te The Autoconf executables backbone
Programming in M4sugar Convenient pure M4 macros
Programming in M4sh Common Shell Constructs
M4 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 quote
Programming in M4sugar
Redefined M4 Macros M4 builtins changed in M4sugar
Evaluation Macros More quotation and evaluation control
Forbidden Patterns Catching unexpanded macros
Writing Autoconf Macros
Macro Definitions Basic format of an Autoconf macro
Macro Names What to call your new macros
Reporting Messages Notifying `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 Autoconf
Dependencies Between Macros
Prerequisite Macros Ensuring required information
Suggested Ordering Warning about possible ordering problems
Portable Shell Programming
Shellology A zoology of shells
Here-Documents Quirks and tricks
File Descriptors FDs and redirections
File System Conventions File- and pathnames
Shell Substitutions Variable and command expansions
Assignments Varying side effects of assignments
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 tools
Limitations of Make Portable Makefiles
Manual Configuration
Specifying Names Specifying the system type
Canonicalizing Getting the canonical 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
Pretty Help Strings Formating help string
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 transform 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
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 `configure'
Defining Variables Specifying the compiler etc.
configure Invocation Changing how `configure' runs
Obsolete Constructs
Obsolete config.status Use Different calling convention
acconfig.h Additional entries in `config.h.in'
autoupdate Invocation Automatic update of `configure.ac'
Obsolete Macros Backward compatibility macros
Autoconf 1 Tips for upgrading your files
Autoconf 2.13 Some fresher tips
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
Changed Results Changes in how to check test results
Changed Macro Writing Better ways to write your own macros
Upgrading 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
Generating Test Suites with Autotest
Using an Autotest Test Suite Autotest and the user
Writing testsuite.at Autotest macros
testsuite Invocation Running `testsuite' scripts
Making testsuite Scripts Using autom4te to create `testsuite'
Using an Autotest Test Suite
testsuite Scripts The concepts of Autotest
Autotest Logs Their contents
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
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
Copying This Manual
GNU Free Documentation License License for copying this manual
Indices
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
automatically generated by info2www version 1.2.2.9