Go to the first, previous, next, last section, table of contents.


@command{configure}スクリプトの実行

以下は,@command{configure}スクリプトを使用したパッケージのコンフィグ レーション方法の説明書で,パッケージの`INSTALL'ファイルに含めるの に適切なものです.使用可能なプレーンテキストバージョンの`INSTALL' は,Autoconfに付属しています.

基本的なインストール

以下は一般的なインストールの説明書です.

@command{configure}シェルスクリプトは,コンパイル時に使用する様々なシ ステム依存の変数の正しい値を推測します.パッケージのそれぞれのディレク トリの`Makefile'を作成するために,これらの値が使用されます.シス テム依存の定義を含んでいる,一つ以上の`.h'ファイルも作成します. 終りに,現在のコンフィグレーションを将来再生成するために実行可能なシェ ルスクリプト`config.status'と,コンパイラの出力を含んでいるファイ ル`config.log' (主に@command{configure}のデバッグで役立ちます)を 作成します.

再コンフィグレーションのスピードをあげるため,テストの結果を保存する追 加ファイルも使用することが可能です(通常,`config.cache'と呼ばれ, @option{--cache-file=config.cache}や短い@option{-C}で利用可能になりま す).(古いキャッシュファイルを偶然使用することによる問題を避けるため, キャッシュはデフォルトで利用不可能になっています.)

パッケージをコンパイルするため,通常行なうこと以外のことをする必要があ る場合,@command{configure}がどのように調査したのかを理解し,次のリリー スに反映できるように,`README'にあるアドレスに差分や説明をメール してください.キャッシュを使用していて,`config.cache'が含む結果 に保持したくないものがある場合,削除しても編集してもかまいません.

ファイル`configure.ac' (または`configure.in')は, autoconfと呼ばれるプログラムで,`configure'を作成するため に使用されます.それを変更したり,新しいバージョンのautoconf`configure'を再生成したい場合だけ,`configure.ac'が必要です.

このパッケージをコンパイルする最も単純な方法は,以下の通りです.

  1. パッケージのソースコード含んでいるディレクトリにcdして,システ ムに対するパッケージのコンフィグレーションを行なうために `./configure'と入力してください.System Vの古いバージョンの cshを使用している場合,csh自身から@command{configure}を 実行しないようにするため,`sh ./configure'と入力する必要があるか もしれません. @command{configure}の実行にはしばらくかかります.実行中,調査している 特徴を伝えるメッセージを出力します.
  2. パッケージをコンパイルするために`make'と入力してください.
  3. オプションとして,パッケージ付属の自己テストを実行するため,`make check'と入力してください.
  4. プログラムと,全てのデータファイルと,ドキュメントをインストールするた め,`make install'と入力してください.
  5. `make clean'と入力することで,ソースコードディレクトリからプログ ラムのバイナリやオブジェクトファイルを削除することが可能です.(異なる 種類のコンピュータに対するパッケージをコンパイルすることが可能になるよ うに)@command{configure}が作成したファイルも削除するためには, `make distclean'と入力してください.`make maintainer-clean' ターゲットもありますが,主にパッケージ開発者用です.それを使用する場合, 配布物の付属ファイルを再生成するため,いろいろな種類の他のプログラムを 入手する必要があるかもしれません.

コンパイラとオプション

@command{configure}スクリプトが知らない,通常は使用しないコンパイルや リンクのオプションが必要なシステムもあります.妥当な環境変数の詳細を得 るために,`./configure --help'を実行してください.

コマンドラインや環境変数で変数を設定することで,コンフィグレーションパ ラメータの初期値を@command{configure}に与えることが可能です.例えば以 下のようにします.

./configure CC=c89 CFLAGS=-O2 LIBS=-lposix

詳細は,See section 変数の定義.

複数のアーキテクチャに対するコンパイル

それぞれのアーキテクチャに対するオブジェクトファイルをそれ自身のディレ クトリに置くことで,同時に一種類以上のコンピュータに対するパッケージを コンパイルすることが可能です.こうするために,GNU @command{make}の様に, VPATH変数をサポートする@command{make}のバージョンを使用する必要 があります.オブジェクトファイルと実行可能なファイルを配置したいディレ クトリに @command{cd}して,@command{configure}スクリプトを実行してくだ さい.@command{configure}は,@command{configure}があるディレクトリと `..'でソースコードを自動的に調査します.

VPATHをサポートしない@command{make}を使用する必要がある場合,ソー スコードディレクトリで,一度に一つのアーキテクチャに対してパッケージを コンパイルする必要があります.一つのアーキテクチャのパッケージをインス トールした後,他のアーキテクチャに対して再コンフィグレーションするため, `make distclean'を使用してください.

インストール名

デフォルトで,`make install'はパッケージファイルを, `/usr/local/bin'`/usr/local/man'等にインストールします.イ ンストール先の接頭辞は,@option{--prefix=path}オプションを @command{configure}に与えることで指定することが可能です.

アーキテクチャ特有のファイルと,アーキテクチャ非依存のファイルを,別々 のインストール先の接頭辞に分けて指定することが可能です. @command{configure}に@option{--exec-prefix=path}オプションを与え た場合,パッケージはプログラムとライブラリをインストールする接頭辞とし て,pathを使用します.ドキュメントと他のデータファイルは通常の接 頭辞を使用します.

さらに,一般的でないディレクトリへの配置を使用する場合,特定の種類のファ イルに対し異なる値で指定するように,@option{--bindir=path}のよう なオプションを与えることが可能です.設定可能なディレクトリリストと,そ こに置きたいファイルの種類のリストを見るために,`configure --help'を実行してください.

パッケージでサポートされている場合,@command{configure}にオプションの @option{--program-prefix=PREFIX}や @option{--program-suffix=SUFFIX}を与えることで,プログラムの名前 に余分な接頭辞や接尾子を付けてインストールすることが可能です.

オプションの機能

@command{configure}への@option{--enable-feature}オプションに注意 を払うパッケージもあり,そこでのfeatureはパッケージのオプション の部分を示しています.@option{--with-package}オプションに注意を 払うパッケージもあり,そこでのpackage`gnu-as'`x'(X Window System用)のようなものになります.`README'でパッケージが理 解する@option{--enable-}と@option{--with-}オプションについて述べている でしょう.

X Window Systemを使用しているパッケージに対して,@command{configure}は 通常,Xのインクルードファイルやリンクファイルを自動的に見つけますが, そうでない場合は,@command{configure}オプションの @option{--x-includes=dir}と@option{--x-libraries=dir}を, その場所を指定するために使用することが可能です.

システムタイプの指定

@command{configure}が自動的に判定できない特徴もあるかもしれませんが, パッケージを実行するマシンのタイプで定義する必要があるものもあります. 通常,パッケージは実行されるものと同じアーキテクチャでビルドさ れていると仮定され,@command{configure}はそれを判定することが可能です が,マシンのタイプが分からない旨のメッセージを出力した場合, @option{--build=type}オプションで与えてください.typeは, `sun4'の様なシステムタイプの短い名前や,以下のような様式の標準的 な名前にすることが可能です.

cpu-company-system

systemは,以下の形式の一つが可能です.

os kernel-os

それぞれのフィールドでの可能な値は,ファイル`config.sub'を参照し てください.`config.sub'がパッケージに含まれていない場合,パッケー ジはマシンのタイプを知る必要がありません.

クロスコンパイルに対するコンパイラツールをビルドしている場合, コードを生成しているシステムのタイプを選択するために, @option{--target=type}オプションを使用すべきです.

プラットフォームに対して生成しているコードが,ビルドしているプラット フォームと異なるクロスコンパイラを使用したい場合,hostプ ラットフォーム(すなわち,生成されるプログラムが実行されるプラットフォー ム)を@option{--host=type}で指定すべきです.

デフォルトの共有

@command{configure}スクリプトを共有するため,デフォルト値を設定したい 場合,CCcache_file,そしてprefixの様な変数のデ フォルト値を与える,`config.site'と呼ばれるサイトシェルスクリプト を作成することが可能です.@command{configure}は,存在する場合は `prefix/share/config.site'を探し,その後で,存在する場合は `prefix/etc/config.site'を探します.また, CONFIG_SITE環境変数をサイトスクリプトのある場所に設定することも 可能です.警告:全ての@command{configure}スクリプトがサイトスクリプト を探すわけではありません.

変数の定義

サイトのシェルスクリプトで定義されていない変数は,@command{configure} に渡す環境変数で設定することが可能です.しかし,パッケージによってはビ ルドしているときに再び@command{configure}を実行し,カスタマイズされて いるこれらの変数の値が消えてしまう可能性があります.この問題を避けるた め,`VAR=value'を使用して,それらを@command{configure}コマンドラ インで設定すべきです.例えば,以下のようにします.

./configure CC=/usr/local2/bin/gcc

これで,(サイトシェルスクリプトで優先されない限り)Cコンパイラとして gccを指定します.

@command{configure}の呼び出し

@command{configure}は,処理方法を制御する以下のオプションを理解します.

@option{--help}
@option{-h}
@command{configure}オプションの概要を出力して終了します.
@option{--version}
@option{-V}
@command{configure}スクリプトの生成に使用したAutoconfのバージョンを出 力して終了します.
@option{--cache-file=file}
キャッシュを可能にします.調査の結果を,通常は`config.cache'とい うfileに保存し,使用します.キャッシュを利用不可能にするため, fileはデフォルトで`/dev/null'です.
@option{--config-cache}
@option{-C}
@option{--cache-file=config.cache}の別名です.
@option{--quiet}
@option{--silent}
@option{-q}
調査したり作成したりしているメッセージを出力しません.通常の出力も全て 省略するためには,(エラーメッセージは表示されますが)`/dev/null'に ファイルをリダイレクトしてください.
@option{--srcdir=dir}
ディレクトリdirでパッケージのソースコードを探します.通常, @command{configure}はディレクトリを自動的に決定することが可能です.

@command{configure}は,広範囲では役に立たないかもしれませんが,その他 のオプションも受け入れます.詳細を知るために`configure --help'を 実行してください.


Go to the first, previous, next, last section, table of contents.