本文へスキップします。

【参】モーダルJS:読み込み
書籍DB:詳細

GNU Autoconf/Automake/Libtool

GNU Autoconf/Automake/Libtool

ソフトウェアの移植性を高め、多様なプラットフォーム上でのビルドを容易にする

GNU Autoconf、Automake、Libtool(Autotoolsと総称されます)は、ソフトウェアのポータビリティ(移植性)を高めるとともに、ビルド作業を簡単に行えるようにするためのツールです。Autotoolsを利用すると、UNIX系OSはもちろんのこと、BeOSからWindowsまで、さまざまなプラットフォームにプログラムを対応させ、各プラットフォーム上で容易にプログラムを構築することが可能になります。そのため、オープンソースソフトウェアを中心にさまざまなプロジェクトで採用が進んでいます。
本書は、GNU Autotoolsそれぞれの役割と基本的な使い方から、互いに連携させて使いこなすためのノウハウまでを十二分に解説します。プログラマだけでなく、システム管理者やマネージャを含め、すべてのソフトウェア技術者にとって価値のある1冊です。
著者紹介
日本語版監訳者より
オリジナル版からの変更点
はじめに
第1章 歴史
1.1 さまざまなUnixシステム
1.2 初期の設定プログラム
1.3 configureの発展
1.4 Automakeの発展
1.5 Libtoolの発展
1.6 Microsoft Windows
第2章 configureとmakeの実行方法
2.1 configureスクリプトの起動オプション
2.2 configureが生成するファイル
2.3 特に有用なMakefileターゲット
2.4 設定名
第3章 Makefile入門
3.1 ターゲットと依存関係
3.2 Makefileの構文
3.3 マクロ
3.4 サフィックスルール
第4章 最小規模のGNU Autotoolsプロジェクト
4.1 ユーザ提供入力ファイル
4.2 生成される出力ファイル
4.3 入力ファイルのメンテナンス
4.4 生成ファイルのパッケージ化
4.5 ドキュメントとChangeLog
第5章 ポータブルなconfigure.inの作成
5.1 ポータビリティとは
5.2 shのポータビリティについて
5.3 テストの順序
5.4 何をチェックするか
5.5 設定名の使用
第6章 GNU Automake入門
6.1 Automakeの一般原則
6.2 プライマリの概要
6.3 簡単なプライマリ
6.4 プログラムとライブラリ
6.5 よくある質問
6.6 複数のディレクトリ
6.7 テスト
第7章 ブートストラップ
第8章 小規模なGNU Autotoolsプロジェクト
8.1 GNU Autotoolsの実際
8.2 単純なシェルビルダーライブラリ
8.3 サンプル ― シェルアプリケーション
第9章 GNU Libtool入門
9.1 libtoolの作成
9.2 Libtoolライブラリ
9.3 実行可能コードのリンク
9.4 ライブラリのリンク
9.5 未インストールバイナリの実行
9.6 ライブラリのインストール
9.7 実行可能コードのインストール
9.8 アンインストール
第10章 GNU Libtoolとconfigure.inおよびMakefile.am
10.1 configure.inによる統合
10.2 Makefile.amによる統合
10.3 libtoolizeの使用
10.4 ライブラリのバージョン管理
10.5 コンビニエンスライブラリ
第11章 大規模なGNU Autotoolsプロジェクト
11.1 Libtoolライブラリの使用
11.2 --foreignの削除
11.3 ヘッダファイルのインストール
11.4 Texinfoドキュメントのインクルード
11.5 テストスイートの追加
第12章 tarballの配布
12.1 配布の概要
12.2 配布物に含まれるもの
12.3 distcheckルール
12.4 注意点
12.5 実装
第13章 設定済みパッケージのインストールとアンインストール
13.1 ファイルのインストール先
13.2 インストールの微妙な制御
13.3 フックのインストール
13.4 アンインストール
第14章 GNU AutotoolsでポータブルなCを書く
14.1 C言語のポータビリティ
14.2 Unix間の移植
14.3 Unix/Windowsのポータビリティ
第15章 GNU AutotoolsでポータブルなC++を書く
15.1 C++の歴史
15.2 変化するC++
15.3 コンパイラの癖
15.4 GNU Autotoolsがどう役立つか
15.5 今後の学習のために
第16章 動的ローディング
16.1 動的モジュール
16.2 モジュールアクセス関数
16.3 モジュールの検索
16.4 単純なGNU/Linuxモジュールローダー
16.5 単純なGNU/Linux動的モジュール
第17章 GNU libltdlの使用
17.1 libltdlの概要
17.2 libltdlの使用
17.3 ポータブルなライブラリ設計
17.4 dlpreopenローディング
17.5 ユーザモジュールローダー
第18章 GNU Automakeの高度な使い方
18.1 条件
18.2 言語サポート
18.3 依存関係の自動追跡
第19章 複雑なGNU Autotoolsプロジェクト
19.1 モジュールローディングシステム
19.2 ロード可能モジュール
19.3 ファイルからのコマンドの解釈
19.4 Dmallocの統合
第20章 M4
20.1 M4は何をするか
20.2 GNU AutotoolsはM4をどう使うか
20.3 M4処理の基本
20.4 M4の諸機能
20.5 GNU Autotoolsフレームワークの中でマクロを書く
第21章 ポータブルなBourneシェルを書く
21.1 なぜBourneシェルを使うか
21.2 実装
21.3 環境
21.4 ユーティリティ
第22章 Autoconf用に新しいマクロを書く
22.1 Autoconfの予備知識
22.2 既存のマクロの再利用
22.3 マクロを書くためのガイドライン
22.4 実装の詳細
22.5 マクロ作者が将来向かうべき方向
第23章 既存のパッケージをGNU Autotoolsに移行させる
23.1 なぜAutoconfに対応させるのか
23.2 2通りのアプローチ
23.3 例 ―― 拙速的アプローチ
23.4 例 ―― 本格的アプローチ
第24章 Cygnus CygwinでGNU Autotoolsを使う
24.1 予備作業
24.2 CygwinにGNU Autotoolsをインストールする
24.3 Cygwinフレンドリなパッケージを書く
24.4 LibtoolとDLL
24.5 パッケージのインストール
第25章 GNU Autotoolsによるクロスコンパイル
25.1 ホストとターゲット
25.2 ターゲットの指定
25.3 ターゲットタイプの使用
25.4 クロスコンパイラでのビルド
付録A GNU Autotoolsのインストール
A.1 必要なツール
A.2 GNU Autotoolsのダウンロード
A.3 ツールのインストール
付録B プラットフォーム
付録C 生成ファイルの依存関係
C.1 aclocal
C.2 autoheader
C.3 automakeとlibtoolize
C.4 autoconf
C.5 configure
C.6 make
付録D Autoconfマクロリファレンス
付録E オープンパブリケーション利用許諾契約書
索引
監訳者紹介