From bcc741cc7b43d1658097f7d279e86aadce13e626 Mon Sep 17 00:00:00 2001 From: Eric Biggers Date: Tue, 12 Jul 2016 13:32:31 -0500 Subject: [PATCH] Prefix non-API global symbols with "_libdeflate_" --- lib/lib_common.h | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/lib/lib_common.h b/lib/lib_common.h index 3e90786..9a99121 100644 --- a/lib/lib_common.h +++ b/lib/lib_common.h @@ -7,4 +7,24 @@ #include "common_defs.h" +/* + * Prefix with "_libdeflate_" all global symbols which are not part of the API. + * This avoids exposing overly generic names when libdeflate is built as a + * static library. + * + * Note that the chosen prefix is not really important and can be changed + * without breaking library users. It was just chosen so that the resulting + * symbol names are unlikely to conflict with those from any other software. + * Also note that this fixup has no useful effect when libdeflate is built as a + * shared library, since these symbols are not exported. + */ +#define SYM_FIXUP(sym) _libdeflate_##sym +#define adler32 SYM_FIXUP(adler32) +#define aligned_malloc SYM_FIXUP(aligned_malloc) +#define aligned_free SYM_FIXUP(aligned_free) +#define crc32_gzip SYM_FIXUP(crc32_gzip) +#define deflate_get_compression_level SYM_FIXUP(deflate_get_compression_level) +#define _x86_cpu_features SYM_FIXUP(_x86_cpu_features) +#define x86_setup_cpu_features SYM_FIXUP(x86_setup_cpu_features) + #endif /* _LIB_LIB_COMMON_H */