mirror of
https://github.com/RetroDECK/Duckstation.git
synced 2025-02-18 20:05:39 +00:00
62 lines
1.1 KiB
C
62 lines
1.1 KiB
C
#pragma once
|
|
|
|
#if defined(_MSC_VER)
|
|
|
|
#if defined(_M_X64)
|
|
#define CPU_X64 1
|
|
#elif defined(_M_IX86)
|
|
#define CPU_X86 1
|
|
#elif defined(_M_ARM64)
|
|
#define CPU_AARCH64 1
|
|
#elif defined(_M_ARM)
|
|
#define CPU_AARCH32 1
|
|
#else
|
|
#error Unknown architecture.
|
|
#endif
|
|
|
|
#elif defined(__GNUC__) || defined(__clang__)
|
|
|
|
#if defined(__x86_64__)
|
|
#define CPU_X64 1
|
|
#elif defined(__i386__)
|
|
#define CPU_X86 1
|
|
#elif defined(__aarch64__)
|
|
#define CPU_AARCH64 1
|
|
#elif defined(__arm__)
|
|
#define CPU_AARCH32 1
|
|
#else
|
|
#error Unknown architecture.
|
|
#endif
|
|
|
|
#else
|
|
|
|
#error Unknown compiler.
|
|
|
|
#endif
|
|
|
|
#if defined(CPU_X64)
|
|
#define CPU_ARCH_STR "x64"
|
|
#elif defined(CPU_X86)
|
|
#define CPU_ARCH_STR "x86"
|
|
#elif defined(CPU_AARCH32)
|
|
#define CPU_ARCH_STR "AArch32"
|
|
#elif defined(CPU_AARCH64)
|
|
#define CPU_ARCH_STR "AArch64"
|
|
#else
|
|
#define CPU_ARCH_STR "Unknown"
|
|
#endif
|
|
|
|
#if defined(_WIN32)
|
|
#define SYSTEM_STR "Windows"
|
|
#elif defined(__ANDROID__)
|
|
#define SYSTEM_STR "Android"
|
|
#elif defined(__linux__)
|
|
#define SYSTEM_STR "Linux"
|
|
#elif defined(__FreeBSD__)
|
|
#define SYSTEM_STR "FreeBSD"
|
|
#elif defined(__APPLE__)
|
|
#define SYSTEM_STR "macOS"
|
|
#else
|
|
#define SYSTEM_STR "Unknown"
|
|
#endif
|