GNU Autoconf Automake and Libtool
Start.htm
Toc.htm
___left.htm
Chapter 1. History
1.1 The Diversity of Unix Systems
1.2 The First configure Programs
1.3 configure Development
1.4 Automake Development
1.5 Libtool Development
1.6 Microsoft Windows
Chapter 2. How to Run Configure, and The Most Useful Standard Makefile Targets
2.1 Configuring
2.2 Files Generated by 'configure'
2.3 The Most Useful 'Makefile' Targets
2.4 Configuration Names
Chapter 3. Introducing 'Makefile's
3.1 Targets and Dependencies
3.2 'Makefile' Syntax
3.3 Macros
Chapter 4. Using GNU Autotools to Manage a "Minimal Project"
4.1 User-Provided Input Files
4.2 Generated Output Files
4.3 Maintaining Input Files
4.4 Packaging Generated Files
4.5 Documentation and ChangeLogs
Chapter 5. Writing a Portable 'configure.in'
5.1 What Is Portability?
5.2 Brief Introduction to Portable sh
5.3 Ordering Tests
5.4 What to Check For
5.5 Using Configuration Names
Chapter 6. Introducing GNU Automake
6.1 General Automake Principles
6.2 Frequently Asked Questions
6.3 Introduction to Primaries
6.4 The Easy Primaries
6.5 Programs and Libraries
6.6 Multiple Directories
6.7 Testing
Chapter 7. A Small GNU Autotools Project
7.1 GNU Autotools in Practice
7.2 A Simple Shell Builders Library
7.3 A Sample Shell Application
Chapter 8. Bootstrapping
Chapter 9. Introducing GNU Libtool
9.1 Creating libtool
9.2 The Libtool Library
9.3 Linking an Executable
9.4 Linking a Library
9.5 Executing Uninstalled Binaries
9.6 Installing a Library
9.7 Installing an Executable
9.8 Uninstalling
9.4.1 Interlibrary Dependencies
9.4.2 Using Convenience Libraries
Chapter 10. Using GNU Libtool with 'configure.in' and 'Makefile.am'
10.1 Integration with 'configure.in'
10.2 Integration with 'Makefile.am'
10.3 Using libtoolize
10.4 Library Versioning
10.5 Convenience Libraries
Chapter 11. A Large GNU Autotools Project
11.1 Using Libtool Libraries
11.2 Removing '--foreign'
11.3 Installing Header Files
11.4 Including Texinfo Documentation
11.5 Adding a Test Suite
Chapter 12. Rolling Distribution Tarballs
12.1 Introduction to Distributions
12.2 What Goes In
12.3 The distcheck Rule
12.4 Some Caveats
12.5 Implementation
Chapter 13. Installing and Uninstalling Configured Packages
13.1 Where Files Are Installed
13.2 Fine-Grained Control of Install
13.3 Install Hooks
13.4 Uninstall
Chapter 14. Writing Portable C with GNU Autotools
14.1 C Language Portability
14.2 Cross-Unix Portability
14.3 Unix/Windows Portability
Chapter 15. Writing Portable C++ with GNU Autotools
15.1 Brief History of C++
15.2 Changeable C++
15.3 Compiler Quirks
15.4 How GNU Autotools Can Help
15.5 Further Reading
Chapter 16. Dynamic Loading
16.1 Dynamic Modules
16.2 Module Access Functions
16.3 Finding a Module
16.4 A Simple GNU/Linux Module Loader
16.5 A Simple GNU/Linux Dynamic Module
Chapter 17. Using GNU libltdl
17.1 Introducing libltdl
17.2 Using libltdl
17.3 Portable Library Design
17.4 dlpreopen Loading
17.5 User Module Loaders
Chapter 18. Advanced GNU Automake Usage
18.1 Conditionals
18.2 Language Support
18.3 Automatic Dependency Tracking
Chapter 19. A Complex GNU Autotools Project
19.1 A Module-Loading Subsystem
19.2 A Loadable Module
19.3 Interpreting Commands from a File
19.4 Integrating Dmalloc
Chapter 20. GNU M4
20.1 What Does M4 Do?
20.2 How GNU Autotools Uses M4
20.3 Fundamentals of M4 Processing
20.4 Features of M4
20.5 Writing Macros Within the GNU Autotools Framework
Chapter 21. Writing Portable Bourne Shell
21.1 Why Use the Bourne Shell?
21.2 Implementation
21.3 Environment
21.4 Utilities
Chapter 22. Writing New Macros for Autoconf
22.1 Autoconf Preliminaries
22.2 Reusing Existing Macros
22.3 Guidelines for Writing Macros
22.4 Implementation Specifics
22.5 Future Directions for Macro Writers
22.3.1 Noninteractive Behavior
22.3.2 Testing System Features at Application Runtime
22.3.3 Output from Macros
22.3.4 Naming Macros
22.3.5 Macro Interface
Chapter 23. Migrating an Existing Package to GNU Autotools
23.1 Why Autoconfiscate?
23.2 Overview of the Two Approaches
23.3 Example: Quick and Dirty
23.4 Example: The Full Pull
Chapter 24. Using GNU Autotools with Cygnus' Cygwin
24.1 Preliminaries
24.2 Installing GNU Autotools on Cygwin
24.3 Writing a Cygwin-Friendly Package
24.4 DLLs with Libtool
24.5 Package Installation
Chapter 25. Cross-Compilation with GNU Autotools
25.1 Host and Target
25.2 Specifying the Target
25.3 Using the Target Type
25.4 Building with a Cross-Compiler
About the Authors
About the Technical Reviewers
Acknowledgments
Tell Us What You Think
Foreword
Introduction
I.1 What This Book Is
I.2 What This Book Is Not
I.3 Who Should Read This Book
I.4 How This Book Is Organized
I.5 Conventions Used in This Book
Appendix A. Installing GNU Autotools
A.1 Prerequisite Tools
A.2 Downloading GNU Autotools
A.3 Installing the Tools
Appendix B. Platforms
Appendix C. Generated File Dependencies
C.1 aclocal
C.2 autoheader
C.3 automake and libtoolize
C.4 autoconf
C.5 configure
C.6 make
Appendix D. Autoconf Macro Reference
Chapter E. Open Publication License
I REQUIREMENTS ON BOTH UNMODIFIED AND MODIFIED VERSIONS
II COPYRIGHT
III SCOPE OF LICENSE
IV REQUIREMENTS ON MODIFIED WORKS
V GOOD-PRACTICE RECOMMENDATIONS
VI LICENSE OPTIONS
OPEN PUBLICATION POLICY APPENDIX
Copyright