1. Introduction 2. The GNU build system
2.1 Automake 2.2 Libtool 2.3 Pointers
3. Making configure Scripts
configure
3.1 Writing `configure.ac'
3.1.1 A Shell Script Compiler 3.1.2 The Autoconf Language 3.1.3 Standard `configure.ac' Layout
3.2 Using autoscan to Create `configure.ac' 3.3 Using ifnames to List Conditionals 3.4 Using autoconf to Create configure 3.5 Using autoreconf to Update configure Scripts
autoscan
ifnames
autoconf
autoreconf
4. Initialization and Output Files
4.1 Notices in configure 4.2 Finding configure Input 4.3 Outputting Files 4.4 Taking Configuration Actions 4.5 Creating Configuration Files 4.6 Substitutions in Makefiles
4.6.1 Preset Output Variables 4.6.2 Installation Directory Variables 4.6.3 Build Directories 4.6.4 Automatic Remaking
4.7 Configuration Header Files
4.7.1 Configuration Header Templates 4.7.2 Using autoheader to Create `config.h.in' 4.7.3 Autoheader Macros
autoheader
4.8 Running Arbitrary Configuration Commands 4.9 Creating Configuration Links 4.10 Configuring Other Packages in Subdirectories 4.11 Default Prefix
5. Existing Tests
5.1 Common Behavior
5.1.1 Standard Symbols 5.1.2 Default Includes
5.2 Alternative Programs
5.2.1 Particular Program Checks 5.2.2 Generic Program and File Checks
5.3 Files 5.4 Library Files 5.5 Library Functions
5.5.1 Portability of Classical Functions 5.5.2 Particular Function Checks 5.5.3 Generic Function Checks
5.6 Header Files
5.6.1 Particular Header Checks 5.6.2 Generic Header Checks
5.7 Declarations
5.7.1 Particular Declaration Checks 5.7.2 Generic Declaration Checks
5.8 Structures
5.8.1 Particular Structure Checks 5.8.2 Generic Structure Checks
5.9 Types
5.9.1 Particular Type Checks 5.9.2 Generic Type Checks
5.10 Compilers and Preprocessors
5.10.1 Generic Compiler Characteristics 5.10.2 C Compiler Characteristics 5.10.3 C++ Compiler Characteristics 5.10.4 Fortran 77 Compiler Characteristics
5.11 System Services 5.12 UNIX Variants
6. Writing Tests
6.1 Examining Declarations 6.2 Examining Syntax 6.3 Examining Libraries 6.4 Checking Run Time Behavior
6.4.1 Running Test Programs 6.4.2 Guidelines for Test Programs 6.4.3 Test Functions
6.5 Systemology 6.6 Multiple Cases 6.7 Language Choice
7. Results of Tests
7.1 Defining C Preprocessor Symbols 7.2 Setting Output Variables 7.3 Caching Results
7.3.1 Cache Variable Names 7.3.2 Cache Files 7.3.3 Cache Checkpointing
7.4 Printing Messages
8. Programming in M4
8.1 M4 Quotation
8.1.1 Active Characters 8.1.2 One Macro Call 8.1.3 Quotation and Nested Macros 8.1.4 Quadrigraphs 8.1.5 Quotation Rule Of Thumb
8.2 Programming in M4sugar
8.2.1 Redefined M4 Macros 8.2.2 Forbidden Patterns
9. Writing Autoconf Macros
9.1 Macro Definitions 9.2 Macro Names 9.3 Reporting Messages 9.4 Dependencies Between Macros
9.4.1 Prerequisite Macros 9.4.2 Suggested Ordering
9.5 Obsoleting Macros 9.6 Coding Style
10. Portable Shell Programming
10.1 Shellology 10.2 Here-Documents 10.3 File Descriptors 10.4 File System Conventions 10.5 Shell Substitutions 10.6 Assignments 10.7 Special Shell Variables 10.8 Limitations of Shell Builtins 10.9 Limitations of Usual Tools 10.10 Limitations of Make
11. Manual Configuration
11.1 Specifying the System Type 11.2 Getting the Canonical System Type 11.3 Using the System Type
12. Site Configuration
12.1 Working With External Software 12.2 Choosing Package Options 12.3 Making Your Help Strings Look Pretty 12.4 Configuring Site Details 12.5 Transforming Program Names When Installing
12.5.1 Transformation Options 12.5.2 Transformation Examples 12.5.3 Transformation Rules
12.6 Setting Site Defaults
13. Running configure Scripts
13.1 Basic Installation 13.2 Compilers and Options 13.3 Compiling For Multiple Architectures 13.4 Installation Names 13.5 Optional Features 13.6 Specifying the System Type 13.7 Sharing Defaults 13.8 Environment Variables 13.9 configure Invocation
14. Recreating a Configuration 15. Obsolete Constructs
15.1 Obsolete `config.status' Invocation 15.2 `acconfig.h' 15.3 Using autoupdate to Modernize `configure.ac' 15.4 Obsolete Macros 15.5 Upgrading From Version 1
autoupdate
15.5.1 Changed File Names 15.5.2 Changed Makefiles 15.5.3 Changed Macros 15.5.4 Changed Results 15.5.5 Changed Macro Writing
15.6 Upgrading From Version 2.13
15.6.1 Changed Quotation 15.6.2 New Macros
16. Questions About Autoconf
16.1 Distributing configure Scripts 16.2 Why Require GNU M4? 16.3 How Can I Bootstrap? 16.4 Why Not Imake?
17. History of Autoconf
17.1 Genesis 17.2 Exodus 17.3 Leviticus 17.4 Numbers 17.5 Deuteronomy
Environment Variable Index Output Variable Index Preprocessor Symbol Index Autoconf Macro Index M4 Macro Index Concept Index