diff --git a/src/cairo-wideint-type-private.h b/src/cairo-wideint-type-private.h index a1a2269f8..a07725415 100644 --- a/src/cairo-wideint-type-private.h +++ b/src/cairo-wideint-type-private.h @@ -47,7 +47,9 @@ # include #elif HAVE_SYS_INT_TYPES_H # include -#elif defined(_MSC_VER) +#endif + +#if defined(_MSC_VER) && !defined(HAVE_STDINT_H) typedef __int8 int8_t; typedef unsigned __int8 uint8_t; typedef __int16 int16_t; @@ -56,12 +58,11 @@ typedef unsigned __int32 uint32_t; typedef __int64 int64_t; typedef unsigned __int64 uint64_t; +#endif + # ifndef HAVE_UINT64_T # define HAVE_UINT64_T 1 # endif -#else -#error Cannot find definitions for fixed-width integral types (uint8_t, uint32_t, etc.) -#endif #ifndef INT16_MIN # define INT16_MIN (-32767-1)