4

SCM がファイルのタイムスタンプを厳密に記憶していないため、生成された Makefile は、「autoreconf -i」または同等のものを再実行して、Makefile.am から Makefile.in を再生成したり、configure.ac から構成したりする必要があると判断することがあります。 ..

これを防ぐにはどうすればよいですか?

次のような問題が発生するため、防止したいと考えています。

  • dist アーカイブ (git archive --format=tar ...) を作成すると、タイムスタンプが不正確になり、エンドユーザーに問題が発生します。クールではありません。
  • 低速のシステムでは、これによりコンパイルにかなりの時間がかかります。これは、configure、make、make install ではなく、configure、autoreconf -i、configure、make make install になるためです。

dist tarball を作成する前に、生成されたファイルに「触れる」ことができることはわかっていますが、私の意見では、開発者ではなく、tarball の問題のみが解決されます。また、オフにできるはずの誤機能を回避するのも醜いハックです。また、タイムスタンプが常に正しいとは限らないため、gitアーカイブが破損します。

他の SCM にもこれがあるため、問題は (IMO) git ではありません。

4

1 に答える 1

8

メンテナー モードを調べる必要があります。これにより、エンド ユーザーの問題を修正する autoreconf ステップが回避されるはずです。

追加

AM_MAINTAINER_MODE

configure.ac / configure.in ファイルに追加すると、(指定しない限り--enable-maintainer-mode)構成時に Makefile に再構成ルールが含まれなくなります。

于 2009-06-01T09:12:42.777 に答える