[表紙] | [目次] | [索引] | [検索] [上端 / 下端] [?] |
1. はじめに Autoconf's purpose, strengths, and weaknesses 2. GNUビルドシステム A set of tools for portable software packages 3. configure
スクリプトの作成How to organize and produce Autoconf scripts 4. 出力ファイルの初期化 Initialization and output 5. 存在の調査 Macros that check for particular features 6. テストを書く How to write new feature checks 7. テストの結果 What to do with results from feature checks 8. M4でのプログラミング Layers on top of which Autoconf is written 9. Autoconfマクロを書く Adding new macros to Autoconf 10. 移植性のあるシェルプログラミング Shell script portability pitfalls 11. 手動のコンフィグレーション Selecting features that can't be guessed 12. サイトのコンフィグレーション Local defaults for configure
13. configure
スクリプトの実行How to use the Autoconf output 14. コンフィグレーションの再生成 Recreating a configuration 15. 時代遅れの構成物 Kept for backward compatibility 16. Autotestで一般的なテストスイートを生成する Creating portable test suites 17. Autoconfのよくある質問と答え Frequent Autoconf Questions, with answers 18. Autoconfの歴史 History of Autoconf A. このマニュアルのコピー条件 How to make copies of this manual B. 索引 Indices of symbols, concepts, etc.
-- 詳細なノードリスト ---
GNUビルドシステム
2.1 Automake Escaping Makefile hell 2.2 Libtool Building libraries portably 2.3 参考文献 More info on the GNU build system
configure
スクリプトの作成
3.1 `configure.ac'を書く What to put in an Autoconf input file 3.2 `configure.ac'を作成するために autoscan
を使用するSemi-automatic `configure.ac' writing 3.3 条件をリストアップするため ifnames
を使用するListing the conditionals in source code 3.4 configure
を作成するためautoconf
を使用するHow to create configuration scripts 3.5 configure
スクリプトを更新するためautoreconf
を使用するRemaking multiple configure
scripts
`configure.ac'を書く
3.1.1 シェルスクリプトコンパイラ Autoconf as solution of a problem 3.1.2 Autoconf言語 Programming in Autoconf 3.1.3 標準的な`configure.ac'のレイアウト Standard organization of `configure.ac'
初期化と出力ファイル
4.1 configure
の初期化Option processing etc. 4.2 configure
の注意事項Copyright, version numbers in configure
4.3 configure
の入力を見つけるWhere Autoconf should find files 4.4 出力ファイルを生成する Outputting results from the configuration 4.5 コンフィグレーション作業の実行 Preparing the output based on results 4.6 コンフィグレーションファイルの作成 Creating output files 4.7 Makefileへの代入 Using output variables in `Makefile's 4.8 コンフィグレーションヘッダファイル Creating a configuration header file 4.9 任意のコンフィグレーションコマンドの実行 Running arbitrary instantiation commands 4.10 コンフィグレーションのリンクを作成する Links depending on the configuration 4.11 サブディレクトリで他のパッケージをコンフィグレーションする Configuring independent packages together 4.12 デフォルトプレフィクス Changing the default installation prefix
Makefileへの代入
4.7.1 出力変数のプリセット Output variables that are always set 4.7.2 インストールディレクトリの変数 Other preset output variables 4.7.3 ビルドディレクトリ Supporting multiple concurrent compiles 4.7.4 自動的なリメイク Makefile rules for configuring
ヘッダファイルのコンフィグレーション
4.8.1 コンフィグレーションヘッダのテンプレート Input for the configuration headers 4.8.2 `config.h.in'を生成するため autoheader
を使用するHow to create configuration templates 4.8.3 autoheaderのマクロ How to specify CPP templates
存在の調査
5.1 共通の動作 Macros' standard schemes 5.2 プログラムの選択 Selecting between alternative programs 5.3 ファイル Checking for the existence of files 5.4 ライブラリファイル Library archives that might be missing 5.5 ライブラリ関数 C library functions that might be missing 5.6 ヘッダファイル Header files that might be missing 5.7 宣言 Declarations that may be missing 5.8 構造体 Structures or members that might be missing 5.9 型 Types that might be missing 5.10 コンパイラとプリプロセッサ Checking for compiling programs 5.11 システムサービス Operating system services 5.12 様々なUNIX Special kludges for specific UNIX variants
共通の動作
5.1.1 標準的なシンボル Symbols defined by the macros 5.1.2 デフォルトのインクルード Includes used by the generic macros
プログラムの選択
5.2.1 特定のプログラムの調査 Special handling to find certain programs 5.2.2 一般的なプログラムとファイルの調査 How to find other programs
ライブラリ関数
5.5.1 C関数の移植性 Pitfalls with usual functions 5.5.2 特定の関数の調査 Special handling to find certain functions 5.5.3 一般の関数の調査 How to find other functions
ヘッダファイル
5.6.1 ヘッダの移植性 Collected knowledge on common headers 5.6.2 特定のヘッダの調査 Special handling to find certain headers 5.6.3 一般的なヘッダの調査 How to find other headers
宣言
5.7.1 特定の宣言の調査 Macros to check for certain declarations 5.7.2 一般的な宣言の調査 How to find other declarations
構造体
5.8.1 特定の構造体の調査 Macros to check for certain structure members 5.8.2 一般的な構造体の調査 How to find other structure members
型
5.9.1 特定の型の調査 Special handling to find certain types 5.9.2 一般的な型の調査 How to find other types
コンパイラとプリプロセッサ
5.10.1 特定のコンパイラの特徴 Some portability issues 5.10.2 一般的なコンパイラの特徴 Language independent tests and features 5.10.3 Cコンパイラの特徴 Checking its characteristics 5.10.4 C++コンパイラの特徴 Likewise 5.10.5 Fortranコンパイラの特徴 Likewise
テストを書く
6.1 言語の選択 Selecting which language to use for testing 6.2 テストプログラムを書く Forging source files for compilers 6.3 プリプロセッサの実行 Detecting preprocessor symbols 6.4 コンパイラの実行 Detecting language or header features 6.5 リンカの実行 Detecting library features 6.6 実行時の動作の調査 Testing for run-time features 6.7 システム A zoology of operating systems 6.8 複数のケース文 Tests for several possible values
テストプログラムを書く
6.2.1 テストプログラムのためのガイドライン General rules for writing test programs 6.2.2 関数のテスト Avoiding pitfalls in test programs 6.2.3 ソースの生成 Source program boilerplate
テストの結果
7.1 Cプリプロセッサシンボルの定義 Defining C preprocessor symbols 7.2 出力変数の設定 Replacing variables in output files 7.3 結果のキャッシュ Speeding up subsequent configure
runs7.4 メッセージの出力 Notifying configure
users
結果のキャッシュ
7.3.1 キャッシュ変数名 Shell variables used in caches 7.3.2 キャッシュファイル Files configure
uses for caching7.3.3 キャッシュのチェックポイント方法 Loading and saving the cache file
M4でのプログラム
8.1 M4の引用符 Protecting macros from unwanted expansion 8.2 autom4te
の呼び出しThe Autoconf executables backbone 8.3 M4sugarでのプログラミング Convenient pure M4 macros 8.4 M4shでのプログラミング Common shell Constructs
M4の引用符
8.1.1 アクティブな文字 Characters that change the behavior of M4 8.1.2 一つのマクロの呼び出し Quotation and one macro call 8.1.3 引用符と入れ子状のマクロ Macros calling macros 8.1.4 changequote
の弊害Worse than INTERCAL: M4 + changequote 8.1.5 四文字表記 Another way to escape special characters 8.1.6 引用符の経験則 One parenthesis, one quote
autom4te
の使用
8.2.1 autom4te
の呼び出しA GNU M4 wrapper 8.2.2 autom4te
のカスタマイズCustomizing the Autoconf package
M4sugarでのプログラム
8.3.1 M4マクロの再定義 M4 builtins changed in M4sugar 8.3.2 マクロの評価 More quotation and evaluation control 8.3.3 禁止されているパターン Catching unexpanded macros
Autoconfマクロを書く
9.1 マクロの定義 Basic format of an Autoconf macro 9.2 マクロ名 What to call your new macros 9.3 メッセージの報告 Notifying autoconf
users9.4 マクロ間の依存性 What to do when macros depend on other macros 9.5 時代遅れのマクロ Warning about old ways of doing things 9.6 コーディングスタイル Writing Autoconf macros à la Autoconf
マクロ間の依存性
9.4.1 マクロの必要条件 Ensuring required information 9.4.2 推奨される順序 Warning about possible ordering problems
移植性のあるシェルプログラム
10.1 シェル A zoology of shells 10.2 ヒアドキュメント Quirks and tricks 10.3 ファイルディスクリプタ FDs and redirections 10.4 ファイルシステムの条件 File- and pathnames 10.5 シェルの代入 Variable and command expansions 10.6 代入 Varying side effects of assignments 10.7 シェルスクリプト内のカッコ Parentheses in shell scripts 10.8 特殊なシェル変数 Variables you should not change 10.9 シェル組み込みの制限 Portable use of not so portable /bin/sh 10.10 通常のツールの制限 Portable use of portable tools 10.11 Makeの制限 Portable Makefiles
手動のコンフィグレーション
11.1 システムタイプの指定 Specifying the system type 11.2 標準的なシステムタイプの取得 Getting the canonical system type 11.3 システムタイプを使用する What to do with the system type
サイトコンフィグレーション
12.1 外部ソフトウェアとともに動作する Working with other optional software 12.2 パッケージオプションの選択 Selecting optional features 12.3 ヘルプ文字列を小奇麗にする Formatting help string 12.4 サイトのコンフィグレーションの詳細 Configuring site details 12.5 インストール時のプログラム名の変換 Changing program names when installing 12.6 サイトのデフォルトの設定 Giving configure
local defaults
インストール時のプログラム名の変換
12.5.1 変換オプション configure
options to transform names12.5.2 変換例 Sample uses of transforming names 12.5.3 変換規則 `Makefile' uses of transforming names
configure
スクリプトの実行
13.1 基本的なインストール Instructions for typical cases 13.2 コンパイラとオプション Selecting compilers and optimization 13.3 複数のアーキテクチャに対するコンパイル Compiling for multiple architectures at once 13.4 インストール名 Installing in different directories 13.5 オプションの機能 Selecting optional features 13.6 システムタイプの指定 Specifying the system type 13.7 デフォルトの共有 Setting site-wide defaults for configure
13.8 変数の定義 Specifying the compiler etc. 13.9 configure
の呼び出しChanging how configure
runs
時代遅れの構成物
15.1 時代遅れの`config.status'の呼び出し Different calling convention 15.2 `acconfig.h' Additional entries in `config.h.in' 15.3 `configure.ac'を現代風にするために autoupdate
を使用するAutomatic update of `configure.ac' 15.4 時代遅れのマクロ Backward compatibility macros 15.5 バージョン1からの更新 Tips for upgrading your files 15.6 バージョン2.13からの更新 Some fresher tips
バージョン1からの更新
15.5.1 ファイル名の変更 Files you might rename 15.5.2 Makefileの変更 New things to put in `Makefile.in' 15.5.3 変更されたマクロ Macro calls you might replace 15.5.4 変更された結果 Changes in how to check test results 15.5.5 マクロの書き方の変更 Better ways to write your own macros
バージョン2.13からの更新
15.6.1 引用符で囲むことの変更 Broken code which used to work 15.6.2 新しいマクロ Interaction with foreign macros 15.6.3 ホストとクロスコンパイル Bugward compatibility kludges 15.6.4 AC_LIBOBJ
対LIBOBJS
LIBOBJS is a forbidden token 15.6.5 AC_FOO_IFELSE
対AC_TRY_FOO
A more generic scheme for testing sources
Autotestを用いてテストスイートを生成する
16.1 Autotestテストスイートを使用する Autotest and the user 16.2 `testsuite.at'を書く Autotest macros 16.3 testsuite
スクリプトの実行Running testsuite
scripts16.4 testsuite
スクリプトの作成Using autom4te to create testsuite
Autotestテストスイートの使用
16.1.1 testsuite
スクリプトThe concepts of Autotest 16.1.2 Autotestのログ Their contents
よくある質問とその回答
17.1 configure
スクリプトの配布Distributing configure
scripts17.2 なぜGNU M4が必要なのですか? Why not use the standard M4? 17.3 ブートストラップはどうするのですか? Autoconf and GNU M4 require each other? 17.4 なぜImakeではないのですか? Why GNU uses configure
instead of Imake17.5 インストールディレクトリを #define
で定義する方法は?Passing datadir
to program17.6 `autom4te.cache'はなんですか? What is it? Can I remove it? 17.7 ヘッダが存在するのにコンパイルされません Compiler and Preprocessor Disagree
Autoconfの歴史
18.1 Genesis Prehistory and naming of configure
18.2 Exodus The plagues of M4 and Perl 18.3 Leviticus The priestly code of portability arrives 18.4 Numbers Growth and contributors 18.5 Deuteronomy Approaching the promises of easy configuration
このマニュアルのコピー条件
A.1 GNU Free Documentation License License for copying this manual
索引
B.1 環境変数の索引 Index of environment variables used B.2 出力変数の索引 Index of variables set in output files B.3 プリプロセッサシンボルの索引 Index of C preprocessor symbols defined B.4 Autoconfマクロの索引 Index of Autoconf macros B.5 M4マクロの索引 Index of M4, M4sugar, and M4sh macros B.6 Autotestマクロの索引 Index of Autotest macros B.7 プログラムと関数の索引 Index of those with portability problems B.8 概念の索引 General index