文書の表示以前のリビジョンバックリンク文書の先頭へ この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。 ======Autotoolsの使い方====== ===== 概要 ===== RPPでは、パッケージの作成のために Autotools を使用しています。 Autotools を使用することで、 $ ./configure $ make $ make install とするだけで、ユーザーの環境に合わせてプログラムをコンパイルできます(もちろん設定すればの話ですが・・・)。また、出力されるログを見れば、何が足りないのかを調べることができます。 [http://ja.wikipedia.org/wiki/Autotools Wikipedia の解説]参照。 ===== インストール ===== # apt-get install automake libtool ===== 使い方概要 ===== ==== 元ファイル準備 ==== configure.ac のテンプレート(configure.scan)生成。 $ autoscan エディタで configure.ac(configure.scan をベースにする)と Makefile.am をがんばって作成。設定項目はそれなりの数ある。 サブディレクトリ間の依存関係は Makefile.am の *_DEPENDENCIES でも解決してくれない様子。トップディレクトリの Makefile.am 内で、 SUBDIRS = include auxlib src ... の順番を依存順(先頭から順に make される)にすることで解決。 ==== configure 生成 ==== $ libtoolize -c -f ** --copy(-c) **\\ シンボリックリンクを作らず、libtool データディレクトリからファイルをコピーする。 ** --force(-f)**\\ 既存の libtool ファイルを置き換える。デフォルトでは libtoolize は既存のファイルを上書きしない。 $ aclocal $ autoheader $ automake -a -c ** --add-missing(-a)**\\ パッケージ化に足りないファイルを自動的に生成。 ** --copy(-c)**\\ オプション時にシンボリックリンクではなくコピーする。 $ autoconf 上記コマンド群で生成されるファイルの流れは下図参照。 [[ファイル:autotools.svg.png]] ==== 修正時 ==== configure.ac などのファイルを修正した場合は、下記コマンドを実行。 $ autoreconf -i -f * --install(-i)オプション<br>パッケージ化に足りないファイルを自動的に生成。 * --force(-f)オプション<br>既存のファイルを置き換える。デフォルトでは既存のファイルを上書きしない。 ==== パッケージのコンパイル・インストール方法 ==== * 基本(コンパイル・インストール) $ ./configure $ make # make install * 掃除 $ make clean * アンインストール # make uninstall * 配布パッケージ(tarball)作成 $ make dist * 大掃除 $ make distclean ===== パッケージ命名規則 ===== [http://archive.linux.or.jp/JF/JFdocs/Software-Release-Practice-HOWTO.html#s2 Linux JF (Japanese FAQ) Project の解説]参照。 ==== プロジェクト名 ==== 英大文字やアンダースコア"_"は極力使わない。英小文字+ハイフンを推奨。 ==== バージョン番号 ==== メジャー番号、マイナー番号、マイクロ番号(またはパッチ番号)で管理するのが通例。\\ major.minor.micro\\ または\\ major.minor.patch この他にも、日付で管理することもある。 ちなみに、ライブラリバージョンの場合は下記らしい。バージョンの付け方がややこしいので未使用。\\ current.revision.age [http://www.bookshelf.jp/texi/libtool/libtool-ja_6.html#SEC35 Libtool 日本語マニュアル]参照。 ==== パッケージ名 ==== プロジェクト名+ハイフン(-)+バージョン数字列+拡張子 パッケージ名の例としては、下記のようになる。\\ foobar-1.2.3.tar.gz 日付で管理する場合の例は下記。\\ foobar-080707.tar.gz tips/how-to-autotools.1409242927.txt.gz 最終更新: 2023/03/29 15:15(外部編集)