bug-bison
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: bison-20001221


From: Akim Demaille
Subject: Re: bison-20001221
Date: 12 Jan 2001 17:28:20 +0100
User-agent: Gnus/5.0808 (Gnus v5.8.8) XEmacs/21.1 (Crater Lake)

>>>>> "Jesse" == Jesse Thilo <address@hidden> writes:

Jesse> No *problem* as such.  I think it's silly, but that's my only
Jesse> objection.

:) 

The point is that it makes it much easier for people who don't have
the required tools to use the CVS version.  I agree it is silly in
absolute, but it practice it makes it easier for everyone.  Including
Autotools experts have had problems bootstrapping CVS Bison.

So, OK, I'll go for dist-in-CVS.

Hans> - On a number of places there is include <config.h> It should be
Hans> include "config.h"
>> I never quite understood the difference between the two, and some
>> people will tell you to do just the opposite (see the Autoconf doc
>> for a start).

Jesse> I agree with Hans on this point, but few others. ;-) I like to
Jesse> put system-provided header files in brokets, and
Jesse> package-provided header files in quotes.  Aside from being the
Jesse> actual intent behind the difference, it distinguishes them
Jesse> visually and it makes gcc's -MM option work better.  Rule of
Jesse> thumb: if a header file has a reasonable chance of being
Jesse> modified during development, put it in quotes.  config.h
Jesse> certainly qualifies.  The only files *not* likely to be
Jesse> modified (barring an OS upgrade) are system header files.

Yeah, I know this, but I'm specifically referring to config.h, no
other file.  Browse the mailing lists related to Autoconf and you'll
see millions of different opinions on this precise matter.  Until
someone finally makes it clear why one would be better than the other,
changing is wasting our time.  Defenders of <config.h> have powerful
arguments.  Here's the doc from Autoconf.

   Configuration Header Files
   ==========================
   
      When a package tests more than a few C preprocessor symbols, the
   command lines to pass `-D' options to the compiler can get quite long.
   This causes two problems.  One is that the `make' output is hard to
   visually scan for errors.  More seriously, the command lines can exceed
   the length limits of some operating systems.  As an alternative to
   passing `-D' options to the compiler, `configure' scripts can create a
   C header file containing `#define' directives.  The `AC_CONFIG_HEADERS'
   macro selects this kind of output.  It should be called right after
   `AC_INIT'.
   
#     The package should `#include' the configuration header file before
#  any other header files, to prevent inconsistencies in declarations (for
#  example, if it redefines `const').  Use `#include <config.h>' instead
#  of `#include "config.h"', and pass the C compiler a `-I.' option (or
#  `-I..'; whichever directory contains `config.h').  That way, even if
#  the source directory is configured itself (perhaps to make a
#  distribution), other build directories can also be configured without
#  finding the `config.h' from the source directory.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]