GNOME Bugzilla – Bug 652227
Unconditional use of stdint.h
Last modified: 2011-06-11 03:08:38 UTC
In one location stdint.h is included unconditionally although presence and alternative inttypes.h may have been detected. The attached patch fixes the issue.
Forgot to attach?
Created attachment 189575 [details] [review] Use inttypes.h if stdint.h is not available
Humm. We cannot meaningfully use the HAVE_* macros there. It would work in Pango, but not in upstream harfbuzz, since that header will be included by harfbuzz users. Perhaps we should detect what header defines the int types and include that in a generated hb-config.h or something.
FWIW, pixman has this: #if !defined (PIXMAN_DONT_DEFINE_STDINT) #if defined (_SVR4) || defined (SVR4) || defined (__OpenBSD__) || defined (_sgi) || defined (__sun) || defined (sun) || defined (__digital__) || defined (__HP_cc) # include <inttypes.h> /* VS 2010 (_MSC_VER 1600) has stdint.h */ #elif defined (_MSC_VER) && _MSC_VER < 1600 typedef __int8 int8_t; typedef unsigned __int8 uint8_t; typedef __int16 int16_t; typedef unsigned __int16 uint16_t; typedef __int32 int32_t; typedef unsigned __int32 uint32_t; typedef __int64 int64_t; typedef unsigned __int64 uint64_t; #elif defined (_AIX) # include <sys/inttypes.h> #else # include <stdint.h> #endif #endif so that is good enough for everywhere X11 runs.
Thanks, I committed the original patch to Pango, and Søren's to HarfBuzz upstream.