2009-06-01 9 views
4

SCMがファイルのタイムスタンプを厳密に記憶していないため、生成されたMakefileはMakefile.amからMakefile.inを再生成するために "autoreconf -i"または同等の機能を再実行する必要があると考えるでしょう。configure.acなど。autotoolsがconfigureスクリプトを自動的に再生成しないようにするにはどうすればよいですか?

どうすればこの問題を防ぐことができますか?

それは、これらの問題が発生するので、私はそれを防ぎたい:

  • distのアーカイブを作成する場合(gitのアーカイブ--format =タール...)、タイムスタンプが不正確になり、問題はそこになります利用者。クールではありません。
  • 遅いシステムでは、コンパイル時にconfigure、make、make install、configure、autoreconf -i、configure、make make makeが不要になるので、コンパイルに時間がかかります。

dist tarballを作成する前に生成されたファイルに「触れる」ことができますが、私の意見では、開発者ではなくtarballの問題を解決するだけです。また、誤動作を回避するための醜いハックでもあります。また、タイムスタンプが常に正しいとは限りませんので、gitアーカイブを壊します。

他のSCMもこれを持っているので、問題はgitで(IMO)ではありません。

答えて

7

あなたはmaintainer modeを調べる必要があります。これにより、エンドユーザーの問題を解決するautoreconfの手順が妨げられるはずです。 (あなたが--enable-maintainer-modeを指定しない限り)

は、設定したとき、あなたはMakefileの再設定ルールが含まれていないでしょうね、その後、あなたのconfigure.ac/configure.inファイルに

AM_MAINTAINER_MODE 

を追加します。

+0

これを行ったようです。ありがとうございました。 – Thomas

関連する問題