Allow implementing atomic and mutex ops in config
Motivated by
https://github.com/behdad/harfbuzz/pull/92
diff --git a/src/hb-atomic-private.hh b/src/hb-atomic-private.hh
index e6738b7..6fa86d3 100644
--- a/src/hb-atomic-private.hh
+++ b/src/hb-atomic-private.hh
@@ -39,7 +39,11 @@
/* We need external help for these */
-#if 0
+#if defined(hb_atomic_int_add) \
+ && defined(hb_atomic_ptr_get) \
+ && defined(hb_atomic_ptr_cmpexch)
+
+/* Defined externally, i.e. in config.h */
#elif !defined(HB_NO_MT) && (defined(_WIN32) || defined(__CYGWIN__))
diff --git a/src/hb-mutex-private.hh b/src/hb-mutex-private.hh
index a8ea39c..64c552f 100644
--- a/src/hb-mutex-private.hh
+++ b/src/hb-mutex-private.hh
@@ -39,7 +39,12 @@
/* We need external help for these */
-#if 0
+#if defined(hb_mutex_impl_init) \
+ && defined(hb_mutex_impl_lock) \
+ && defined(hb_mutex_impl_unlock) \
+ && defined(hb_mutex_impl_finish)
+
+/* Defined externally, i.e. in config.h */
#elif !defined(HB_NO_MT) && (defined(_WIN32) || defined(__CYGWIN__))