您的位置:首页 > 其它

Autoconf, Automake, and Libtool: Table of Contents

2013-01-31 15:38 477 查看
Autoconf, Automake, and Libtool: Table of Contents

Table of Contents

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
4.1 Targets and dependencies
4.2 Makefile syntax
4.3 Macros
4.4 Suffix rules
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.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.1.1 Error Management
9.2.1.2 Memory Management
9.2.1.3 Generalised List Data Type
9.2.2.1 `sic.c' & `sic.h'
9.2.2.2 `builtin.c' & `builtin.h'
9.2.2.3 `eval.c' & `eval.h'
9.2.2.4 `syntax.c' & `syntax.h'

9.2.1 Portability Infrastructure
9.2.2 Library Implementation
9.2.3 Beginnings of a `configure.in'
9.3.1 `sic_repl.c'
9.3.2 `sic_syntax.c'
9.3.3 `sic_builtin.c'
9.3.4 `sic.c' & `sic.h'

9.1 GNU Autotools in Practice
9.2 A Simple Shell Builders Library
9.3 A Sample Shell Application
10.2.1 Position Independent Code
10.2.2 Creating Shared Libraries
10.2.3 Creating Static Libraries
10.2.4 Creating Convenience Libraries
10.4.1 Inter-library Dependencies
10.4.2 Using Convenience Libraries

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.1 Extra Configure Options
11.1.2 Extra Macros for Libtool
11.2.1 Creating Libtool Libraries with Automake
11.2.2 Linking against Libtool Libraries with Automake

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.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.1 Cross-Unix Function Calls
15.2.2 Cross-Unix System Interfaces
15.3.5.1 Text and Binary Files
15.3.5.2 File system Issues
15.3.5.3 DOS Filename Restrictions
15.3.5.4 Windows File Name Case
15.3.5.5 Whitespace in File Names
15.3.5.6 Windows Separators and Drive Letters
15.3.5.7 Miscellaneous Issues

15.3.1 Unix/Windows Emulation
15.3.2 Unix/Windows Portable Scripting Language
15.3.3 Unix/Windows User Interface Library
15.3.4 Unix/Windows Specific Code
15.3.5 Unix/Windows Issues

15.1 C Language Portability
15.2 Cross-Unix Portability
15.3 Unix/Windows Portability
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 The
explicit
Keyword

16.2.7 The
mutable
Keyword

16.2.8 The
typename
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.3.1 Template Instantiation
16.3.2 Name Mangling
16.4.1 Testing C++ Implementations with Autoconf
16.4.2 Automake C++ support
16.4.3 Libtool C++ support

16.1 Brief History of C++
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.2.1 Configury
18.2.2 Memory Management
18.2.3 Module Loader
18.2.4 Dependent Libraries
18.2.5 Dynamic Module
18.5.1 Loader Mechanism
18.5.2 Loader Management
18.5.3 Loader Errors

18.1 Introducing libltdl
18.2 Using libltdl
18.3 Portable Library Design
18.4 dlpreopen Loading
18.5 User Module Loaders
19.1 Conditionals
19.2 Language support
19.3 Automatic dependency tracking
20.1.1 Initialising the Module Loader
20.1.2 Managing Module Loader Errors
20.1.3 Loading a Module
20.1.4 Unloading a Module

20.1 A Module Loading Subsystem
20.2 A Loadable Module
20.3 Interpreting Commands from a File
20.4 Integrating Dmalloc
21.3.1 Token scanning
21.3.2 Macros and macro expansion
21.3.3 Quoting
21.4.1 Discarding input
21.4.2 Macro management
21.4.3 Conditionals
21.4.4 Looping
21.4.5 Diversions
21.4.6 Including files
21.5.1 Syntactic conventions
21.5.2 Debugging with M4

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
22.2.1 Size Limitations
22.2.2 #!
22.2.3 :
22.2.4 ()
22.2.5 .
22.2.6 [
22.2.7 $
22.2.8 * versus .*

22.1 Why Use the Bourne Shell?
22.2 Implementation
22.3 Environment
22.4 Utilities
23.3.1 Non-interactive behavior
23.3.2 Testing system features at application runtime
23.3.3 Output from macros
23.3.4 Naming macros
23.3.5 Macro interface
23.4.1 Writing shell code
23.4.2 Using M4 correctly
23.4.3 Caching results
23.5.1 Autoconf macro archive
23.5.2 Primitive macros to aid in building macros

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.3.2.1 8.3 Filenames
25.3.2.2 Separators and Drive Letters

25.3.1 Text vs Binary Modes
25.3.2 File System Limitations
25.3.3 Executable Filename Extensions
25.4.1 DLL Support with GNU Autotools
25.4.2 A Makefile.am for DLLs
25.4.3 A configure.in for DLLs
25.4.4 Handling Data Exports from DLLs
25.4.5 Runtime Loading of DLLs

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.4.6.1 Supporting Building with a Cross Compiler in Configure Scripts
26.4.6.2 Supporting Building with a Cross Compiler in Makefiles

26.4.1 Canadian Cross Example
26.4.2 Canadian Cross Concepts
26.4.3 Build Cross Host Tools
26.4.4 Build and Host Options
26.4.5 Canadian Cross Tools
26.4.6 Supporting Building with a Cross Compiler

26.1 Host and Target
26.2 Specifying the Target
26.3 Using the Target Type
26.4 Building with a Cross Compiler
A.1 Prerequisite tools
A.2 Downloading GNU Autotools
A.3 Installing the tools
C.1 aclocal
C.2 autoheader
C.3 automake and libtoolize
C.4 autoconf
C.5 configure
C.6 make

1. Introduction
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: