Common: Remove many unnecessary cross-platform compatibility macros
This commit is contained in:
		@@ -8,8 +8,11 @@ if (NOT MSVC)
 | 
			
		||||
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wno-attributes -pthread")
 | 
			
		||||
    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -pthread")
 | 
			
		||||
else()
 | 
			
		||||
    # Silence deprecation warnings
 | 
			
		||||
    add_definitions(/D_CRT_SECURE_NO_WARNINGS)
 | 
			
		||||
    # Silence "deprecation" warnings
 | 
			
		||||
    add_definitions(/D_CRT_SECURE_NO_WARNINGS /D_CRT_NONSTDC_NO_DEPRECATE)
 | 
			
		||||
    # Avoid windows.h junk
 | 
			
		||||
    add_definitions(/DNOMINMAX)
 | 
			
		||||
 | 
			
		||||
    # set up output paths for executable binaries (.exe-files, and .dll-files on DLL-capable platforms)
 | 
			
		||||
    set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -19,7 +19,7 @@
 | 
			
		||||
#include "citra/emu_window/emu_window_glfw.h"
 | 
			
		||||
 | 
			
		||||
/// Application entry point
 | 
			
		||||
int __cdecl main(int argc, char **argv) {
 | 
			
		||||
int main(int argc, char **argv) {
 | 
			
		||||
    std::shared_ptr<Log::Logger> logger = Log::InitGlobalLogger();
 | 
			
		||||
    Log::Filter log_filter(Log::Level::Debug);
 | 
			
		||||
    Log::SetFilter(&log_filter);
 | 
			
		||||
 
 | 
			
		||||
@@ -349,7 +349,7 @@ void GMainWindow::closeEvent(QCloseEvent* event)
 | 
			
		||||
#undef main
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
int __cdecl main(int argc, char* argv[])
 | 
			
		||||
int main(int argc, char* argv[])
 | 
			
		||||
{
 | 
			
		||||
    std::shared_ptr<Log::Logger> logger = Log::InitGlobalLogger();
 | 
			
		||||
    Log::Filter log_filter(Log::Level::Info);
 | 
			
		||||
 
 | 
			
		||||
@@ -11,8 +11,6 @@
 | 
			
		||||
#include <cstdio>
 | 
			
		||||
#include <cstring>
 | 
			
		||||
 | 
			
		||||
#define STACKALIGN
 | 
			
		||||
 | 
			
		||||
#include "common/assert.h"
 | 
			
		||||
#include "common/logging/log.h"
 | 
			
		||||
#include "common/common_types.h"
 | 
			
		||||
@@ -20,56 +18,25 @@
 | 
			
		||||
#include "common/common_paths.h"
 | 
			
		||||
#include "common/platform.h"
 | 
			
		||||
 | 
			
		||||
#ifdef __APPLE__
 | 
			
		||||
// The Darwin ABI requires that stack frames be aligned to 16-byte boundaries.
 | 
			
		||||
// This is only needed on i386 gcc - x86_64 already aligns to 16 bytes.
 | 
			
		||||
    #if defined __i386__ && defined __GNUC__
 | 
			
		||||
        #undef STACKALIGN
 | 
			
		||||
        #define STACKALIGN __attribute__((__force_align_arg_pointer__))
 | 
			
		||||
    #endif
 | 
			
		||||
#elif defined _WIN32
 | 
			
		||||
// Check MSC ver
 | 
			
		||||
    #if defined _MSC_VER && _MSC_VER <= 1000
 | 
			
		||||
        #error needs at least version 1000 of MSC
 | 
			
		||||
    #endif
 | 
			
		||||
 | 
			
		||||
    #ifndef NOMINMAX
 | 
			
		||||
    #define NOMINMAX
 | 
			
		||||
    #endif
 | 
			
		||||
 | 
			
		||||
// Alignment
 | 
			
		||||
#ifdef _WIN32
 | 
			
		||||
    // Alignment
 | 
			
		||||
    #define MEMORY_ALIGNED16(x) __declspec(align(16)) x
 | 
			
		||||
    #define MEMORY_ALIGNED32(x) __declspec(align(32)) x
 | 
			
		||||
    #define MEMORY_ALIGNED64(x) __declspec(align(64)) x
 | 
			
		||||
    #define MEMORY_ALIGNED128(x) __declspec(align(128)) x
 | 
			
		||||
    #define MEMORY_ALIGNED16_DECL(x) __declspec(align(16)) x
 | 
			
		||||
    #define MEMORY_ALIGNED64_DECL(x) __declspec(align(64)) x
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
// Windows compatibility
 | 
			
		||||
#ifndef _WIN32
 | 
			
		||||
#else
 | 
			
		||||
    // Windows compatibility
 | 
			
		||||
    #ifdef _LP64
 | 
			
		||||
        #define _M_X64 1
 | 
			
		||||
    #else
 | 
			
		||||
        #define _M_IX86 1
 | 
			
		||||
    #endif
 | 
			
		||||
 | 
			
		||||
    #define __forceinline inline __attribute__((always_inline))
 | 
			
		||||
    #define MEMORY_ALIGNED16(x) __attribute__((aligned(16))) x
 | 
			
		||||
    #define MEMORY_ALIGNED32(x) __attribute__((aligned(32))) x
 | 
			
		||||
    #define MEMORY_ALIGNED64(x) __attribute__((aligned(64))) x
 | 
			
		||||
    #define MEMORY_ALIGNED128(x) __attribute__((aligned(128))) x
 | 
			
		||||
    #define MEMORY_ALIGNED16_DECL(x) __attribute__((aligned(16))) x
 | 
			
		||||
    #define MEMORY_ALIGNED64_DECL(x) __attribute__((aligned(64))) x
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifdef _MSC_VER
 | 
			
		||||
    #define __strdup _strdup
 | 
			
		||||
    #define __getcwd _getcwd
 | 
			
		||||
    #define __chdir _chdir
 | 
			
		||||
#else
 | 
			
		||||
    #define __strdup strdup
 | 
			
		||||
    #define __getcwd getcwd
 | 
			
		||||
    #define __chdir chdir
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if defined _M_GENERIC
 | 
			
		||||
 
 | 
			
		||||
@@ -73,16 +73,12 @@ inline u64 _rotr64(u64 x, unsigned int shift){
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#else // _MSC_VER
 | 
			
		||||
#include <locale.h>
 | 
			
		||||
    #include <locale.h>
 | 
			
		||||
 | 
			
		||||
// Function Cross-Compatibility
 | 
			
		||||
    #define strcasecmp _stricmp
 | 
			
		||||
    #define strncasecmp _strnicmp
 | 
			
		||||
    #define unlink _unlink
 | 
			
		||||
    // Function Cross-Compatibility
 | 
			
		||||
    #define snprintf _snprintf
 | 
			
		||||
    #define vscprintf _vscprintf
 | 
			
		||||
 | 
			
		||||
// Locale Cross-Compatibility
 | 
			
		||||
    // Locale Cross-Compatibility
 | 
			
		||||
    #define locale_t _locale_t
 | 
			
		||||
    #define freelocale _free_locale
 | 
			
		||||
    #define newlocale(mask, locale, base) _create_locale(mask, locale)
 | 
			
		||||
 
 | 
			
		||||
@@ -589,7 +589,7 @@ std::string GetCurrentDir()
 | 
			
		||||
{
 | 
			
		||||
    char *dir;
 | 
			
		||||
    // Get the current working directory (getcwd uses malloc)
 | 
			
		||||
    if (!(dir = __getcwd(nullptr, 0))) {
 | 
			
		||||
    if (!(dir = getcwd(nullptr, 0))) {
 | 
			
		||||
 | 
			
		||||
        LOG_ERROR(Common_Filesystem, "GetCurrentDirectory failed: %s",
 | 
			
		||||
                GetLastErrorMsg());
 | 
			
		||||
@@ -603,7 +603,7 @@ std::string GetCurrentDir()
 | 
			
		||||
// Sets the current directory to the given directory
 | 
			
		||||
bool SetCurrentDir(const std::string &directory)
 | 
			
		||||
{
 | 
			
		||||
    return __chdir(directory.c_str()) == 0;
 | 
			
		||||
    return chdir(directory.c_str()) == 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#if defined(__APPLE__)
 | 
			
		||||
 
 | 
			
		||||
@@ -66,45 +66,5 @@
 | 
			
		||||
////////////////////////////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
// Compiler-Specific Definitions
 | 
			
		||||
 | 
			
		||||
#if EMU_PLATFORM == PLATFORM_WINDOWS
 | 
			
		||||
 | 
			
		||||
#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 // EMU_PLATFORM != PLATFORM_WINDOWS
 | 
			
		||||
 | 
			
		||||
#define EMU_FASTCALL __attribute__((fastcall))
 | 
			
		||||
#define __stdcall
 | 
			
		||||
#define __cdecl
 | 
			
		||||
 | 
			
		||||
#define BOOL bool
 | 
			
		||||
#define DWORD u32
 | 
			
		||||
 | 
			
		||||
// TODO: Hacks..
 | 
			
		||||
#include <limits.h>
 | 
			
		||||
 | 
			
		||||
#include <strings.h>
 | 
			
		||||
#define stricmp(str1, str2) strcasecmp(str1, str2)
 | 
			
		||||
#define _stricmp(str1, str2) strcasecmp(str1, str2)
 | 
			
		||||
#define _snprintf snprintf
 | 
			
		||||
#define _getcwd getcwd
 | 
			
		||||
#define _tzset tzset
 | 
			
		||||
 | 
			
		||||
typedef void EXCEPTION_POINTERS;
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define GCC_VERSION_AVAILABLE(major, minor) (defined(__GNUC__) &&  (__GNUC__ > (major) || \
 | 
			
		||||
    (__GNUC__ == (major) && __GNUC_MINOR__ >= (minor))))
 | 
			
		||||
 
 | 
			
		||||
@@ -7,7 +7,6 @@
 | 
			
		||||
#include "common/assert.h"
 | 
			
		||||
 | 
			
		||||
#if defined(_MSC_VER) && _MSC_VER <= 1800 // MSVC 2013.
 | 
			
		||||
#define NOMINMAX
 | 
			
		||||
#define WIN32_LEAN_AND_MEAN
 | 
			
		||||
#include <Windows.h> // For QueryPerformanceCounter/Frequency
 | 
			
		||||
#endif
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user