AM_MAINTAINER_MODE is *not* cool

if you have a configure.ac script in your project, and it contains a line that says “AM_MAINTAINER_MODE”, you’re doing it wrong. period.

what this macro means is that changes to your Makefile.am will not automatically result in the Makefile being regenerated unless –enable-maintainer-mode is given to ./configure. i’m almost sure that this isn’t what you want. it’s also breaking jhbuild whenever you add a new source file (since people pull the updated version and end up trying to build it with the old Makefile).

*not* using “AM_MAINTAINER_MODE” means that your makefiles will always be updated in response to changes to Makefile.am.

“AM_MAINTAINER_MODE([enable])” is acceptable. this means that Makefile updates are enabled by default but you have the option to pass “–disable-maintainer-mode” to disable them. i personally think that this is stupid, but i understand that some distributions think that this is kinda useful for some strange reason. since it’s useful to them and causes no harm to me, this is actually what i recommend.

fredp made a report page for packages using AM_MAINTAINER_MODE. green mean no “AM_MAINTAINER_MODE” at all (good). yellow “low” means “AM_MAINTAINER_MODE([enable])” which is also fine (perhaps better than green, in fact). orange “average” means that your package is currently broken and needs to be fixed.

note: many packages attempt to work around this issue by passing –enable-maintainer-mode to ./configure at the bottom of their autogen.sh. i do not consider this to be a particularly good solution.