diff --git a/lib/base/include_jpeglib.h b/lib/base/include_jpeglib.h index e73e7628..fde2afaa 100644 --- a/lib/base/include_jpeglib.h +++ b/lib/base/include_jpeglib.h @@ -13,6 +13,22 @@ // NOLINTBEGIN /* clang-format off */ #include // IWYU pragma: keep + +#ifdef _WIN32 +#undef RIGHT_SHIFT_IS_UNSIGNED +/* Define "boolean" as unsigned char, not int, per Windows custom */ +#ifndef __RPCNDR_H__ +typedef unsigned char boolean; +#endif +#define HAVE_BOOLEAN /* prevent jmorecfg.h from redefining it */ +/* Define "INT32" as int, not long, per Windows custom */ +#if !(defined(_BASETSD_H_) || defined(_BASETSD_H)) +typedef short INT16; +typedef signed int INT32; +#endif +#define XMD_H /* prevent jmorecfg.h from redefining it */ +#endif + #include // IWYU pragma: export #include // IWYU pragma: export /* clang-format on */ diff --git a/lib/jpegli/decode_internal.h b/lib/jpegli/decode_internal.h index b0b7f302..0595a81d 100644 --- a/lib/jpegli/decode_internal.h +++ b/lib/jpegli/decode_internal.h @@ -11,7 +11,7 @@ #include #include -#include "jpeglib.h" +#include "lib/base/include_jpeglib.h" #include "lib/base/compiler_specific.h" #include "lib/jpegli/common_internal.h" #include "lib/jpegli/huffman.h" diff --git a/lib/jpegli/input.cc b/lib/jpegli/input.cc index 0ca01171..fcf7f253 100644 --- a/lib/jpegli/input.cc +++ b/lib/jpegli/input.cc @@ -9,7 +9,7 @@ #include #include -#include "jpeglib.h" +#include "lib/base/include_jpeglib.h" #include "lib/jpegli/common_internal.h" #include "lib/jpegli/types.h"