Autoconf, Automake, and Libtool: Table of Contents
Table of Contents
- 1. Introduction
1.1 What this book is
1.2 What the book is not
1.3 Who should read this book
1.4 How this book is organized
2.1 The Diversity of Unix Systems
2.2 The First Configure Programs
2.3 Configure Development
2.4 Automake Development
2.5 Libtool Development
2.6 Microsoft Windows
3.1 Configuring
3.2 Files generated by configure
3.3 The most useful Makefile targets
3.4 Configuration Names
5.1 User-Provided Input Files
5.2 Generated Output Files
5.3 Maintaining Input Files
5.4 Packaging Generated Files
5.5 Documentation and ChangeLogs
6.1 What is Portability?
6.2 Brief introduction to portable sh
6.3 Ordering Tests
6.4 What to check for
6.5 Using Configuration Names
7.1 General Automake principles
7.2 Introduction to Primaries
7.3 The easy primaries
7.4 Programs and libraries
7.5 Frequently Asked Questions
7.6 Multiple directories
7.7 Testing
- 9.1 GNU Autotools in Practice
9.1.1 Project Directory Structure
9.1.2 C Header Files
9.1.3 C++ Compilers
9.1.4 Function Definitions
9.1.5 Fallback Function Implementations
9.1.6 K&R Compilers
9.2 A Simple Shell Builders Library
9.3 A Sample Shell Application
- 10.1 Creating
libtool
10.2 The Libtool Library
10.3 Linking an Executable
10.4 Linking a Library
10.5 Executing Uninstalled Binaries
10.6 Installing a Library
10.7 Installing an Executable
10.8 Uninstalling
- 11.1 Integration with `configure.in'
11.2 Integration with `Makefile.am'
11.3 Using libtoolize
11.4 Library Versioning
11.5 Convenience Libraries
12.1 Using Libtool Libraries
12.2 Removing `--foreign'
12.3 Installing Header Files
12.4 Including Texinfo Documentation
12.5 Adding a Test Suite
13.1 Introduction to Distributions
13.2 What goes in
13.3 The distcheck rule
13.4 Some caveats
13.5 Implementation
14.1 Where files are installed
14.2 Fine-grained control of install
14.3 Install hooks
14.4 Uninstall
- 15.1 C Language Portability
15.1.1 ISO C
15.1.2 C Data Type Sizes
15.1.3 C Endianness
15.1.4 C Structure Layout
15.1.5 C Floating Point
15.1.6 GNU cc Extensions
15.2 Cross-Unix Portability
15.3 Unix/Windows Portability
- 16.1 Brief History of C++
16.2.1 Built-in bool type
16.2.2 Exceptions
16.2.3 Casts
16.2.4 Variable Scoping in For Loops
16.2.5 Namespaces
16.2.6 Theexplicit
Keyword
16.2.7 Themutable
Keyword
16.2.8 Thetypename
Keyword
16.2.9 Runtime Type Identification (RTTI)
16.2.10 Templates
16.2.11 Default template arguments
16.2.12 Standard library headers
16.2.13 Standard Template Library
16.2 Changeable C++
16.3 Compiler Quirks
16.4 How GNU Autotools Can Help
16.5 Further Reading
17.1 Dynamic Modules
17.2 Module Access Functions
17.3 Finding a Module
17.4 A Simple GNU/Linux Module Loader
17.5 A Simple GNU/Linux Dynamic Module
- 18.1 Introducing libltdl
18.2 Using libltdl
18.3 Portable Library Design
18.4 dlpreopen Loading
18.5 User Module Loaders
- 20.1 A Module Loading Subsystem
20.2 A Loadable Module
20.3 Interpreting Commands from a File
20.4 Integrating Dmalloc
- 21.1 What does M4 do?
21.2 How GNU Autotools uses M4
21.3 Fundamentals of M4 processing
21.4 Features of M4
21.5 Writing macros within the GNU Autotools framework
- 23.1 Autoconf Preliminaries
23.2 Reusing Existing Macros
23.3 Guidelines for writing macros
23.4 Implementation specifics
23.5 Future directions for macro writers
24.1 Why autconfiscate
24.2 Overview of the Two Approaches
24.3 Example: Quick And Dirty
24.4 Example: The Full Pull
- 25.1 Preliminaries
25.2 Installing GNU Autotools on Cygwin
25.3 Writing A Cygwin Friendly Package
25.4 DLLs with Libtool
25.5 Package Installation
- 26.1 Host and Target
26.2 Specifying the Target
26.3 Using the Target Type
26.4 Building with a Cross Compiler
2. History
3. How to run configure and make
4. Introducing `Makefile's
5. A Minimal GNU Autotools Project
6. Writing `configure.in'
7. Introducing GNU Automake
8. Bootstrapping
9. A Small GNU Autotools Project
10. Introducing GNU Libtool
11. Using GNU Libtool with `configure.in' and `Makefile.am'
12. A Large GNU Autotools Project
13. Rolling Distribution Tarballs
14. Installing and Uninstalling Configured Packages
15. Writing Portable C with GNU Autotools
16. Writing Portable C++ with GNU Autotools
17. Dynamic Loading
18. Using GNU libltdl
19. Advanced GNU Automake Usage
20. A Complex GNU Autotools Project
21. M4
22. Writing Portable Bourne Shell
23. Writing New Macros for Autoconf
24. Migrating an Existing Package to GNU Autotools
25. Using GNU Autotools with Cygnus Cygwin
26. Cross Compilation with GNU Autotools
A. Installing GNU Autotools
B. PLATFORMS
C. Generated File Dependencies
D. Autoconf Macro Reference
E. OPL
Index