Index: include/__config =================================================================== --- include/__config +++ include/__config @@ -713,11 +713,6 @@ #define _LIBCPP_LOCALE__L_EXTENSIONS 1 #endif -#if !defined(_WIN32) && !defined(__ANDROID__) && !defined(_NEWLIB_VERSION) && \ - !defined(__CloudABI__) -#define _LIBCPP_HAS_CATOPEN 1 -#endif - #ifdef __FreeBSD__ #define _DECLARE_C99_LDBL_MATH 1 #endif Index: include/locale =================================================================== --- include/locale +++ include/locale @@ -199,6 +199,15 @@ // has had a chance to bake for a bit #include #endif + +#if defined(__unix__) || (defined(__APPLE__) && defined(__MACH__)) +// Most unix variants have catopen. These are the specific ones that don't. +#if !defined(_WIN32) && !defined(__ANDROID__) && !defined(_NEWLIB_VERSION) && \ + !defined(__CloudABI__) +#define _LIBCPP_HAS_CATOPEN 1 +#endif +#endif + #ifdef _LIBCPP_HAS_CATOPEN #include #endif