DescriptionUse AM_MAINTAINER_MODE so configure supports --enable-maintainer-mode When AM_MAINTAINER_MODE is not used in configure.ac, automake generates a Makefile.in that unconditionally includes rules to rebuild Makefile.in from Makefile.am, configure from configure.ac, etc. As these generated files are kept in the repository, the effect is that anyone doing a simple checkout; configure; make is likely to get these regeneration rules run just by the luck of the draw based on the relative timestamps of Makefile.am and Makefile.in from the checkout (svn and git give checked-out files a timestamp of "now"). When these rules trigger, they require that automake, autoconf, etc. be installed, and they can sometimes require that they match the versions used to generate the files in the repository. This is generally poor practice for distributed source packages. With AM_MAINTAINER_MODE, the generated configure script supports a --enable-maintainer-mode switch; when that switch is not given, these rules are suppressed so they can never cause mischief for people just doing the build. People actually making changes to configure.ac, Makefile.am, etc. can do use --enable-maintainer-mode so that their builds regenerate things as needed. After making this one-line change to configure.ac, I ran the command "autoreconf -f -i" on a Goobuntu Precise workstation. All the changes except for configure.ac itself are from that. This has regenerated everything consistently using Autoconf 2.68 and Automake 1.11.3. Since no configure.ac or Makefile.am file gives a particular version requirement, I presume it doesn't much matter to Breakpad which versions are used. In general, it does matter to make sure that all the generated files, and all the files copied by -i (--missing) behavior, are from matching versions. The state of files in the repository shows that people have been doing partial regenerations for years, which is a bad idea. As long as it's going to have the generated files in the repo (which is good IMHO for various reasons), then the project should pick canonical versions that everything modifying the repo will use, and people making changes to any autoconf or automake input files should run "autoreconf -f -i" and include the generated-file changes in the same CL. R=bradnelson@google.com, mark@chromium.org BUG= Patch Set 1 #
Created: 10 years, 11 months ago
(Patch set is too large to download)
MessagesTotal messages: 10
|