mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-31 13:50:03 +00:00 
			
		
		
		
	
						commit
						29da5da951
					
				
					 9 changed files with 50 additions and 22 deletions
				
			
		|  | @ -14,7 +14,7 @@ create_directory_groups(${SRCS} ${HEADERS}) | |||
| 
 | ||||
| add_executable(citra ${SRCS} ${HEADERS}) | ||||
| target_link_libraries(citra core common video_core) | ||||
| target_link_libraries(citra ${OPENGL_gl_LIBRARY} ${GLFW_LIBRARIES} inih) | ||||
| target_link_libraries(citra ${GLFW_LIBRARIES} ${OPENGL_gl_LIBRARY} inih) | ||||
| 
 | ||||
| if (UNIX) | ||||
|     target_link_libraries(citra -pthread) | ||||
|  | @ -24,6 +24,9 @@ if (APPLE) | |||
|     target_link_libraries(citra iconv ${COREFOUNDATION_LIBRARY}) | ||||
| elseif (WIN32) | ||||
|     target_link_libraries(citra winmm) | ||||
|     if (MINGW) # GCC does not support codecvt, so use iconv instead | ||||
|         target_link_libraries(citra iconv) | ||||
|     endif()     | ||||
| else() # Unix | ||||
|     target_link_libraries(citra rt) | ||||
| endif() | ||||
|  |  | |||
|  | @ -50,11 +50,13 @@ private: | |||
| #elif defined _WIN32 | ||||
| 
 | ||||
| // Check MSC ver
 | ||||
|     #if !defined _MSC_VER || _MSC_VER <= 1000 | ||||
|     #if defined _MSC_VER && _MSC_VER <= 1000 | ||||
|         #error needs at least version 1000 of MSC | ||||
|     #endif | ||||
| 
 | ||||
|     #ifndef NOMINMAX | ||||
|     #define NOMINMAX | ||||
|     #endif | ||||
| 
 | ||||
| // Memory leak checks
 | ||||
|     #define CHECK_HEAP_INTEGRITY() | ||||
|  |  | |||
|  | @ -31,7 +31,7 @@ template<> struct CompileTimeAssert<true> {}; | |||
| 
 | ||||
| #define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0])) | ||||
| 
 | ||||
| #ifndef _WIN32 | ||||
| #ifndef _MSC_VER | ||||
| 
 | ||||
| #include <errno.h> | ||||
| #ifdef __linux__ | ||||
|  | @ -75,7 +75,7 @@ inline u64 _rotr64(u64 x, unsigned int shift){ | |||
|     return (x >> n) | (x << (64 - n)); | ||||
| } | ||||
| 
 | ||||
| #else // WIN32
 | ||||
| #else // _MSC_VER
 | ||||
| #include <locale.h> | ||||
| 
 | ||||
| // Function Cross-Compatibility
 | ||||
|  | @ -140,7 +140,7 @@ extern "C" { | |||
| } | ||||
|         #define Crash() {DebugBreak();} | ||||
|     #endif // M_IX86
 | ||||
| #endif // WIN32 ndef
 | ||||
| #endif // _MSC_VER ndef
 | ||||
| 
 | ||||
| // Dolphin's min and max functions
 | ||||
| #undef min | ||||
|  | @ -168,7 +168,7 @@ inline u32 swap24(const u8* _data) {return (_data[0] << 16) | (_data[1] << 8) | | |||
| #undef swap64 | ||||
| #endif | ||||
| 
 | ||||
| #ifdef _WIN32 | ||||
| #ifdef _MSC_VER | ||||
| inline u16 swap16(u16 _data) {return _byteswap_ushort(_data);} | ||||
| inline u32 swap32(u32 _data) {return _byteswap_ulong (_data);} | ||||
| inline u64 swap64(u64 _data) {return _byteswap_uint64(_data);} | ||||
|  |  | |||
|  | @ -8,7 +8,7 @@ | |||
| #include "common/msg_handler.h" | ||||
| #include "common/logging/log.h" | ||||
| 
 | ||||
| #ifdef _WIN32 | ||||
| #ifdef _MSC_VER | ||||
| #ifndef __func__ | ||||
| #define __func__ __FUNCTION__ | ||||
| #endif | ||||
|  | @ -39,14 +39,18 @@ | |||
| 
 | ||||
| #define _assert_(_a_) _dbg_assert_(MASTER_LOG, _a_) | ||||
| 
 | ||||
| #ifdef _WIN32 | ||||
| #ifndef GEKKO | ||||
| #ifdef _MSC_VER | ||||
| #define _assert_msg_(_t_, _a_, _fmt_, ...)        \ | ||||
|     if (!(_a_)) {\ | ||||
|         if (!PanicYesNo(_fmt_, __VA_ARGS__)) {Crash();} \ | ||||
|     } | ||||
| #else // not win32
 | ||||
| #else // not msvc
 | ||||
| #define _assert_msg_(_t_, _a_, _fmt_, ...)        \ | ||||
|     if (!(_a_)) {\ | ||||
|         if (!PanicYesNo(_fmt_, ##__VA_ARGS__)) {Crash();} \ | ||||
|     } | ||||
| #endif // WIN32
 | ||||
| #endif // _WIN32
 | ||||
| #else // GEKKO
 | ||||
| #define _assert_msg_(_t_, _a_, _fmt_, ...) | ||||
| #endif | ||||
|  | @ -30,7 +30,7 @@ extern bool MsgAlert(bool yes_no, int Style, const char* format, ...) | |||
| void SetEnableAlert(bool enable); | ||||
| 
 | ||||
| #ifndef GEKKO | ||||
| #ifdef _WIN32 | ||||
| #ifdef _MSC_VER | ||||
|     #define SuccessAlert(format, ...) MsgAlert(false, INFORMATION, format, __VA_ARGS__) | ||||
|     #define PanicAlert(format, ...) MsgAlert(false, WARNING, format, __VA_ARGS__) | ||||
|     #define PanicYesNo(format, ...) MsgAlert(true, WARNING, format, __VA_ARGS__) | ||||
|  |  | |||
|  | @ -71,14 +71,18 @@ | |||
| 
 | ||||
| #include <time.h> | ||||
| 
 | ||||
| #ifndef NOMINMAX | ||||
| #define NOMINMAX | ||||
| #endif | ||||
| #define EMU_FASTCALL __fastcall | ||||
| 
 | ||||
| #ifdef _MSC_VER | ||||
| inline struct tm* localtime_r(const time_t *clock, struct tm *result) { | ||||
|     if (localtime_s(result, clock) == 0) | ||||
|         return result; | ||||
|     return nullptr; | ||||
| } | ||||
| #endif | ||||
| 
 | ||||
| #else | ||||
| 
 | ||||
|  |  | |||
|  | @ -7,7 +7,7 @@ | |||
| #include "common/common.h" | ||||
| #include "common/string_util.h" | ||||
| 
 | ||||
| #ifdef _WIN32 | ||||
| #ifdef _MSC_VER | ||||
|     #include <Windows.h> | ||||
|     #include <codecvt> | ||||
| #else | ||||
|  | @ -45,7 +45,7 @@ bool CharArrayFromFormatV(char* out, int outsize, const char* format, va_list ar | |||
| { | ||||
|     int writtenCount; | ||||
| 
 | ||||
| #ifdef _WIN32 | ||||
| #ifdef _MSC_VER | ||||
|     // You would think *printf are simple, right? Iterate on each character,
 | ||||
|     // if it's a format specifier handle it properly, etc.
 | ||||
|     //
 | ||||
|  | @ -410,7 +410,7 @@ std::string UriEncode(const std::string & sSrc) | |||
|     return sResult; | ||||
| } | ||||
| 
 | ||||
| #ifdef _WIN32 | ||||
| #ifdef _MSC_VER | ||||
| 
 | ||||
| std::string UTF16ToUTF8(const std::u16string& input) | ||||
| { | ||||
|  |  | |||
|  | @ -17,7 +17,7 @@ namespace Common | |||
| 
 | ||||
| int CurrentThreadId() | ||||
| { | ||||
| #ifdef _WIN32 | ||||
| #ifdef _MSC_VER | ||||
|     return GetCurrentThreadId(); | ||||
| #elif defined __APPLE__ | ||||
|     return mach_thread_self(); | ||||
|  | @ -27,6 +27,14 @@ int CurrentThreadId() | |||
| } | ||||
| 
 | ||||
| #ifdef _WIN32 | ||||
| // Supporting functions
 | ||||
| void SleepCurrentThread(int ms) | ||||
| { | ||||
|     Sleep(ms); | ||||
| } | ||||
| #endif | ||||
| 
 | ||||
| #ifdef _MSC_VER | ||||
| 
 | ||||
| void SetThreadAffinity(std::thread::native_handle_type thread, u32 mask) | ||||
| { | ||||
|  | @ -38,12 +46,6 @@ void SetCurrentThreadAffinity(u32 mask) | |||
|     SetThreadAffinityMask(GetCurrentThread(), mask); | ||||
| } | ||||
| 
 | ||||
| // Supporting functions
 | ||||
| void SleepCurrentThread(int ms) | ||||
| { | ||||
|     Sleep(ms); | ||||
| } | ||||
| 
 | ||||
| void SwitchCurrentThread() | ||||
| { | ||||
|     SwitchToThread(); | ||||
|  | @ -82,7 +84,7 @@ void SetCurrentThreadName(const char* szThreadName) | |||
|     {} | ||||
| } | ||||
| 
 | ||||
| #else // !WIN32, so must be POSIX threads
 | ||||
| #else // !MSVC_VER, so must be POSIX threads
 | ||||
| 
 | ||||
| void SetThreadAffinity(std::thread::native_handle_type thread, u32 mask) | ||||
| { | ||||
|  | @ -106,6 +108,7 @@ void SetCurrentThreadAffinity(u32 mask) | |||
|     SetThreadAffinity(pthread_self(), mask); | ||||
| } | ||||
| 
 | ||||
| #ifndef _WIN32 | ||||
| void SleepCurrentThread(int ms) | ||||
| { | ||||
|     usleep(1000 * ms); | ||||
|  | @ -115,7 +118,10 @@ void SwitchCurrentThread() | |||
| { | ||||
|     usleep(1000 * 1); | ||||
| } | ||||
| #endif | ||||
| 
 | ||||
| // MinGW with the POSIX threading model does not support pthread_setname_np
 | ||||
| #if !defined(_WIN32) || defined(_MSC_VER) | ||||
| void SetCurrentThreadName(const char* szThreadName) | ||||
| { | ||||
| #ifdef __APPLE__ | ||||
|  | @ -126,6 +132,7 @@ void SetCurrentThreadName(const char* szThreadName) | |||
|     pthread_setname_np(pthread_self(), szThreadName); | ||||
| #endif | ||||
| } | ||||
| #endif | ||||
| 
 | ||||
| #endif | ||||
| 
 | ||||
|  |  | |||
|  | @ -13,6 +13,14 @@ | |||
| 
 | ||||
| using namespace std; | ||||
| 
 | ||||
| // __WIN32__ was never defined on MSVC, but it is on MinGW,
 | ||||
| // so we need to remove it.
 | ||||
| // #ifdefs to __WIN32__ are dead code and will not even compile
 | ||||
| // anymore, due to bank_defs.h missing.
 | ||||
| #ifdef _WIN32 | ||||
| #undef __WIN32__ | ||||
| #endif | ||||
| 
 | ||||
| #include "core/arm/skyeye_common/armdefs.h" | ||||
| #include "core/arm/skyeye_common/armmmu.h" | ||||
| #include "arm_dyncom_thumb.h" | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue