diff --git a/configure.in b/configure.in index 7874967cc333..cfeca95d3c39 100644 --- a/configure.in +++ b/configure.in @@ -770,8 +770,7 @@ dnl the qsort routine under solaris is faulty _WARNINGS_CFLAGS='' _WARNINGS_CXXFLAGS='' if test "$OS_RELEASE" = "5.3"; then - dnl So jmorecfg.h won't redefine boolean. - AC_DEFINE(HAVE_BOOLEAN) + AC_DEFINE(MUST_UNDEF_HAVE_BOOLEAN_AFTER_INCLUDES) fi fi ;; diff --git a/jpeg/jmorecfg.h b/jpeg/jmorecfg.h index 3a52fc2204fd..3d0fe1e7efc6 100644 --- a/jpeg/jmorecfg.h +++ b/jpeg/jmorecfg.h @@ -252,6 +252,13 @@ typedef unsigned int JDIMENSION; * than fight. */ +/* For some reason, on SunOS 5.3 HAVE_BOOLEAN gets defined when using + * gcc, but boolean doesn't. Even if you use -UHAVE_BOOLEAN, it still + * gets reset somewhere. + */ +#if defined(MUST_UNDEF_HAVE_BOOLEAN_AFTER_INCLUDES) && defined(HAVE_BOOLEAN) +#undef HAVE_BOOLEAN +#endif #ifndef HAVE_BOOLEAN typedef unsigned char boolean; #endif