./configure:非常識なビルド環境とは何ですか?


55

./configure 常にチェック whether the build environment is sane...

私は、非常識なビルド環境とは何なのか疑問に思わずにはいられません。このチェックで発生する可能性のあるエラーは何ですか?



config.logそこで実行される実際のコマンドやコンパイルされたプログラムを確認できます。
myaut

回答:


51

これは、から来ているautomakeは特にそのから、AM_SANITY_CHECK マクロから呼び出され、AM_INIT_AUTOMAKE通常の早い段階で呼ばれています、configure.ac。このマクロの要点は次のとおりです。

  • ソースディレクトリへのパスに、シェルスクリプトのmakefileに適切に含めることが困難な特定の「安全でない」文字が含まれていないことを確認します。
  • 動作しているlsように見えることを確認してください。
  • ビルドディレクトリに作成された新しいファイルがファイルよりも新しいことを確認しconfigureます。そうでない場合(通常、ビルドシステムのクロックが正しく設定されていないため)、ビルドプロセスは通常、生成元のファイルよりも新しいタイムスタンプを持つ生成ファイルに依存するため、ビルドプロセスが失敗する可能性があります。

なぜls具体的に?基本的な実行可能ファイルが利用可能で機能lsするか、それともmakeプロセスで何らかの形で使用されるかをテストするだけですか?
テルドン

2
@terdon一部のautomakeテンプレートはを使用しますlsAM_SANITY_CHECKマクロ自体は、使用lsの相対時間をチェックするconfigureと、一時ファイルを(それが使用していないtest -ntではないすべてのシェルがそれを持っているので)。
ジル「SO-悪であるのをやめる」
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.