diff --git a/griffin/griffin.c b/griffin/griffin.c index 1d2b6c4721..b0c8bad693 100644 --- a/griffin/griffin.c +++ b/griffin/griffin.c @@ -39,6 +39,22 @@ #endif #endif +#if defined(_WIN32) +#if defined(_MSC_VER) && _MSC_VER >= 1500 + +#ifndef HAVE_MMAP_WIN32 +#define HAVE_MMAP_WIN32 +#endif + +#elif !defined(_MSC_VER) + +#ifndef HAVE_MMAP_WIN32 +#define HAVE_MMAP_WIN32 +#endif +#endif + +#endif + #define JSON_STATIC 1 /* must come before runtime_file, netplay_room_parse and jsonsax_full */ #if _MSC_VER && !defined(__WINRT__) @@ -1057,7 +1073,7 @@ FILE #if defined(HAVE_MMAP) && defined(BSD) #include "../libretro-common/file/nbio/nbio_unixmmap.c" #endif -#if defined(_WIN32) && !defined(_XBOX) +#if defined(HAVE_MMAP_WIN32) #include "../libretro-common/file/nbio/nbio_windowsmmap.c" #endif #if defined(ORBIS) diff --git a/libretro-common/file/nbio/nbio_intf.c b/libretro-common/file/nbio/nbio_intf.c index c4cebce6c8..111fbbc400 100644 --- a/libretro-common/file/nbio/nbio_intf.c +++ b/libretro-common/file/nbio/nbio_intf.c @@ -37,11 +37,27 @@ extern nbio_intf_t nbio_orbis; #endif extern nbio_intf_t nbio_stdio; +#if defined(_WIN32) +#if defined(_MSC_VER) && _MSC_VER >= 1500 + +#ifndef HAVE_MMAP_WIN32 +#define HAVE_MMAP_WIN32 +#endif + +#elif !defined(_MSC_VER) + +#ifndef HAVE_MMAP_WIN32 +#define HAVE_MMAP_WIN32 +#endif +#endif + +#endif + #if defined(_linux__) static nbio_intf_t *internal_nbio = &nbio_linux; #elif defined(HAVE_MMAP) && defined(BSD) static nbio_intf_t *internal_nbio = &nbio_mmap_unix; -#elif defined(_WIN32) && !defined(_XBOX) +#elif defined(HAVE_MMAP_WIN32) static nbio_intf_t *internal_nbio = &nbio_mmap_win32; #elif defined(ORBIS) static nbio_intf_t *internal_nbio = &nbio_orbis; diff --git a/libretro-common/file/nbio/nbio_windowsmmap.c b/libretro-common/file/nbio/nbio_windowsmmap.c index c77274e563..ad172ffe59 100644 --- a/libretro-common/file/nbio/nbio_windowsmmap.c +++ b/libretro-common/file/nbio/nbio_windowsmmap.c @@ -22,7 +22,23 @@ #include -#if defined(_WIN32) && !defined(_XBOX) +#if defined(_WIN32) +#if defined(_MSC_VER) && _MSC_VER >= 1500 + +#ifndef HAVE_MMAP_WIN32 +#define HAVE_MMAP_WIN32 +#endif + +#elif !defined(_MSC_VER) + +#ifndef HAVE_MMAP_WIN32 +#define HAVE_MMAP_WIN32 +#endif +#endif + +#endif + +#if defined(HAVE_MMAP_WIN32) #include #include