UnixまたはUnixライクな環境にパッケージをインストールする際、 configureスクリプトは、クロスプラットフォームサポートを容易にするために、コードベースのビルド設定ファイルを生成するシェルスクリプトです。このスクリプトは、ホストシステム(コードベースがビルドおよび実行される環境)に合わせてファイルを生成します。
このようなスクリプトの標準規格は存在しないものの、このパターンは非常に普及しているため、多くの開発者はconfigureというスクリプトに馴染みがあり、この機能を備えていることを期待しています。このスクリプトは手作業で作成することもでき、元々はそうでした。現在では、特殊な設定ファイルに基づいてconfigureスクリプトを生成するツールが複数提供されています。よく使われるツールの一つは、Bashスクリプトを生成するAutotoolsです。
ソフトウェアパッケージをソースコードとして入手し、ローカルでコンパイルすることは、 UnixおよびUnix系環境では一般的なシナリオです。通常、このプロセスは以下の手順で行われます。
configure スクリプトは、ホストシステム用に構成されたmakefile を生成することで最初のステップを完了します。これには、コードベースで必要なホストの ライブラリの使用も含まれます。
コマンドラインシェルでソースコードのあるディレクトリに移動した後、通常は次のコマンドが実行されます。[ 1 ]
./configure 作るインストール するAutotools の場合、configure スクリプトはステータスとエラーをconfig.logファイルに記録し、コマンド./configure --helpはコマンド ラインのヘルプ情報を出力します。
多くの場合、コードベースには手順を説明したドキュメントが含まれています(通常は という名前のファイルですINSTALL)。configure スクリプトが失敗した場合に役立ちます。
Autotoolsは、クロスプラットフォームソフトウェア開発における課題の一部を簡素化します。[ 2 ]これらのツールは、ホストシステムに対して環境設定、プラットフォームアーキテクチャ、および必要なビルドおよびランタイム依存関係の存在と場所を照会します。収集した情報は、インストールフェーズで configure.ac読み取れるように保存されます。configure
新しい開発では、ライブラリの依存関係チェックは、pkg-configのm4マクロ PKG_CHECK_MODULESを介して実行できます。pkg-config が普及する以前は、依存するライブラリのディストリビューションに含まれることが知られているファイルを特定するために、別途 m4 マクロが作成されていました。
configureスクリプトを備えた最初のプログラムは、 1984年にラリー・ウォールによって作成されたrnでした。このスクリプトは手書きで書かれ、実行されるとユーモラスな実況解説を出力しました。このスクリプトは、現在でもtrnプログラムのビルドシステムの一部として残っています。[ 3 ]
それ以来、 configure スクリプトの作成を自動化するツールのエコシステムが開発されてきました。その中で最も一般的なのはAutoconfです。