From 3604eeddb8a317c0745e92680d0405c645fbe247 Mon Sep 17 00:00:00 2001
From: Tavian Barnes <tavianator@tavianator.com>
Date: Wed, 16 Nov 2022 15:02:14 -0500
Subject: trie: Limit target_clones to glibc

Musl doesn't support ifuncs.
---
 src/trie.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/trie.c b/src/trie.c
index 4bbdf13..1434356 100644
--- a/src/trie.c
+++ b/src/trie.c
@@ -103,16 +103,16 @@
 #include <stdlib.h>
 #include <string.h>
 
-#if __has_attribute(target_clones) && (__i386__ || __x86_64__)
+#if CHAR_BIT != 8
+#	error "This trie implementation assumes 8-bit bytes."
+#endif
+
+#if __GLIBC__ && __has_attribute(target_clones) && (__i386__ || __x86_64__)
 #	define TARGET_CLONES_POPCNT __attribute__((target_clones("popcnt", "default")))
 #else
 #	define TARGET_CLONES_POPCNT
 #endif
 
-#if CHAR_BIT != 8
-#	error "This trie implementation assumes 8-bit bytes."
-#endif
-
 /** Number of bits for the sparse array bitmap, aka the range of a nibble. */
 #define BITMAP_BITS 16
 /** The number of remaining bits in a word, to hold the offset. */
-- 
cgit v1.2.3