以下は,@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'が必要です.
このパッケージをコンパイルする最も単純な方法は,以下の通りです.
cd
して,システ
ムに対するパッケージのコンフィグレーションを行なうために
`./configure'と入力してください.System Vの古いバージョンの
csh
を使用している場合,csh
自身から@command{configure}を
実行しないようにするため,`sh ./configure'と入力する必要があるか
もしれません.
@command{configure}の実行にはしばらくかかります.実行中,調査している
特徴を伝えるメッセージを出力します.
@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}スクリプトを共有するため,デフォルト値を設定したい
場合,CC
,cache_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}は,広範囲では役に立たないかもしれませんが,その他 のオプションも受け入れます.詳細を知るために`configure --help'を 実行してください.
Go to the first, previous, next, last section, table of contents.