diff --git "a/gettext-runtime/intl/langprefs.c" "b/gettext-runtime/intl/langprefs.c"
index aeb1c4e9..2ac531be 100644
--- "a/gettext-runtime/intl/langprefs.c"
+++ "b/gettext-runtime/intl/langprefs.c"
@@ -33,7 +33,13 @@ extern void _nl_locale_name_canonicalize (char *name);
 #endif
 
 #if defined _WIN32 || defined __WIN32__
-# define WIN32_NATIVE
+# if !defined(WINAPI_FAMILY)
+#	define WIN32_NATIVE
+# else
+#	if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
+#		define WIN32_NATIVE
+#   endif
+# endif
 #endif
 
 #ifdef WIN32_NATIVE
diff --git "a/gettext-runtime/intl/localcharset.c" "b/gettext-runtime/intl/localcharset.c"
index 670b8e6c..035a96bd 100644
--- "a/gettext-runtime/intl/localcharset.c"
+++ "b/gettext-runtime/intl/localcharset.c"
@@ -36,6 +36,16 @@
 # define WINDOWS_NATIVE
 #endif
 
+#if defined _WIN32 || defined __WIN32__
+# if !defined(WINAPI_FAMILY)
+#	define HAVE_ACP
+# else
+#	if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
+#		define HAVE_ACP
+#   endif
+# endif
+#endif
+
 #if defined __EMX__
 /* Assume EMX program runs on OS/2, even if compiled under DOS.  */
 # ifndef OS2
@@ -361,7 +371,7 @@ STATIC
 const char *
 locale_charset (void)
 {
-  const char *codeset;
+  const char *codeset = NULL;
   const char *aliases;
 
 #if !(defined WINDOWS_NATIVE || defined OS2)
@@ -457,7 +467,7 @@ locale_charset (void)
 
 # endif
 
-#elif defined WINDOWS_NATIVE
+#elif defined WINDOWS_NATIVE && defined HAVE_ACP
 
   static char buf[2 + 10 + 1];
 
diff --git "a/gettext-runtime/intl/localename.c" "b/gettext-runtime/intl/localename.c"
index 108dd6f1..ace3aa88 100644
--- "a/gettext-runtime/intl/localename.c"
+++ "b/gettext-runtime/intl/localename.c"
@@ -54,7 +54,13 @@
 #endif
 
 #if defined _WIN32 || defined __WIN32__
-# define WINDOWS_NATIVE
+# if !defined(WINAPI_FAMILY)
+#	define WINDOWS_NATIVE
+# else
+#	if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
+#		define WINDOWS_NATIVE
+#   endif
+# endif
 #endif
 
 #if defined WINDOWS_NATIVE || defined __CYGWIN__ /* Native Windows or Cygwin */
