diff options
| author | bunnei <bunneidev@gmail.com> | 2015-08-19 20:40:31 -0400 | 
|---|---|---|
| committer | bunnei <bunneidev@gmail.com> | 2015-08-19 20:40:31 -0400 | 
| commit | 21ba05e5f1a571dd26fd5bf06afcb993b1ca301f (patch) | |
| tree | 79f9971851cfe9d416f07367e5f592972a086e4b | |
| parent | a575399fbcf6f2c29e9dd9835c5014226b453348 (diff) | |
| parent | e053d30bf75f311778ad745f7859a9733d6ce2e3 (diff) | |
Merge pull request #1035 from darkf/mingw-fix
Fix building under MinGW
| -rw-r--r-- | CMakeLists.txt | 3 | ||||
| -rw-r--r-- | src/common/common_funcs.h | 12 | ||||
| -rw-r--r-- | src/common/file_util.h | 2 | 
3 files changed, 12 insertions, 5 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 00d71dbdc..6cdac1177 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -155,7 +155,8 @@ IF (APPLE)      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) +    # PSAPI is the Process Status API +    set(PLATFORM_LIBRARIES winmm ws2_32 psapi iconv)      # WSAPoll functionality doesn't exist before WinNT 6.x (Vista and up)      add_definitions(-D_WIN32_WINNT=0x0600) diff --git a/src/common/common_funcs.h b/src/common/common_funcs.h index 88e452a16..ed20c3629 100644 --- a/src/common/common_funcs.h +++ b/src/common/common_funcs.h @@ -45,14 +45,20 @@  // GCC 4.8 defines all the rotate functions now  // Small issue with GCC's lrotl/lrotr intrinsics is they are still 32bit while we require 64bit -#ifndef _rotl -inline u32 _rotl(u32 x, int shift) { +#ifdef _rotl +#define rotl _rotl +#else +inline u32 rotl(u32 x, int shift) {      shift &= 31;      if (!shift) return x;      return (x << shift) | (x >> (32 - shift));  } +#endif -inline u32 _rotr(u32 x, int shift) { +#ifdef _rotr +#define rotr _rotr +#else +inline u32 rotr(u32 x, int shift) {      shift &= 31;      if (!shift) return x;      return (x >> shift) | (x << (32 - shift)); diff --git a/src/common/file_util.h b/src/common/file_util.h index d0dccdf69..e71a9b2fa 100644 --- a/src/common/file_util.h +++ b/src/common/file_util.h @@ -244,7 +244,7 @@ private:  template <typename T>  void OpenFStream(T& fstream, const std::string& filename, std::ios_base::openmode openmode)  { -#ifdef _WIN32 +#ifdef _MSC_VER      fstream.open(Common::UTF8ToTStr(filename).c_str(), openmode);  #else      fstream.open(filename.c_str(), openmode);  | 
