From 1d543429309c986c8a06f284d20a95e0cfb637df Mon Sep 17 00:00:00 2001 From: Ben Vanik Date: Fri, 11 Jul 2014 18:03:35 -0700 Subject: [PATCH] Starting to cleanup includes a bit. Still a mess. --- src/alloy/backend/x64/x64_emitter.cc | 2 +- src/alloy/backend/x64/x64_tracers.cc | 14 --- src/alloy/hir/value.cc | 2 +- src/alloy/hir/value.h | 2 +- src/alloy/runtime/debugger.h | 1 + src/alloy/runtime/entry_table.h | 1 + src/poly/config.h | 17 +++ src/poly/cxx_compat.h | 2 + src/poly/math.h | 59 ++++++---- src/poly/platform.h | 163 +++++++++++++++++++++++++++ src/poly/poly.h | 2 + src/poly/sources.gypi | 1 + src/poly/threading.h | 2 + src/poly/threading_win.cc | 4 +- src/xenia/assert.h | 1 - src/xenia/atomic.h | 3 +- src/xenia/byte_order.h | 2 + src/xenia/common.h | 1 - src/xenia/core/socket_win.cc | 3 +- src/xenia/gpu/resource_cache.h | 1 + src/xenia/kernel/fs/filesystem.h | 5 +- src/xenia/logging.h | 3 +- src/xenia/platform.h | 124 +------------------- src/xenia/platform_includes.h | 63 ----------- src/xenia/profiling.h | 1 - src/xenia/sources.gypi | 1 - src/xenia/string.h | 1 - src/xenia/types.h | 9 +- 28 files changed, 245 insertions(+), 245 deletions(-) create mode 100644 src/poly/config.h create mode 100644 src/poly/platform.h delete mode 100644 src/xenia/platform_includes.h diff --git a/src/alloy/backend/x64/x64_emitter.cc b/src/alloy/backend/x64/x64_emitter.cc index 797a03dd3..4b5383295 100644 --- a/src/alloy/backend/x64/x64_emitter.cc +++ b/src/alloy/backend/x64/x64_emitter.cc @@ -265,7 +265,7 @@ uint64_t ResolveFunctionSymbol(void* raw_context, uint64_t symbol_info_ptr) { // Overwrite the call site. // The return address points to ReloadRCX work after the call. -#if XE_WIN32_LIKE +#if XE_LIKE_WIN32 uint64_t return_address = reinterpret_cast(_ReturnAddress()); #else uint64_t return_address = diff --git a/src/alloy/backend/x64/x64_tracers.cc b/src/alloy/backend/x64/x64_tracers.cc index 4c4fdaabf..e47d1eda8 100644 --- a/src/alloy/backend/x64/x64_tracers.cc +++ b/src/alloy/backend/x64/x64_tracers.cc @@ -34,20 +34,6 @@ namespace x64 { DFLUSH(); \ if (thread_state->thread_id() == TARGET_THREAD) printf -// TODO(benvanik): properly pull out values. -typedef union __declspec(align(16)) { - __m128 m128; - float m128_f32[4]; - uint64_t m128_u64[2]; - int8_t m128_i8[16]; - int16_t m128_i16[8]; - int32_t m128_i32[4]; - int64_t m128_i64[2]; - uint8_t m128_u8[16]; - uint16_t m128_u16[8]; - uint32_t m128_u32[4]; -} __m128_x; - uint32_t GetTracingMode() { uint32_t mode = 0; #if ITRACE diff --git a/src/alloy/hir/value.cc b/src/alloy/hir/value.cc index 41c162080..a7b7bddef 100644 --- a/src/alloy/hir/value.cc +++ b/src/alloy/hir/value.cc @@ -136,7 +136,7 @@ void Value::SignExtend(TypeName target_type) { return; } default: - XEASSERTUNHANDLEDCASE(); + XEASSERTUNHANDLEDCASE(type); return; } } diff --git a/src/alloy/hir/value.h b/src/alloy/hir/value.h index eb87a983f..bd4e37acf 100644 --- a/src/alloy/hir/value.h +++ b/src/alloy/hir/value.h @@ -49,7 +49,7 @@ static size_t GetTypeSize(TypeName type_name) { return 16; default: XEASSERTUNHANDLEDCASE(type_name); - break; + return 0; } } diff --git a/src/alloy/runtime/debugger.h b/src/alloy/runtime/debugger.h index 40eb93d04..d9b97a8a9 100644 --- a/src/alloy/runtime/debugger.h +++ b/src/alloy/runtime/debugger.h @@ -12,6 +12,7 @@ #include #include +#include #include diff --git a/src/alloy/runtime/entry_table.h b/src/alloy/runtime/entry_table.h index 206d36c15..0470c7b27 100644 --- a/src/alloy/runtime/entry_table.h +++ b/src/alloy/runtime/entry_table.h @@ -11,6 +11,7 @@ #define ALLOY_RUNTIME_ENTRY_TABLE_H_ #include +#include #include diff --git a/src/poly/config.h b/src/poly/config.h new file mode 100644 index 000000000..dead1d518 --- /dev/null +++ b/src/poly/config.h @@ -0,0 +1,17 @@ +/** + ****************************************************************************** + * Xenia : Xbox 360 Emulator Research Project * + ****************************************************************************** + * Copyright 2014 Ben Vanik. All rights reserved. * + * Released under the BSD license - see LICENSE in the root for more details. * + ****************************************************************************** + */ + +#ifndef POLY_CONFIG_H_ +#define POLY_CONFIG_H_ + +#if defined(DEBUG) || defined(_DEBUG) +#define XE_DEBUG 1 +#endif // DEBUG + +#endif // POLY_CONFIG_H_ diff --git a/src/poly/cxx_compat.h b/src/poly/cxx_compat.h index 88d647aa5..f0ac6d8fb 100644 --- a/src/poly/cxx_compat.h +++ b/src/poly/cxx_compat.h @@ -10,6 +10,8 @@ #ifndef POLY_POLY_CXX_COMPAT_H_ #define POLY_POLY_CXX_COMPAT_H_ +#include + // C++11 thread local storage. // http://en.cppreference.com/w/cpp/language/storage_duration #if XE_COMPILER_MSVC diff --git a/src/poly/math.h b/src/poly/math.h index d332191b5..5fcce51fd 100644 --- a/src/poly/math.h +++ b/src/poly/math.h @@ -15,6 +15,9 @@ #include #include +#include +#include + namespace poly { // lzcnt instruction, typed for integers of all sizes. @@ -22,48 +25,48 @@ namespace poly { // return value is the size of the input operand (8, 16, 32, or 64). If the most // significant bit of value is one, the return value is zero. #if XE_COMPILER_MSVC -uint8_t lzcnt(uint8_t v) { return static_cast(__lzcnt16(v) - 8); } -uint8_t lzcnt(uint16_t v) { return static_cast(__lzcnt16(v)); } -uint8_t lzcnt(uint32_t v) { return static_cast(__lzcnt(v)); } -uint8_t lzcnt(uint64_t v) { return static_cast(__lzcnt64(v)); } +inline uint8_t lzcnt(uint8_t v) { return static_cast(__lzcnt16(v) - 8); } +inline uint8_t lzcnt(uint16_t v) { return static_cast(__lzcnt16(v)); } +inline uint8_t lzcnt(uint32_t v) { return static_cast(__lzcnt(v)); } +inline uint8_t lzcnt(uint64_t v) { return static_cast(__lzcnt64(v)); } #else -uint8_t lzcnt(uint8_t v) { return static_cast(__builtin_clzs(v) - 8); } -uint8_t lzcnt(uint16_t v) { return static_cast(__builtin_clzs(v)); } -uint8_t lzcnt(uint32_t v) { return static_cast(__builtin_clz(v)); } -uint8_t lzcnt(uint64_t v) { return static_cast(__builtin_clzll(v)); } +inline uint8_t lzcnt(uint8_t v) { return static_cast(__builtin_clzs(v) - 8); } +inline uint8_t lzcnt(uint16_t v) { return static_cast(__builtin_clzs(v)); } +inline uint8_t lzcnt(uint32_t v) { return static_cast(__builtin_clz(v)); } +inline uint8_t lzcnt(uint64_t v) { return static_cast(__builtin_clzll(v)); } #endif // XE_COMPILER_MSVC -uint8_t lzcnt(int8_t v) { return lzcnt(static_cast(v)); } -uint8_t lzcnt(int16_t v) { return lzcnt(static_cast(v)); } -uint8_t lzcnt(int32_t v) { return lzcnt(static_cast(v)); } -uint8_t lzcnt(int64_t v) { return lzcnt(static_cast(v)); } +inline uint8_t lzcnt(int8_t v) { return lzcnt(static_cast(v)); } +inline uint8_t lzcnt(int16_t v) { return lzcnt(static_cast(v)); } +inline uint8_t lzcnt(int32_t v) { return lzcnt(static_cast(v)); } +inline uint8_t lzcnt(int64_t v) { return lzcnt(static_cast(v)); } // BitScanForward (bsf). // Search the value from least significant bit (LSB) to the most significant bit // (MSB) for a set bit (1). // Returns false if no bits are set and the output index is invalid. #if XE_COMPILER_MSVC -bool bit_scan_forward(uint32_t v, uint32_t* out_first_set_index) { - return _BitScanForward(out_first_set_index, v) != 0; +inline bool bit_scan_forward(uint32_t v, uint32_t* out_first_set_index) { + return _BitScanForward(reinterpret_cast(out_first_set_index), v) != 0; } -bool bit_scan_forward(uint64_t v, uint32_t* out_first_set_index) { - return _BitScanForward64(out_first_set_index, v) != 0; +inline bool bit_scan_forward(uint64_t v, uint32_t* out_first_set_index) { + return _BitScanForward64(reinterpret_cast(out_first_set_index), v) != 0; } #else -bool bit_scan_forward(uint32_t v, uint32_t* out_first_set_index) { +inline bool bit_scan_forward(uint32_t v, uint32_t* out_first_set_index) { int i = ffs(v); *out_first_set_index = i; return i != 0; } -bool bit_scan_forward(uint64_t v, uint32_t* out_first_set_index) { +inline bool bit_scan_forward(uint64_t v, uint32_t* out_first_set_index) { int i = ffsll(v); *out_first_set_index = i; return i != 0; } #endif // XE_COMPILER_MSVC -bool bit_scan_forward(int32_t v, uint32_t* out_first_set_index) { +inline bool bit_scan_forward(int32_t v, uint32_t* out_first_set_index) { return bit_scan_forward(static_cast(v), out_first_set_index); } -bool bit_scan_forward(int64_t v, uint32_t* out_first_set_index) { +inline bool bit_scan_forward(int64_t v, uint32_t* out_first_set_index) { return bit_scan_forward(static_cast(v), out_first_set_index); } @@ -84,20 +87,28 @@ int32_t m128_i32(const __m128& v) { return ret.i; } template -double m128_f64(const __m128& v) { +double m128_f64(const __m128d& v) { double ret; - _mm_store_sd(&ret, _mm_shuffle_ps(v, v, _MM_SHUFFLE(N, N, N, N))); + _mm_store_sd(&ret, _mm_shuffle_pd(v, v, _MM_SHUFFLE2(N, N))); return ret; } template -int64_t m128_i64(const __m128& v) { +double m128_f64(const __m128& v) { + return m128_f64(_mm_castps_pd(v)); +} +template +int64_t m128_i64(const __m128d& v) { union { double f; int64_t i; } ret; - _mm_store_sd(&ret.f, _mm_shuffle_ps(v, v, _MM_SHUFFLE(N, N, N, N))); + _mm_store_sd(&ret.f, _mm_shuffle_pd(v, v, _MM_SHUFFLE2(N, N))); return ret.i; } +template +int64_t m128_i64(const __m128& v) { + return m128_i64(_mm_castps_pd(v)); +} } // namespace poly diff --git a/src/poly/platform.h b/src/poly/platform.h new file mode 100644 index 000000000..f5705e11b --- /dev/null +++ b/src/poly/platform.h @@ -0,0 +1,163 @@ +/** + ****************************************************************************** + * Xenia : Xbox 360 Emulator Research Project * + ****************************************************************************** + * Copyright 2014 Ben Vanik. All rights reserved. * + * Released under the BSD license - see LICENSE in the root for more details. * + ****************************************************************************** + */ + +#ifndef POLY_PLATFORM_H_ +#define POLY_PLATFORM_H_ + +// NOTE: ordering matters here as sometimes multiple flags are defined on +// certain platforms. + +// Great resource on predefined macros: http://predef.sourceforge.net/preos.html + +/* +XE_PLATFORM: IOS | OSX | XBOX360 | WINCE | WIN32 | ANDROID | NACL | UNIX +XE_LIKE: OSX | WIN32 | POSIX +XE_PROFILE: EMBEDDED | DESKTOP (+ _SIMULATOR) +XE_COMPILER: GNUC | MSVC | CLANG | INTEL | UNKNOWN +XE_CPU: 32BIT | 64BIT | BIGENDIAN | LITTLEENDIAN +*/ + +#if defined(__APPLE__) +#include +#endif + +#if (defined(TARGET_OS_EMBEDDED) && TARGET_OS_EMBEDDED ) || \ + (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE ) || \ + (defined(TARGET_IPHONE_SIMULATOR) && TARGET_IPHONE_SIMULATOR) + +#define XE_PLATFORM_IOS 1 +#define XE_LIKE_OSX 1 +#define XE_PROFILE_EMBEDDED 1 + +#if defined(TARGET_IPHONE_SIMULATOR) && TARGET_IPHONE_SIMULATOR +// EMBEDDED *and* SIMULATOR +#define XE_PROFILE_SIMULATOR 1 +#endif + +#elif defined(TARGET_OS_MAC) && TARGET_OS_MAC + +#define XE_PLATFORM_OSX 1 +#define XE_LIKE_OSX 1 +#define XE_PROFILE_DESKTOP 1 + +#elif defined(_XBOX) + +#define XE_PLATFORM_XBOX360 1 +#define XE_LIKE_WIN32 1 +#define XE_PROFILE_EMBEDDED 1 + +#elif defined(_WIN32_WCE) + +#define XE_PLATFORM_WINCE 1 +#define XE_LIKE_WIN32 1 +#define XE_PROFILE_EMBEDDED 1 + +#elif defined(__CYGWIN__) + +#define XE_PLATFORM_CYGWIN 1 +#define XE_LIKE_POSIX 1 +#define XE_PROFILE_DESKTOP 1 + +#elif defined(WIN32) || defined(_WIN32) + +#define XE_PLATFORM_WIN32 1 +#define XE_LIKE_WIN32 1 +#define XE_PROFILE_DESKTOP 1 + +#elif defined(ANDROID) + +#define XE_PLATFORM_ANDROID 1 +#define XE_LIKE_POSIX 1 +#define XE_PROFILE_EMBEDDED 1 + +#elif defined(__native_client__) + +#define XE_PLATFORM_NACL 1 +#define XE_LIKE_POSIX 1 +#define XE_PROFILE_DESKTOP 1 + +#else + +#define XE_PLATFORM_UNIX 1 +#define XE_LIKE_POSIX 1 +#define XE_PROFILE_DESKTOP 1 + +#endif + +#if defined(__clang__) +#define XE_COMPILER_CLANG 1 +#elif defined(__GNUC__) +#define XE_COMPILER_GNUC 1 +#elif defined(_MSC_VER) +#define XE_COMPILER_MSVC 1 +#elif defined(__MINGW32) +#define XE_COMPILER_MINGW32 1 +#elif defined(__INTEL_COMPILER) +#define XE_COMPILER_INTEL 1 +#else +#define XE_COMPILER_UNKNOWN 1 +#endif + +#if defined(__ia64__) || defined(_M_IA64) || \ + defined(__ppc64__) || defined(__PPC64__) || \ + defined(__arch64__) || \ + defined(__x86_64__) || defined(_M_X64) || defined(_M_AMD64) || \ + defined(__LP64__) || defined(__LLP64) || \ + defined(_WIN64) || \ + (__WORDSIZE == 64) +#define XE_CPU_64BIT 1 +#else +#define XE_CPU_32BIT 1 +#endif // [64bit flags] + +#if defined(__ppc__) || defined(__PPC__) || defined(__powerpc__) || defined(__powerpc) || defined(__POWERPC__) || defined(_M_PPC) || defined(__PPC) || \ + defined(__ppc64__) || defined(__PPC64__) || \ + defined(__ARMEB__) || defined(__THUMBEB__) || \ + defined(__AARCH64EB__) || \ + defined(__BIG_ENDIAN) || defined(__BIG_ENDIAN__) +#define XE_CPU_BIGENDIAN 1 +#else +#define XE_CPU_LITTLEENDIAN 1 +#endif // [big endian flags] + +#if XE_CPU_32BIT +#define XE_ALIGNMENT 8 +#else +#define XE_ALIGNMENT 16 +#endif // 32BIT + +#if XE_PLATFORM_WINCE || XE_PLATFORM_WIN32 +#ifndef WIN32_LEAN_AND_MEAN +#define WIN32_LEAN_AND_MEAN +#endif +#include +#include +#include +#undef min +#undef max +#undef Yield +#endif // WINCE || WIN32 + +#if XE_PLATFORM_XBOX360 +#include +#include +#endif // XBOX360 + +#if XE_COMPILER_MSVC +// Disable warning C4068: unknown pragma +#pragma warning(disable : 4068) +#endif // MSVC + +#if XE_COMPILER_MSVC +#include +#else +#include +#endif // MSVC + +#endif // POLY_PLATFORM_H_ diff --git a/src/poly/poly.h b/src/poly/poly.h index aab80b5e1..6c70dedd7 100644 --- a/src/poly/poly.h +++ b/src/poly/poly.h @@ -10,8 +10,10 @@ #ifndef POLY_POLY_H_ #define POLY_POLY_H_ +#include #include #include +#include #include namespace poly {} // namespace poly diff --git a/src/poly/sources.gypi b/src/poly/sources.gypi index 2a6f55017..dcf5478f5 100644 --- a/src/poly/sources.gypi +++ b/src/poly/sources.gypi @@ -1,6 +1,7 @@ # Copyright 2014 Ben Vanik. All Rights Reserved. { 'sources': [ + 'config.h', 'cxx_compat.h', 'math.h', 'poly-private.h', diff --git a/src/poly/threading.h b/src/poly/threading.h index 06e21c9c8..6fb792b2d 100644 --- a/src/poly/threading.h +++ b/src/poly/threading.h @@ -13,6 +13,8 @@ #include #include +#include + namespace poly { namespace threading { diff --git a/src/poly/threading_win.cc b/src/poly/threading_win.cc index 7b2b8be3d..b95a6c455 100644 --- a/src/poly/threading_win.cc +++ b/src/poly/threading_win.cc @@ -9,6 +9,8 @@ #include +#include + namespace poly { namespace threading { @@ -22,7 +24,7 @@ void Sleep(std::chrono::microseconds duration) { if (duration.count() < 100) { SwitchToThread(); } else { - Sleep(duration.count() / 1000); + ::Sleep(static_cast(duration.count() / 1000)); } } diff --git a/src/xenia/assert.h b/src/xenia/assert.h index 05803a62a..4f765bbd8 100644 --- a/src/xenia/assert.h +++ b/src/xenia/assert.h @@ -15,7 +15,6 @@ #include #include #include -#include #include #include diff --git a/src/xenia/atomic.h b/src/xenia/atomic.h index ae483495c..10403280d 100644 --- a/src/xenia/atomic.h +++ b/src/xenia/atomic.h @@ -10,8 +10,9 @@ #ifndef XENIA_ATOMIC_H_ #define XENIA_ATOMIC_H_ +#include + #include -#include // These functions are modeled off of the Apple OSAtomic routines diff --git a/src/xenia/byte_order.h b/src/xenia/byte_order.h index 310ea9466..0bdedd717 100644 --- a/src/xenia/byte_order.h +++ b/src/xenia/byte_order.h @@ -10,6 +10,8 @@ #ifndef XENIA_BYTE_ORDER_H_ #define XENIA_BYTE_ORDER_H_ +#include + #include #include diff --git a/src/xenia/common.h b/src/xenia/common.h index 68d9d2eb7..0e8cac0a2 100644 --- a/src/xenia/common.h +++ b/src/xenia/common.h @@ -17,7 +17,6 @@ #include #include #include -#include #include #include #include diff --git a/src/xenia/core/socket_win.cc b/src/xenia/core/socket_win.cc index 3d999c710..1f2eba015 100644 --- a/src/xenia/core/socket_win.cc +++ b/src/xenia/core/socket_win.cc @@ -9,9 +9,10 @@ #include +#include +#include #include #include -#include // TODO(benvanik): win32 calls diff --git a/src/xenia/gpu/resource_cache.h b/src/xenia/gpu/resource_cache.h index be95f0861..968fdc40b 100644 --- a/src/xenia/gpu/resource_cache.h +++ b/src/xenia/gpu/resource_cache.h @@ -11,6 +11,7 @@ #define XENIA_GPU_RESOURCE_CACHE_H_ #include +#include #include #include diff --git a/src/xenia/kernel/fs/filesystem.h b/src/xenia/kernel/fs/filesystem.h index 94b9d787f..b252d5e61 100644 --- a/src/xenia/kernel/fs/filesystem.h +++ b/src/xenia/kernel/fs/filesystem.h @@ -10,11 +10,12 @@ #ifndef XENIA_KERNEL_FS_FILESYSTEM_H_ #define XENIA_KERNEL_FS_FILESYSTEM_H_ +#include +#include + #include #include -#include - #include diff --git a/src/xenia/logging.h b/src/xenia/logging.h index e6496c158..9c5579f9a 100644 --- a/src/xenia/logging.h +++ b/src/xenia/logging.h @@ -10,8 +10,9 @@ #ifndef XENIA_LOGGING_H_ #define XENIA_LOGGING_H_ +#include + #include -#include #include #include diff --git a/src/xenia/platform.h b/src/xenia/platform.h index 976216172..060b992e5 100644 --- a/src/xenia/platform.h +++ b/src/xenia/platform.h @@ -10,129 +10,7 @@ #ifndef XENIA_PLATFORM_H_ #define XENIA_PLATFORM_H_ -// NOTE: ordering matters here as sometimes multiple flags are defined on -// certain platforms. - -// Great resource on predefined macros: http://predef.sourceforge.net/preos.html - -/* -XE_PLATFORM: IOS | OSX | XBOX360 | WINCE | WIN32 | ANDROID | NACL | UNIX -XE_LIKE: OSX | WIN32 | POSIX -XE_PROFILE: EMBEDDED | DESKTOP (+ _SIMULATOR) -XE_COMPILER: GNUC | MSVC | INTEL | UNKNOWN -XE_CPU: 32BIT | 64BIT | BIGENDIAN | LITTLEENDIAN -*/ - - -#if defined(__APPLE__) -#include -#endif - -#if (defined(TARGET_OS_EMBEDDED) && TARGET_OS_EMBEDDED ) || \ - (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE ) || \ - (defined(TARGET_IPHONE_SIMULATOR) && TARGET_IPHONE_SIMULATOR) - -#define XE_PLATFORM_IOS 1 -#define XE_LIKE_OSX 1 -#define XE_PROFILE_EMBEDDED 1 - -#if defined(TARGET_IPHONE_SIMULATOR) && TARGET_IPHONE_SIMULATOR -// EMBEDDED *and* SIMULATOR -#define XE_PROFILE_SIMULATOR 1 -#endif - -#elif defined(TARGET_OS_MAC) && TARGET_OS_MAC - -#define XE_PLATFORM_OSX 1 -#define XE_LIKE_OSX 1 -#define XE_PROFILE_DESKTOP 1 - -#elif defined(_XBOX) - -#define XE_PLATFORM_XBOX360 1 -#define XE_LIKE_WIN32 1 -#define XE_PROFILE_EMBEDDED 1 - -#elif defined(_WIN32_WCE) - -#define XE_PLATFORM_WINCE 1 -#define XE_LIKE_WIN32 1 -#define XE_PROFILE_EMBEDDED 1 - -#elif defined(__CYGWIN__) - -#define XE_PLATFORM_CYGWIN 1 -#define XE_LIKE_POSIX 1 -#define XE_PROFILE_DESKTOP 1 - -#elif defined(WIN32) || defined(_WIN32) - -#define XE_PLATFORM_WIN32 1 -#define XE_LIKE_WIN32 1 -#define XE_PROFILE_DESKTOP 1 - -#elif defined(ANDROID) - -#define XE_PLATFORM_ANDROID 1 -#define XE_LIKE_POSIX 1 -#define XE_PROFILE_EMBEDDED 1 - -#elif defined(__native_client__) - -#define XE_PLATFORM_NACL 1 -#define XE_LIKE_POSIX 1 -#define XE_PROFILE_DESKTOP 1 - -#else - -#define XE_PLATFORM_UNIX 1 -#define XE_LIKE_POSIX 1 -#define XE_PROFILE_DESKTOP 1 - -#endif - -#if defined(__GNUC__) -#define XE_COMPILER_GNUC 1 -#elif defined(_MSC_VER) -#define XE_COMPILER_MSVC 1 -#elif defined(__MINGW32) -#define XE_COMPILER_MINGW32 1 -#elif defined(__INTEL_COMPILER) -#define XE_COMPILER_INTEL 1 -#else -#define XE_COMPILER_UNKNOWN 1 -#endif - -#if defined(__ia64__) || defined(_M_IA64) || \ - defined(__ppc64__) || defined(__PPC64__) || \ - defined(__arch64__) || \ - defined(__x86_64__) || defined(_M_X64) || defined(_M_AMD64) || \ - defined(__LP64__) || defined(__LLP64) || \ - defined(_WIN64) || \ - (__WORDSIZE == 64) -#define XE_CPU_64BIT 1 -#else -#define XE_CPU_32BIT 1 -#endif // [64bit flags] - -#if defined(__ppc__) || defined(__PPC__) || defined(__powerpc__) || defined(__powerpc) || defined(__POWERPC__) || defined(_M_PPC) || defined(__PPC) || \ - defined(__ppc64__) || defined(__PPC64__) || \ - defined(__ARMEB__) || \ - defined(__BIG_ENDIAN) || defined(__BIG_ENDIAN__) -#define XE_CPU_BIGENDIAN 1 -#else -#define XE_CPU_LITTLEENDIAN 1 -#endif // [big endian flags] - -#if defined(DEBUG) || defined(_DEBUG) -#define XE_DEBUG 1 -#endif // DEBUG - -#if XE_CPU_32BIT -#define XE_ALIGNMENT 8 -#else -#define XE_ALIGNMENT 16 -#endif // 32BIT +#include bool xe_has_console(); #if XE_LIKE_WIN32 && defined(UNICODE) && UNICODE diff --git a/src/xenia/platform_includes.h b/src/xenia/platform_includes.h deleted file mode 100644 index 6aaf86811..000000000 --- a/src/xenia/platform_includes.h +++ /dev/null @@ -1,63 +0,0 @@ -/** - ****************************************************************************** - * Xenia : Xbox 360 Emulator Research Project * - ****************************************************************************** - * Copyright 2013 Ben Vanik. All rights reserved. * - * Released under the BSD license - see LICENSE in the root for more details. * - ****************************************************************************** - */ - -#ifndef XENIA_PLATFORM_INCLUDES_H_ -#define XENIA_PLATFORM_INCLUDES_H_ - -#include - - -#if XE_PLATFORM_WINCE || XE_PLATFORM_WIN32 -#ifndef WIN32_LEAN_AND_MEAN -#define WIN32_LEAN_AND_MEAN -#endif -#include -#include -#include -#undef min -#undef max -#endif // WINCE || WIN32 - -#if XE_PLATFORM_XBOX360 -#include -#include -#endif // XBOX360 - -#if XE_COMPILER_MSVC -// Disable warning C4068: unknown pragma -#pragma warning(disable : 4068) -#endif // MSVC - -#if XE_LIKE_POSIX -#include -#include -#endif // POSIX - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include - - -#endif // XENIA_PLATFORM_INCLUDES_H_ diff --git a/src/xenia/profiling.h b/src/xenia/profiling.h index 30ab996ac..4577dbb8f 100644 --- a/src/xenia/profiling.h +++ b/src/xenia/profiling.h @@ -14,7 +14,6 @@ #include #include -#include #include #include diff --git a/src/xenia/sources.gypi b/src/xenia/sources.gypi index 9de67ac78..4fdccb166 100644 --- a/src/xenia/sources.gypi +++ b/src/xenia/sources.gypi @@ -17,7 +17,6 @@ 'malloc.h', 'platform.cc', 'platform.h', - 'platform_includes.h', 'profiling.cc', 'profiling.h', 'string.cc', diff --git a/src/xenia/string.h b/src/xenia/string.h index e833118ef..6008d3073 100644 --- a/src/xenia/string.h +++ b/src/xenia/string.h @@ -11,7 +11,6 @@ #define XENIA_STRING_H_ #include -#include // NOTE: these differing implementations should behave pretty much the same. diff --git a/src/xenia/types.h b/src/xenia/types.h index 4cd3f5daf..78a60de8c 100644 --- a/src/xenia/types.h +++ b/src/xenia/types.h @@ -10,14 +10,9 @@ #ifndef XENIA_TYPES_H_ #define XENIA_TYPES_H_ -#include -#include +#include -namespace xe { -// TODO(benvanik): support other compilers/etc -using std::auto_ptr; -using std::shared_ptr; -} // namespace xe +#include #define XE_EMPTY_MACRO do { } while(0)