Fix permute.i test failure, and clean up build system and boolean detection
authorAlex Smith <ais523@bham.ac.uk>
Mon, 27 Sep 2010 10:28:09 +0000 (11:28 +0100)
committerAlex Smith <ais523@bham.ac.uk>
Mon, 27 Sep 2010 10:28:09 +0000 (11:28 +0100)
commitc33d97c2809bc86c083b5996652c03d3d0213e53
tree98542baeed6729bc1220b6bc7354e552a7654aba
parentf5bc2fa4b30dbebca529a1e0505161a000f61976
Fix permute.i test failure, and clean up build system and boolean detection

The cause of the bug was that "bool" referred to a different type in libick.a
and in compiled programs, which could be caused by, e.g., different compilers
(entirely plausible in cross-compiling) or a different header environment
(what actually happened was a missing config.h, as that isn't installed). The
fix used here was to change abcess.h from immutable to a generated file,
containing the boolean types actually used to build C-INTERCAL and requiring
their use for the eventually generated programs, preventing the type mismatch.
This fails if C-INTERCAL is built with a compiler that supports booleans, and
run with a $CC that doesn't, but at least it now fails noisly in that case
rather than silently, with nothing but a mysterious regression check failure
in permute.i.

As part of this, config.h was cleaned up; configuration #defines now
consistently use the values 1 or undef, rather than /**/ or undef sometimes,
and 1 or undef other times; this is needed to AC_SUBST the values into
abcess.h correctly, but is useful cleanup in any case.
README
buildaux/Makefile.am
configure.ac
src/abcess.h [deleted file]
src/abcessh.in [new file with mode: 0644]
src/ick_bool.h