#if !defined(HB_NO_UNICODE_FUNCS) && defined(HB_UNICODE_FUNCS_NIL)
#ifdef _MSC_VER
-#pragma message("Could not find any Unicode functions implementation, you have to provide your own")
-#pragma message("To suppress this warnings, define HB_NO_UNICODE_FUNCS")
+#pragma error("Could not find any Unicode functions implementation, you have to provide your own.")
+#pragma error("Consider building hb-ucdn.c. If you absolutely want to build without any, check the code.")
#else
-#warning "Could not find any Unicode functions implementation, you have to provide your own"
-#warning "To suppress this warning, define HB_NO_UNICODE_FUNCS"
+#error "Could not find any Unicode functions implementation, you have to provide your own"
+#error "Consider building hb-ucdn.c. If you absolutely want to build without any, check the code."
#endif
#endif
#if defined(HB_ATOMIC_INT_NIL)
#ifdef _MSC_VER
-#pragma message("Could not find any system to define atomic_int macros, library may NOT be thread-safe")
+#pragma error("Could not find any system to define atomic_int macros, library WILL NOT be thread-safe")
+#pragma error("Check hb-atomic-private.hh for possible resolutions.")
#else
-#warning "Could not find any system to define atomic_int macros, library may NOT be thread-safe"
+#error "Could not find any system to define atomic_int macros, library WILL NOT be thread-safe"
+#error "Check hb-atomic-private.hh for possible resolutions."
#endif
#endif
#if defined(HB_MUTEX_IMPL_NIL)
#ifdef _MSC_VER
-#pragma message("Could not find any system to define mutex macros, library may NOT be thread-safe")
+#pragma error("Could not find any system to define mutex macros, library WILL NOT be thread-safe")
+#pragma error("Check hb-mutex-private.hh for possible resolutions.")
#else
-#warning "Could not find any system to define mutex macros, library may NOT be thread-safe"
+#error "Could not find any system to define mutex macros, library WILL NOT be thread-safe"
+#error "Check hb-mutex-private.hh for possible resolutions."
#endif
#endif
-
-#if defined(HB_ATOMIC_INT_NIL) || defined(HB_MUTEX_IMPL_NIL)
-#ifdef _MSC_VER
-#pragma message("To suppress these warnings, define HB_NO_MT")
-#else
-#warning "To suppress these warnings, define HB_NO_MT"
-#endif
-#endif
-
-