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