Ok, since my first try at autogen.sh simplification led to some unexpected problems, I'll now propose the changes before I try to commit these again.

Firstly, I'd propose to remove the AM_MAINTAINER_MODE macro from configure.in. This will basically turn on --enable-maintainer-mode behaviour always and it will remove the option to turn it off. The automake documentation advises against this macro anyway [1]. Currently we almost emulate that behaviour in the README.svn anyway because if in doubt, we advise people to run autogen.sh, which will give almost the same effect as an enabled maintainer-mode. The only people who shouldn't need to run this are the users who only got a tarball; however, in a tarball the maintainer-mode rules won't be triggered because of the correct timestamps during "make dist". So in effect we've relied on --enable-maintainer-mode for a long time already, and it isn't helpful to have it still disabled by default.

Secondly, I propose that autogen.sh shouldn't call ./configure anymore (my temporary committed autogen.sh already implemented this, but I forgot to explain it up front here). The only reason we require this right now is to pass --enable-maintainer-mode to configure; if that cmdline argument is removed anyway, then there's no need to force the configure calling by the autogen script anyway. In that case we can make the distinction between the autogen steps (only for CVS...SVN developers) and configure (for all users) more clear. Also, it isn't autogen that uses cmdline options but it is only configure, so I think the whole explanation of the options should be left to configure.

Christian



[1] From automake info page: "Several years ago Franc,ois Pinard pointed out several arguments
against `AM_MAINTAINER_MODE'.  Most of them relate to insecurity.  By
removing dependencies you get non-dependable builds: change to sources
files can have no effect on generated files and this can be very
confusing when unnoticed.  He adds that security shouldn't be reserved
to maintainers (what `--enable-maintainer-mode' suggests), on the
contrary.  If one user has to modify a `Makefile.am', then either
`Makefile.in' should be updated or a warning should be output (this is
what Automake uses `missing' for) but the last thing you want is that
nothing happens and the user doesn't notice it (this is what happens
when rebuild rules are disabled by `AM_MAINTAINER_MODE').

 Jim Meyering, the inventor of the `AM_MAINTAINER_MODE' macro was
swayed by Franc,ois's arguments, and got rid of `AM_MAINTAINER_MODE' in
all of his packages."
_______________________________________________
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel

Reply via email to