From 67c644e317b2d7057f2f403ce2d095299319a2f2 Mon Sep 17 00:00:00 2001 From: darkf Date: Thu, 8 Jan 2015 20:20:51 -0800 Subject: Fix building on MinGW --- CMakeLists.txt | 6 ++++++ src/citra/citra.rc | Bin 566 -> 282 bytes src/core/hle/service/soc_u.cpp | 13 +++++++++++++ 3 files changed, 19 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 20a5a011..d70c872b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -117,6 +117,12 @@ IF (APPLE) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++") set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -stdlib=libc++") +ELSEIF(MINGW) + # GCC does not support codecvt, so use iconv instead + set(PLATFORM_LIBRARIES winmm ws2_32 iconv) + + # WSAPoll functionality doesn't exist before WinNT 6.x (Vista and up) + add_definitions(-D_WIN32_WINNT=0x0600) ELSEIF(WIN32) set(PLATFORM_LIBRARIES winmm ws2_32) ELSE() diff --git a/src/citra/citra.rc b/src/citra/citra.rc index c28e7dbe..0165e93d 100644 Binary files a/src/citra/citra.rc and b/src/citra/citra.rc differ diff --git a/src/core/hle/service/soc_u.cpp b/src/core/hle/service/soc_u.cpp index f502c6af..bb8ee86b 100644 --- a/src/core/hle/service/soc_u.cpp +++ b/src/core/hle/service/soc_u.cpp @@ -7,6 +7,19 @@ #if EMU_PLATFORM == PLATFORM_WINDOWS #include #include + +// MinGW does not define several errno constants +#ifndef _MSC_VER +#define EBADMSG 104 +#define ENODATA 120 +#define ENOMSG 122 +#define ENOSR 124 +#define ENOSTR 125 +#define ETIME 137 +#define EIDRM 2001 +#define ENOLINK 2002 +#endif // _MSC_VER + #else #include #include -- cgit v1.2.3