hunk #2: "(defined(__clang__) && __has_builtin(__builtin_ctz))" doesn't work
as expected on base-gcc archs:

common_func.h:147:41: error: missing binary operator before token "("
     (defined(__clang__) && __has_builtin(__builtin_ctz))
                                         ^

clang has "#define __GNUC__ 4" so that branch is not taken anyway.

Index: common_func.h
--- common_func.h.orig
+++ common_func.h
@@ -8,7 +8,7 @@
 # define _(str) gettext(str)
 # define TEXT_DOMAIN "rhash"
 # ifndef LOCALEDIR
-#  define LOCALEDIR "/usr/share/locale"
+#  define LOCALEDIR "${TRUEPREFIX}/share/locale"
 # endif /* LOCALEDIR */
 #else
 # define _(str) (str)
@@ -147,9 +147,8 @@ wchar_t* rhash_wcsdup(const wchar_t* str, const char* 
 #endif
 
 /* get_ctz - count traling zero bits */
-#if (defined(__GNUC__) && (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))) || \
-    (defined(__clang__) && __has_builtin(__builtin_ctz))
-/* macro if GCC >= 3.4 or has clang __builtin_ctz() */
+#if (defined(__GNUC__) && (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)))
+/* macro if GCC >= 3.4 (includes clang) */
 # define get_ctz(x) __builtin_ctz(x)
 # define get_ctz64(x) __builtin_ctzll(x)
 #else
