- From: Nelson H. F. Beebe <beebe@math.utah.edu>
- Date: Mon, 17 May 1999 09:39:24 -0400 (EDT)
- To: www-amaya@w3.org
- Cc: beebe@math.utah.edu
On several different UNIX architectures, I'm building the amaya-src-2.0a distribution fetched from http://www.w3.org/Amaya/User/SourceDist.html on Saturday, 15-May-1999. On HP HP-UX 10.01, with CC=c89, I ran into a problem that arises because of misplaced config.h includes, raising exactly the error noted in the GNU autoconfig documentation in node (autoconf.info)Configuration Headers, which says 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. A manual patch to the config.h file to remove the "#define const" line let the build continue, and it is still in progress. If it is of interest, I can provide binary distributions of Amaya for the architectures on which I've built it. Since this problem may come up in other packages (including my own, which I'm about to check), I wrote the script attached at the end of this message, and here is its output on the latest Amaya source release: % ~/bin/find-misplaced-config-h-files.sh ./cpp/cppalloc.c:25:use <config.h> instead of "config.h" ./cpp/cpperror.c:26:use <config.h> instead of "config.h" ./cpp/cppexp.c:28:use <config.h> instead of "config.h" ./cpp/cppexp.c:28:misplaced config.h ./cpp/cpplib.c:41:use <config.h> instead of "config.h" ./cpp/cpplib.c:41:misplaced config.h ./cpp/cppmain.c:36:use <config.h> instead of "config.h" ./cpp/cppmain.c:36:misplaced config.h ./cpp/i386/i386.c:24:use <config.h> instead of "config.h" ./cpp/i386/i386.c:24:misplaced config.h ./cpp/i386/winnt.c:23:use <config.h> instead of "config.h" ./cpp/i386/winnt.c:23:misplaced config.h ./cpp/winnt/ld.c:22:use <config.h> instead of "config.h" ./thotlib/base/alloca.c:35:use <config.h> instead of "config.h" ./thotlib/base/alloca.c:35:misplaced config.h ./tools/mkdep/mkdep.c:10:use <config.h> instead of "config.h" ./tools/mkdep/mkdep.c:10:misplaced config.h #! /bin/sh # Search the current file tree for C and C++ source files, looking for # ones that include <config.h> after others. This is in violation of # the GNU Project documentation in (autoconf.info)Configuration Headers, # which says: # # 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. # # [17-May-1999] AWKPROG=' FILENAME != LAST_FILENAME \ { Include_Count = 0 LAST_FILENAME = FILENAME } /^[ \t]*#[ \t]*include/ \ { Include_Count++ if (match($0,/[<"]config[.]h[">]/)) { if (match($0,/"config[.]h"/)) print FILENAME ":" FNR ":use <config.h> instead of \"config.h\"" if (Include_Count > 1) print FILENAME ":" FNR ":misplaced config.h" nextfile } } ' gawk "$AWKPROG" `find . -name '*.[cHcC]' -o -name '*.cxx' -o -name '*.c++' -o -name '*.cc' -o -name '*.CC' | sort ` ------------------------------------------------------------------------------- - Nelson H. F. Beebe Tel: +1 801 581 5254 - - Center for Scientific Computing FAX: +1 801 585 1640, +1 801 581 4148 - - University of Utah Internet e-mail: beebe@math.utah.edu - - Department of Mathematics, 322 INSCC beebe@acm.org - - 155 S 1400 E RM 233 beebe@ieee.org - - Salt Lake City, UT 84112-0090, USA URL: http://www.math.utah.edu/~beebe - -------------------------------------------------------------------------------
Received on Tuesday, 18 May 1999 05:04:31 UTC