diff --git a/src/hb-old/harfbuzz-global.h b/src/hb-old/harfbuzz-global.h index c0f54d6e1..9ba5841de 100644 --- a/src/hb-old/harfbuzz-global.h +++ b/src/hb-old/harfbuzz-global.h @@ -31,14 +31,19 @@ #include #include -#define HB_BEGIN_VISIBILITY _Pragma ("GCC visibility push(hidden)") -#define HB_END_VISIBILITY _Pragma ("GCC visibility pop") -#ifdef __cplusplus -#define HB_BEGIN_HEADER extern "C" { HB_BEGIN_VISIBILITY -#define HB_END_HEADER HB_END_VISIBILITY } +#if defined(__GNUC__) && (__GNUC__ >= 4) && !defined(__MINGW32__) +# define HB_BEGIN_VISIBILITY _Pragma ("GCC visibility push(hidden)") +# define HB_END_VISIBILITY _Pragma ("GCC visibility pop") #else -#define HB_BEGIN_HEADER HB_BEGIN_VISIBILITY -#define HB_END_HEADER HB_END_VISIBILITY +# define HB_BEGIN_VISIBILITY +# define HB_END_VISIBILITY +#endif +#ifdef __cplusplus +# define HB_BEGIN_HEADER extern "C" { HB_BEGIN_VISIBILITY +# define HB_END_HEADER HB_END_VISIBILITY } +#else +# define HB_BEGIN_HEADER HB_BEGIN_VISIBILITY +# define HB_END_HEADER HB_END_VISIBILITY #endif HB_BEGIN_HEADER diff --git a/src/hb-old/harfbuzz-impl.h b/src/hb-old/harfbuzz-impl.h index 01865cae8..3f370b6e6 100644 --- a/src/hb-old/harfbuzz-impl.h +++ b/src/hb-old/harfbuzz-impl.h @@ -33,7 +33,11 @@ HB_BEGIN_HEADER #ifndef HB_INTERNAL -# define HB_INTERNAL __attribute__((visibility("hidden"))) +# ifndef __MINGW32__ +# define HB_INTERNAL __attribute__((__visibility__("hidden"))) +# else +# define HB_INTERNAL +# endif #endif #ifndef NULL