MSVC: compat: strcasecmp() in <strings.h>
The #ifdef is for `_MSC_VER`, not `_WIN32`, because it's apparently
available on MinGW.
diff --git a/compat/compat.h.in b/compat/compat.h.in
index 1c19b98..7c641f7 100644
--- a/compat/compat.h.in
+++ b/compat/compat.h.in
@@ -66,6 +66,7 @@
#cmakedefine HAVE_STRPTIME
#cmakedefine HAVE_MMAP
#cmakedefine HAVE_DIRNAME
+#cmakedefine HAVE_STRCASECMP
#ifndef bswap64
#define bswap64(val) \
diff --git a/compat/posix-shims/strings.h b/compat/posix-shims/strings.h
new file mode 100644
index 0000000..c917a66
--- /dev/null
+++ b/compat/posix-shims/strings.h
@@ -0,0 +1,9 @@
+#include <compat.h>
+
+#ifndef HAVE_STRCASECMP
+#ifdef _MSC_VER
+#define strcasecmp _stricmp
+#else
+#error No strcasecmp() implementation for this platform is available.
+#endif
+#endif