MSVC: there's no mmap() on Windows
There's a compatibility library, the mman-win32, which implement a
mmap-like semantics. However, on Windows one cannot map a read-only file
into memory for a length that is larger than the size of that file,
and you also cannot overwrite an existing mapping.
The easiest course of action is to just read the file into memory and be
done with it.
See-also: https://stackoverflow.com/a/46014637/2245623
diff --git a/compat/compat.h.in b/compat/compat.h.in
index f8be220..6672fcf 100644
--- a/compat/compat.h.in
+++ b/compat/compat.h.in
@@ -64,6 +64,7 @@
#cmakedefine HAVE_REALPATH
#cmakedefine HAVE_LOCALTIME_R
#cmakedefine HAVE_STRPTIME
+#cmakedefine HAVE_MMAP
#ifndef bswap64
#define bswap64(val) \