パスワードを忘れた? アカウント作成
452621 journal

Silphireの日記: autoconf/automake(2) 2

日記 by Silphire

前回autoconf/automakeを使った時から2ヶ月弱、もう使い方を忘れてしまいました。今度はbananan_wさんの助言どおり、summaryを書いてみます。

  • まずはautoscanを実行するも…

    autoscan: Couldn't find configure.ac nor configure.in file
    run /usr/auto*/bin/autoscan directly

    などと言われてしまった。どうやら、autoconf 2.13と2.57を共存させているからこういう事になるらしい。/usr/autotool/にはstableとdevelというディレクトリがあり、stableが2.13でdevelが2.57なようだ。ここでは取りあえず2.57を使ってみようと思ったので、/usr/autotool/devel/bin/autoscanを実行する。

  • mv configure.scan configure.in
  • configure.inを編集。automakeを使いたいので、AM_INIT_AUTOMAKE(project, version, no-define)を書く。
  • Makefile.amを書く。
  • autoheader
  • aclocal
  • automake。install-shとか他諸々が無いと言われるので、automake -a, touch NEWS README AUTHORS ChangeLog。
    "automake: no `Makefile.am' found or specified" と怒られてしまう。
    automake -a -v --warnings=allしてみてもよく分からない。
  • automake -a Makefileが正解だった。/usr/autotool/devel/bin/automake-1.7を眺めてようやく分かった。
  • autoconf
  • ./configure。Makefileが生成されない。
  • configure.inのAC_OUTPUTの引数が指定されていなかった。AC_OUTPUT(Makefile)とすると、Makefileが生成されるようになった。さらに、automake -aの引数にMakefileと指定しなくてもよくなった。
  • 無事Makefile作成完了。
  • make
  • make install

整理すると

  • autoscan (/usr/autotool/devel/bin/autoscan)
  • mv configure.scan configure.in
  • configure.in、Makefile.amを書く。
  • autoheader
  • aclocal
  • touch NEWS README AUTHORS ChangeLog
  • automake -a
  • autoconf
  • ./configure; make; make install

参考リンク

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by bnez (11270) on 2003年10月26日 15時28分 (#421561) ホームページ
    autoconf-2.13 とその頃の automake (バージョン忘れました)と、最近の autoconf-2.57 + automake-1.7.x だと、使い方がけっこう変わっています。例えば表題の通り configure.in よりも configure.ac がお勧めされていたりとか。

    まあ、ファイル名の違いはたいした問題ではないとしても、configure.ac や Makefile.am の記述方法のいくつかの変更は、時に問題になりそうです。例えばAM_INIT_AUTOMAKEにパッケージのバージョンなどを記載するという方式は、automake-1.6 で新しいものに変更されています。旧来の記法は後方互換性のためにサポートされている状態で、automake/autoconfのバージョンアップとともに切り捨てられていくかもしれません。

    せっかく新規に学ばれるのであれば、新しい情報を参照した方がいいのではないかと思います。日本語の情報源はわかりませんが、automake付属のinfoの Examples::Hello あたりがわかりやすくていいのではないかと思います。ご参考までに。
    # や、さくっと触るだけなら細かいことを気にしてもしょうがないんですが
typodupeerror

日々是ハック也 -- あるハードコアバイナリアン

読み込み中...