From e449b11d7be1c6b5dbfc77c5c6184730ab40e853 Mon Sep 17 00:00:00 2001 From: Eric Biggers Date: Thu, 15 Jan 2026 16:32:25 -0800 Subject: [PATCH] Use hidden visibility when building static library Resolves https://github.com/ebiggers/libdeflate/issues/376 --- lib/lib_common.h | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/lib/lib_common.h b/lib/lib_common.h index faedfcb0..b497eb3b 100644 --- a/lib/lib_common.h +++ b/lib/lib_common.h @@ -13,10 +13,18 @@ # error "lib_common.h must always be included before libdeflate.h" #endif -#if defined(LIBDEFLATE_DLL) && (defined(_WIN32) || defined(__CYGWIN__)) -# define LIBDEFLATE_EXPORT_SYM __declspec(dllexport) +#if defined(_WIN32) || defined(__CYGWIN__) +# ifdef LIBDEFLATE_DLL +# define LIBDEFLATE_EXPORT_SYM __declspec(dllexport) +# else +# define LIBDEFLATE_EXPORT_SYM +# endif #elif defined(__GNUC__) -# define LIBDEFLATE_EXPORT_SYM __attribute__((visibility("default"))) +# ifdef LIBDEFLATE_DLL +# define LIBDEFLATE_EXPORT_SYM __attribute__((visibility("default"))) +# else +# define LIBDEFLATE_EXPORT_SYM __attribute__((visibility("hidden"))) +# endif #else # define LIBDEFLATE_EXPORT_SYM #endif