diff --git a/src/common.h b/src/common.h index 8d6b4fd5..dee2bffa 100644 --- a/src/common.h +++ b/src/common.h @@ -59,8 +59,16 @@ typedef _off_t off_t; #endif #endif // __MINGW32__ -#include #ifdef ENABLE_NLS +// If we put #include outside of #ifdef ENABLE_NLS and +// --disable-nls is used, gettext(msgid) is defined as ((const char *) +// (Msgid)). System header includes libintl.h regardless of +// --disable-nls. For example, #include will include +// libintl.h through include chain. Since libintl.h refers gettext and +// it is defined as non-function form, this causes compile error. User +// reported gcc-4.2.2 has this problem. But gcc-4.4.5 does not suffer +// from this problem. +# include # define _(String) gettext(String) #else // ENABLE_NLS # define _(String) String