This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Documentation generation patch [Take 2]
- To: Mark Mitchell <mark at codesourcery dot com>
- Subject: Re: Documentation generation patch [Take 2]
- From: "Joseph S. Myers" <jsm28 at cam dot ac dot uk>
- Date: Sat, 12 May 2001 01:57:42 +0100 (BST)
- cc: <pfeifer at dbai dot tuwien dot ac dot at>, <Theodore dot Papadopoulo at sophia dot inria dot fr>, <gcc-patches at gcc dot gnu dot org>
On Fri, 11 May 2001, Mark Mitchell wrote:
> Ack, no. Nothing should be generated in the source directory. The
> fact that bison-generated files go there, for example, is, in my
> opinion, a bug.
But these files, and info files, need to go in the source tarballs so that
release users don't need these tools! This is simply a matter of the GNU
Coding Standards:
GNU distributions usually contain some files which are not source
files--for example, Info files, and the output from Autoconf,
Automake, Bison or Flex. Since these files normally appear in the
source directory, they should always appear in the source directory,
not in the build directory. So Makefile rules to update them should
put the updated files in the source directory.
and
Naturally, all the source files must be in the distribution. It is
okay to include non-source files in the distribution, provided they
are up-to-date and machine-independent, so that building the
distribution normally will never modify them. We commonly include
non-source files produced by Bison, lex, TeX, and makeinfo; this helps
avoid unnecessary dependencies between our distributions, so that
users can install whichever packages they want to install.
So, unless we want to say that users must have makeinfo installed if they
want the documentation to be installed (and that would be a regression
from 2.95, since 2.95 included makeinfo), or that they must have Bison
installed (again a regression, since the Bison files for the 2.95 branch
are in CVS), these files should be generated in the source directory.
> Non-GNU make is (empirically) not supported. We've argued about this,
> and it looks like I won, sort-of by accident. There are now
> constructs that only work with GNU make.
So, GNU make features can be freely used where they simplify or clarify
the Makefiles? (Though hopefully not to the extent of complexity and
obscurity of the glibc Makefiles.)
--
Joseph S. Myers
jsm28@cam.ac.uk