Martin Buchholz writes:
The patchlet below contains FreeBSD-specific hacks. You just know
this isn't going to really fix the problem, since it will re-occur on
FooBSD and random other OSes.
Yes. I never claimed to be proud of it.
What to do? I've known for a while that there's a problem
with
XEmacs' attempt to use the new semi-standard fixed-size integral types
like uint8_t and Berkeley DB's attempt to do the same. A real fix is
going to involve looking at all of the Berkeley DB version's code for
detecting these types and coordinating with our own.
In retrospect, it was a mistake (mine) for XEmacs to detect and use
inttypes.h. This header file never became part of a standard (instead
stdint.h did) and implementation of these header files has been
inconsistent and slow. C99 has stdint.h, but C++97 does not. I've
not yet heard of any C compiler advertising complete C99 compliance.
Anyways, a proper fix is going to involve research, deep thought and
careful testing on multiple platforms. The below is the sort of
bandaid that I've been careful to avoid during my time as
configuration maintainer.
Would it be worthwhile to start by getting rid of our use of
inttypes.h? That's easy enough for me to test.
Robert
--