autobook的目录

   Top: Autoconf, Automake, and Libtool

   Contents: Table of Contents

   Index: Index

   About: About this document

 

Table of Contents

 

   1. 介绍

       1.1 本书是什么

       1.2 本书不是什么

       1.3 谁应该读本书

       1.4 本书如何组织

 

   2. 历史

       2.1 Unix 的多样性

       2.2 第一个配置程序

       2.3 Configure的发展

       2.4 Automake的发展

       2.5 Libtool的发展

       2.6 Microsoft Windows

 

   3. 如何运行configure和make

       3.1 Configuring

       3.2 configure产生的文件 

       3.3 最有用的Makefile目标

       3.4 配置名称

 

   4. Makefile介绍

       4.1 目标和依赖

       4.2 Makefile语法

       4.3 宏

       4.4 后缀规则

 

   5. 一个最小的GNU Autotools项目

       5.1 用户提供的输入文件

       5.2 生成的输出文件

       5.3 维护输入文件

       5.4 为生成文件打包

       5.5 文档和changelog

 

   6. 写configure.in

       6.1 什么是可移植性

       6.2 可移植sh简介

       6.3 检测顺序

       6.4 需要检测什么

       6.5 使用配置名称

 

   7. GNU Automake 介绍

       7.1 Automake 总纲

       7.2 原型(Primaries)介绍

       7.3 简单的原型

       7.4 程序和库

       7.5 FAQ

       7.6 多目录

       7.7 测试

 

   8. 引导(Bootstrap)

 

   9. 一个小型GNU Autotools项目

       9.1 GNU Autotools 实践

           9.1.1 项目目录结构

           9.1.2 C 头文件

           9.1.3 C++ 编译器

           9.1.4 函数定义

           9.1.5 替补(Fallback)函数的实现

           9.1.6 K&R 编译器

 

       9.2 A Simple Shell Builders Library

           9.2.1 Portability Infrastructure

               9.2.1.1 Error Management

               9.2.1.2 Memory Management

               9.2.1.3 Generalised List Data Type

 

           9.2.2 Library Implementation

               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.3 Beginnings of a `configure.in'

 

       9.3 A Sample Shell Application

           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'

 

   10. GNU Libtool介绍

       10.1 Creating libtool

 

       10.2 The Libtool Library

           10.2.1 位置独立的代码

           10.2.2 创建共享库

           10.2.3 创建静态库

           10.2.4 创建Convenience Library

 

       10.3 链接一个可执行文件

       10.4 链接一个库文件

           10.4.1 Inter-library Dependencies

           10.4.2 Using Convenience Libraries

 

       10.5 Executing Uninstalled Binaries

       10.6 Installing a Library

       10.7 Installing an Executable

       10.8 Uninstalling

 

   11. GNU Libtool和configure.in,Makefile.am配合

       11.1 整合 configure.in

           11.1.1 额外的 Configure 选项

           11.1.2 额外的宏(用于Libtool)

 

       11.2 整合 Makefile.am

           11.2.1 Creating Libtool Libraries with Automake

           11.2.2 Linking against Libtool Libraries with Automake

 

       11.3 Using libtoolize

       11.4 Library Versioning

       11.5 Convenience Libraries

 

   12. 一个大型的GNU Autotools项目

       12.1 Using Libtool Libraries

       12.2 Removing `--foreign'

       12.3 安装头文件

       12.4 包含 Texinfo 文档

       12.5 添加测试用例

 

   13. 分发软件包

       13.1 分发介绍

       13.2 What goes in

       13.3 The distcheck rule

       13.4 Some caveats

       13.5 Implementation

 

   14. 安装和卸载configure过的包

       14.1 文件安装到何处

       14.2 安装的精细控制

       14.3 Install hooks

       14.4 Uninstall

 

   15. 用GNU Autotools编写可移植的C

       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.2.1 Cross-Unix Function Calls

           15.2.2 Cross-Unix System Interfaces

 

       15.3 Unix/Windows Portability

           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.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

 

   16. 用GNU Autotools编写可移植的C++

       16.1 Brief History of C++

       16.2 Changeable 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 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 Compiler Quirks

           16.3.1 Template Instantiation

           16.3.2 Name Mangling

 

       16.4 How GNU Autotools Can Help

           16.4.1 Testing C++ Implementations with Autoconf

           16.4.2 Automake C++ support

           16.4.3 Libtool C++ support

 

       16.5 Further Reading

 

   17. 动态加载

       17.1 动态模块

       17.2 模块访问函数

       17.3 查找模块

       17.4 一个简单的 GNU/Linux 模块加载器

       17.5 一个简单的 GNU/Linux 动态模块

 

   18. 使用 GNU libltdl

       18.1 libltdl 介绍

       18.2 使用 libltdl

           18.2.1 Configury

           18.2.2 内存管理

           18.2.3 模块加载

           18.2.4 依赖库

           18.2.5 动态模块

 

       18.3 可移植库设计

       18.4 dlpreopen 加载

       18.5 用户模块加载器

           18.5.1 加载器机制

           18.5.2 加载器管理

           18.5.3 加载器错误

 

   19. GNU Automake 进阶用法

       19.1 Conditionals

       19.2 语言支持

       19.3 自动依赖关系跟踪

 

   20. 一个复杂的GNU Autotools项目

       20.1 A Module Loading Subsystem

           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.2 A Loadable Module

       20.3 Interpreting Commands from a File

       20.4 Integrating Dmalloc

 

   21. M4

       21.1 M4 做什么

       21.2 GNU Autotools 如何使用 M4

       21.3 M4 处理原理

           21.3.1 扫描标记

           21.3.2 宏以及宏展开

           21.3.3 引用

 

       21.4 M4 特性

           21.4.1 丢弃输入

           21.4.2 宏管理

           21.4.3 条件语句

           21.4.4 循环

           21.4.5 转移

           21.4.6 文件包含

 

       21.5 在 GNU Autotools 框架中编写宏

           21.5.1 句法约定

           21.5.2 用 M4 调试

 

   22. 编写可移植的Bourne Shell

       22.1 为何要使用 Bourne Shell?

       22.2 实现

           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.3 环境

       22.4 工具

 

   23. 为Autoconf写新的宏

       23.1 Autoconf Preliminaries

       23.2 重用已有的宏

       23.3 宏编写指南

           23.3.1 非交互行为

           23.3.2 应用程序执行时检测系统特性

           23.3.3 宏输出

           23.3.4 宏命名

           23.3.5 宏接口

 

       23.4 实施细则

           23.4.1 编写shell代码

           23.4.2 正确使用M4

           23.4.3 缓存结果

 

       23.5 Future directions for macro writers

           23.5.1 Autoconf 宏结构

           23.5.2 Primitive macros to aid in building macros

 

   24. 移植现有的库到GNU Autotools

       24.1 Why autconfiscate

       24.2 两种方法

       24.3 Example: Quick And Dirty

       24.4 Example: The Full Pull

 

   25. 在Cygnus Cygwin中使用Autotools

       25.1 Preliminaries

       25.2 Installing GNU Autotools on Cygwin

       25.3 Writing A Cygwin Friendly Package

           25.3.1 Text vs Binary Modes

           25.3.2 File System Limitations

               25.3.2.1 8.3 Filenames

               25.3.2.2 Separators and Drive Letters

 

           25.3.3 Executable Filename Extensions

       25.4 DLLs with Libtool

           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.5 Package Installation

 

   26. 用GNU Autotools进行交叉编译

       26.1 Host and Target

       26.2 Specifying the Target

       26.3 Using the Target Type

       26.4 Building with a Cross Compiler

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

               26.4.6.2 Supporting Building with a Cross Compiler in Makefiles

 

   A. 安装GNU Autotools

       A.1 Prerequisite tools

       A.2 Downloading GNU Autotools

       A.3 Installing the tools

 

   B. 平台

   C. 生成文件的依赖关系

       C.1 aclocal

       C.2 autoheader

       C.3 automake and libtoolize

       C.4 autoconf

       C.5 configure

       C.6 make

 

   D. Autoconf 宏参考

   E. 公开发行许可证

   Index

     __________________________________________________________________

你可能感兴趣的:(Module,library,compiler,makefile,Instantiation,portability)