On 05/03/2024 14:26, Richard Earnshaw (lists) wrote:
> On 04/03/2024 20:04, Jonathan Wakely wrote:
>> On Mon, 4 Mar 2024 at 19:27, Vladimir Mezentsev
>> <vladimir.mezent...@oracle.com> wrote:
>>>
>>>
>>>
>>> On 3/4/24 09:38, Richard Earnshaw (lists) wrote:
>>>> Tools like git (and svn before it) don't try to maintain time-stamps on
>>>> patches, the tool just modifies the file and the timestamp comes from the
>>>> time of the modification. That's fine if there is nothing regenerated
>>>> within the repository (it's pure original source), but will cause problems
>>>> if there are generated files as their time stamps aren't necessarily
>>>> correct. `gcc_update --touch` addresses that by ensuring all the
>>>> generated files are retouched when needed.
>>>
>>> Why do we save generated files in the source tree?
>>> What will be the problem if we remove Makefile.in and configure from
>>> source tree and will run `autoreconf -i -f` before building ?
>>
>> Having the exact correct versions of autoconf and automake increases
>> the barrier for new contributors to start work. And to regenerate
>> everything, they also need autogen, mkinfo, etc.
>
> It's worse than that. They might need multiple versions of those tools
> because different subtrees are built with different, subtly incompatible,
> versions of those tools.
>
> R.
>
And I've just remembered another reason as well, which is that some people want
to store their sources in a read-only environment; having the tools write to
the source area during a build can cause problems (eg if building multiple
configurations of the compiler in parallel).
R.