« ビジターをユーザーに替える3ポイント | メイン | ソフトウェアテストに向いている人材とは »

Global standard programming with GNU Autotools
このエントリーをブックマークに追加 このエントリーをlivedoorクリップに追加

尾藤正人です。

UNIXのソフトウェアをインストールするときに、よくやるのが

./configure
make
make install

という手順ですが、この configure スクリプトや Makefile を自動的に生成してくれるツールは GNU Autotools と呼ばれます。

GNU Autotools は使うとすごく便利なんだけど、結構知らない人が多そうだった(実際あまり知らなかった)ので、昨日の勉強会の時に紹介しました。せっかくなので資料を公開します。

プレゼン資料(OpenOffice)
プレゼン資料(PowerPoint)
bat.tar.gz
bat-0.0.1.tar.gz

プレゼン資料はOpenOfficeで作りました。念のためPowerPoint用に変換したのもおいておきます。

単に説明だけだと内容がよく分からないので簡単な例として bat コマンドを作りました。標準入力を受け取って標準出力に出すというだけの簡単なコマンドです。catよりも機能がないので bat にしました。bat コマンドは無駄にライブラリ libbat を生成して bat コマンドは libbat を共有ライブラリとして使用します。

bat.tar.gz に GNU Autotools を適用する前の最小限のファイルを固めてあります。

tar zxvf bat.tar.gz
cd bat
./autosetup.sh

で GNU Autotools を使って configure とか Makefile.in を生成します。 autosetup.sh はこんな感じで GNU Autotools のコマンドを実行してます。

#!/bin/sh
touch AUTHORS ChangeLog NEWS README
test -e config || mkdir config
aclocal
libtoolize
aclocal
autoheader
automake -af
autoconf

そのまま

./configure
make dist

とやると配布用の tarball である bat-0.0.1.tar.gz を作ってくれます。

rpmファイルが簡単に生成できるように spec ファイルも含まれるようにしてみました。

rpmbuild -ta bat-0.0.1.tar.gz

で簡単に rpm が作れるようになってます。

UNIXのソフトウェアを作るときの参考になれば幸いです。

トラックバック

このエントリーのトラックバックURL:
http://www.unoh.net/mt32/mt-tb.cgi/376

コメント

autosetup.shは多分慣例的にはautogen.shという名前が多いと思います

autogen は多いですね
あとは bootstrap というのもよく見かけます

コメントを投稿


画像の中に見える文字を入力してください。