configure
「configure」とは・「configure」の意味
「configure」とは、動詞であり、システムや機器の設定や構成を調整することを意味する。特にコンピューターやソフトウェアの設定を変更する際に用いられることが多い。「configure」の発音・読み方
「configure」の発音は、/kənfɪ́ɡjər/ であり、日本語では「コンフィグア」と読むことが一般的である。「configure」の語源・由来
「configure」は、ラテン語の「configurare」から派生した英語である。configurareは、con(一緒に)とfigurare(形作る)の組み合わせで、「一緒に形作る」という意味を持つ。「configure」の類語
「configure」の類語には、setup(セットアップ)、arrange(アレンジ)、organize(オーガナイズ)などがある。これらの言葉も、システムや機器の設定や構成を調整する際に用いられることがある。「configure」を含む用語・関連する用語
「configureコマンド」とは
「configureコマンド」は、UNIX系のオペレーティングシステムで、ソフトウェアのインストールやアップデートの際に、システム環境に適した設定を行うためのコマンドである。「./configure できない」とは
「./configure できない」とは、configureスクリプトを実行しようとした際に、何らかの理由で実行できない状況を指す。原因は、必要なパッケージがインストールされていない、権限が不足している、スクリプトが破損しているなど多岐にわたる。「./configure エラー」とは
「./configure エラー」とは、configureスクリプトを実行した際に発生するエラーのことである。原因は、必要なパッケージがインストールされていない、権限が不足している、スクリプトが破損しているなど多岐にわたる。「./configure オプション」とは
「./configure オプション」とは、configureスクリプトを実行する際に、特定の設定や機能を有効化・無効化するために指定するオプションのことである。例えば、--prefixオプションはインストール先のディレクトリを指定する。「configureファイル」とは
「configureファイル」とは、システムやソフトウェアの設定を記述したファイルのことである。これらのファイルを編集することで、システムやソフトウェアの動作をカスタマイズできる。「./configure コマンドが見つかりません」とは
「./configure コマンドが見つかりません」とは、configureスクリプトを実行しようとした際に、スクリプトが存在しないか、実行パスが正しくないことを示すエラーメッセージである。「configure コマンドプロンプト」とは
「configure コマンドプロンプト」とは、Windows環境でコマンドプロンプトを使用して、システムやソフトウェアの設定を行うことを指す。「./configure windows」とは
「./configure windows」とは、Windows環境でconfigureスクリプトを実行することを指す。通常、Windows環境ではconfigureスクリプトは使用されず、代わりにインストーラーや設定ファイルを利用することが一般的である。「configure」の使い方・例文
1. Please configure the system settings before using the software.(ソフトウェアを使用する前に、システム設定を行ってください。) 2. The technician will configure the network devices.(技術者がネットワーク機器の設定を行います。) 3. You can configure the display settings according to your preferences.(好みに応じてディスプレイ設定を行うことができます。) 4. The administrator needs to configure the server for optimal performance.(管理者は、最適なパフォーマンスのためにサーバーの設定を行う必要があります。) 5. To configure the printer, follow the instructions in the manual.(プリンターの設定を行うには、マニュアルの指示に従ってください。) 6. The software will automatically configure the settings based on your hardware.(ソフトウェアは、ハードウェアに基づいて設定を自動的に行います。) 7. You can configure the security settings to protect your data.(データを保護するために、セキュリティ設定を行うことができます。) 8. The engineer will configure the system to work with the new hardware.(エンジニアは、新しいハードウェアと連携するようにシステムの設定を行います。) 9. To configure the email client, enter your email address and password.(メールクライアントの設定を行うには、メールアドレスとパスワードを入力してください。) 10. The user can configure the software to receive notifications.(ユーザーは、通知を受け取るようにソフトウェアの設定を行うことができます。)Autotools
![]() | |
作者 | コミュニティ |
---|---|
開発元 | フリーソフトウェア財団 |
最新版 |
複数
|
プログラミング 言語 | m4, C |
対応OS | クロスプラットフォーム |
プラットフォーム | GNU ほか |
内包元 | GNUオペレーティングシステム |
対応言語 | English |
ライセンス | GNU General Public License version 2 |
公式サイト |
www |
GNU Autotools、またはGNU Build Systemとは、主にUnix系オペレーティングシステム (OS) においてソフトウェアパッケージ開発を行うための、ツール及びフレームワークの一種である。このツールを使用することにより、多種多様なUNIX互換環境にパッケージを対応させることが容易になる。 Autotoolsは主に Autoconf/Automake/Libtool の3つから成り立っている[1]。他の関連するツールには GNU make、GNU gettext、pkg-config、GNUコンパイラコレクションなどがある。
AutotoolsはGNUツールチェーンの一部であり、多くの自由ソフトウェアやオープンソースパッケージで広く使用されている。そのコンポーネントツールは自由ソフトウェアであり、GNU General Public License の下でライセンスされているが、特別なライセンス例外によりプロプライエタリソフトウェアでの使用が許可されている[2][3]。
動機
ソフトウェアプログラムを移植可能にするのは難しい場合がある。コンパイラはシステムによって異なり、一部のシステムでは特定のライブラリ関数が欠落していることがある。コンパイラファイル(Cヘッダなど)の名前が異なる場合もある。共有ライブラリは、さまざまな方法でコンパイルおよびインストールされることがある。プラットフォームの違いを処理する1つの方法は、条件付きでコンパイルされたコード(つまり#ifdef
経由)を記述することだが、ビルド環境が多種多様であるため、この方法はすぐに管理不能になる。Autotoolsは、この問題をより管理しやすい方法で解決するように設計されている。
パッケージ利用者側から視たAutotools

Autotoolsを用いて作成されたパッケージは容易に導入が可能である。典型的な場合、インストールまでの全工程が自動化されており、ソースコードを展開した後、以下のコマンドを入力するだけで全てが完了する。
$ ./configure && make && make install
多くのUNIX用オープンソースソフトウェアで、この方式が採用されている。
configure
configurationスクリプト(configure
)はビルド環境の構築を一括でおこなうシェルスクリプトである[4]。
プログラムのビルドは複数のツールを連携させておこなわれるが、その際、ビルド設定(例: 拡張命令フラグ)を外部から取り込み全てのツール間にそれを一貫して適用しなければならない。これを手動でおこなうことは時間の浪費でありバグの温床である。このビルド環境構築を一括して自動でおこなうスクリプトが、慣例的にconfigure
と名付けられるconfigurationスクリプトである[4]。パッケージの利用者はconfigure
を実行するだけでビルド環境が構築できる。
configure及び付属のスクリプト・Makefileなどは標準的なUNIXコマンドだけを使用しており、パッケージの利用者は、パッケージそのものの構築・運用に必要なソフトウェアを除いて、Autotoolsの為に特別なソフトウェアを導入する必要はない(Windows系OSではUNIXコマンドが標準で含まれていない為、別途Services for UNIXやCygwinなどのUNIX互換環境のインストールが必要である)。
また、自動的な環境検査が好ましくなかったり特別な設定が必要な場合、環境変数またはコマンド引数でconfigureの動作を調整できる。代表的なオプションを以下に説明する。
- --prefix=dir
- インストール先を変更する。--prefix=/opt/hugaとすると、実行ファイルは/opt/huga/bin、ライブラリは/opt/huga/libというように変更される。bin、libなどを個別に変更することも出来る。デフォルトは/usr/localである。OSベンダーなどが提供するバイナリパッケージでは、--prefix=/usrや--prefix=/opt/hugaなどの設定で構築されている場合が多い。root権限のないユーザや試しに利用したい場合は、--prefix=$HOME/hugaなどとすれば、他のユーザに影響を与えることを防止できる。
- --with-hoge
- 別のパッケージhogeを利用することを指定する。--with-hoge=dirでhogeのインストール先を指定できる場合もある。--with-hoge=no又は--without-hogeとすると逆に使用しないことを指定する。
- 環境変数 CC
- 環境変数CCを設定すると、その値がCコンパイラのコマンド名として使用される。設定しない場合はccまたは適切なOS標準のコンパイラに設定されるが、明示的に設定することで標準と異なるコンパイラを使用できる。
これ以外にも多くのオプションがあり、少ないパッケージでも10以上、多いパッケージでは数十から100以上の設定項目がある。利用者の設定に矛盾があったり、環境の機能に不足があれば診断情報を出力する。また、クロスコンパイル対応や、構築用の作業ディレクトリをソースコードと異なるディレクトリに設定する機能がある。
autoconf
Autoconf (autoconf
) はconfigurationスクリプトを自動生成するツールである[5]。
ビルド環境の自動構築をおこなうconfigurationスクリプト (configure
) はそれ自体が時に数千行に渡る巨大なスクリプトになる。これを手動で記述し維持することは時間の浪費でありバグの温床である。このconfigure
生成を自動でおこなうツールがAutoconfである[5]。
Autoconfはconfigure.ac
を入力とし、configure
を出力とする[6]。ユーザーがこのconfigure
を実行することでビルド環境が構築される。
機能
m4言語のマクロとシェルスクリプトの断片で記述された入力ファイルconfigure.ac(古いバージョンではconfigure.in)を、autoconfがm4を用いて置換しconfigureを得る。 最終出力configureはBourne Shell用のシェルスクリプトで、数百行から数千行の長さがある。
以下に、簡単なconfigure.acの例を示す。
AC_INIT(hello, 1.9, address) # 必須設定 AC_CONFIG_SRCDIR([hello.c]) # このパッケージではhogeを使用可能である configureに--with-hogeが追加される。 #(実際には、この後に利用者が--with-hoge=yesとした場合の動作定義を記述する必要がある) AC_ARG_WITH(hoge, [Use hoge]) AC_PROG_CC # Cコンパイラの設定 configureが環境変数CCを使用する AC_OUTPUT([Makefile]) # Makefile.inを雛形にしてMakefileを生成
出力のconfigureは非常に長いので掲載しない。この場合、一般的なオプションはサポートされる。利用者の要求に応じてhogeを利用するがどうかを決定する。また、Cコンパイラを探し実行方法を確認し、その結果得られたコマンド名・必要オプションなどをMakefileに出力する。
automake
GNU Automake(automake
)はMakefile.in
ファイルを自動生成するツールである[7]。
automakeはプログラムとソースコードの関係などが記述されたMakefile.am
ファイルを入力とし、Makefile.in
を出力する。
実行例
HelloWorldプログラムで例を示す
#Makefile.am #実行バイナリファイルの名前はhello bin_PROGRAMS = hello #helloのソースコードはhello.c,hello.h hello_SOURCES = hello.c hello.h
出力のMakefile.inは非常に長いので掲載しないが、期待した内容が得られる。 すなわち、configureを実行することでMakefileが生成される。このMakefileを用いてmakeコマンドを使用すると、hello.cをCコンパイラでコンパイルし、次いで標準ライブラリとリンクし、helloの実行ファイルが得られる。make installでは、helloはあるべき場所(ほとんどの場合は/usr/local/bin)にインストールされることになる。
脚注
- ^ “Learning the GNU development tools”. Autotoolset.sourceforge.net. 2016年4月1日閲覧。
- ^ “Savannah Git Hosting - autoconf.git/blob - COPYING.EXCEPTION”. Git.savannah.gnu.org. 2011年7月21日時点のオリジナルよりアーカイブ。2016年4月1日閲覧。
- ^ “libtool.git - GNU Libtool”. Git.savannah.gnu.org (2005年1月8日). 2016年4月1日閲覧。
- ^ a b "The configuration scripts that Autoconf produces are by convention called
configure
. When run,configure
creates several files, replacing configuration parameters in them with appropriate values." 3 Makingconfigure
Scripts - Autoconf - gnu.org. 2022-06-11閲覧. - ^ a b "Autoconf is an extensible package of M4 macros that produce shell scripts to automatically configure software source code packages." Autoconf - gnu.org.
- ^ "To create a
configure
script with Autoconf, you need to write an Autoconf input file configure.ac" 3 Makingconfigure
Scripts - Autoconf - gnu.org. - ^ "GNU Automake is a tool for automatically generating
Makefile.in
files" Automake - gnu.org. 2022-06-11閲覧.
関連項目
参考文献
『GNU Autoconf/Automake/Libtool』 Gary V. Vaughan, Ben Elliston, Tom Tromey, Ian Lance Taylor著 でびあんぐる監訳 ISBN 4-274-06411-5
外部リンク
configure
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/06/24 09:56 UTC 版)
「Autotools」の記事における「configure」の解説
configurationスクリプト(configure)はビルド環境の構築を一括でおこなうシェルスクリプトである。 プログラムのビルドは複数のツールを連携させておこなわれるが、その際、ビルド設定(例: 拡張命令フラグ)を外部から取り込み全てのツール間にそれを一貫して適用しなければならない。これを手動でおこなうことは時間の浪費でありバグの温床である。このビルド環境構築を一括して自動でおこなうスクリプトが、慣例的にconfigureと名付けられるconfigurationスクリプトである。パッケージの利用者はconfigureを実行するだけでビルド環境が構築できる。 configure及び付属のスクリプト・Makefileなどは標準的なUNIXコマンドだけを使用しており、パッケージの利用者は、パッケージそのものの構築・運用に必要なソフトウェアを除いて、Autotoolsの為に特別なソフトウェアを導入する必要はない(Windows系OSではUNIXコマンドが標準で含まれていない為、別途Services for UNIXやCygwinなどのUNIX互換環境のインストールが必要である)。 また、自動的な環境検査が好ましくなかったり特別な設定が必要な場合、環境変数またはコマンド引数でconfigureの動作を調整できる。代表的なオプションを以下に説明する。 --prefix=dir インストール先を変更する。--prefix=/opt/hugaとすると、実行ファイルは/opt/huga/bin、ライブラリは/opt/huga/libというように変更される。bin、libなどを個別に変更することも出来る。デフォルトは/usr/localである。OSベンダーなどが提供するバイナリパッケージでは、--prefix=/usrや--prefix=/opt/hugaなどの設定で構築されている場合が多い。root権限のないユーザや試しに利用したい場合は、--prefix=$HOME/hugaなどとすれば、他のユーザに影響を与えることを防止できる。 --with-hoge 別のパッケージhogeを利用することを指定する。--with-hoge=dirでhogeのインストール先を指定できる場合もある。--with-hoge=no又は--without-hogeとすると逆に使用しないことを指定する。 環境変数 CC 環境変数CCを設定すると、その値がCコンパイラのコマンド名として使用される。設定しない場合はccまたは適切なOS標準のコンパイラに設定されるが、明示的に設定することで標準と異なるコンパイラを使用できる。 これ以外にも多くのオプションがあり、少ないパッケージでも10以上、多いパッケージでは数十から100以上の設定項目がある。利用者の設定に矛盾があったり、環境の機能に不足があれば診断情報を出力する。また、クロスコンパイル対応や、構築用の作業ディレクトリをソースコードと異なるディレクトリに設定する機能がある。
※この「configure」の解説は、「Autotools」の解説の一部です。
「configure」を含む「Autotools」の記事については、「Autotools」の概要を参照ください。
- Configureのページへのリンク