CVS conflict avoidance
Richard Earnshaw
rearnsha@arm.com
Thu Feb 5 06:40:00 GMT 1998
> Date: Wed, 4 Feb 1998 23:25:01 -0600
> From: Robert Lipe <robertl@dgii.com>
>
> We have several files in EGCS that are generated from other files in
> EGCS. These include pairs like configure.in and configure and *-parse.y
> and *-parse.c.
>
> [This causes problems with CVS]
>
> One approach is the --enable-maintainer-mode configure option used by
> automake. We would arrange matters such that the dependencies of
> these files were only present if --enable-maintainer-mode was used.
> If that configuration option were not used, then configure would not
> depend upon configure.in, and c-parse.y would not depend upon
> c-parse.c.
>
> In automake this is done by having --enable-maintainer-mode substitute
> MAINT as the empty string, while its absence substitutes MAINT as
> `#M#'. Then rules are written as
> configure: @MAINT@configure.in
> autoconf
> So if you do not configure with --enable-maintainer-mode, configure is
> only rebuilt if it does not exist at all.
>
I'd prefer to see only those files that can't be recreated in the CVS repository (ie nothing that gets removed by maintainer-clean should be in the repository). OK, so people doing direct access would need to have a full set of maintainer tools installed, but anyone using this level of access is effectively a maintainer, so I don't see a problem with that. Snapshots could still have the full set of distribution files.
More information about the Gcc
mailing list