Бранимир Караџић 1 年之前
父节点
当前提交
03fe74eafb
共有 10 个文件被更改,包括 44 次插入39 次删除
  1. 7 24
      include/bx/platform.h
  2. 23 1
      src/crtnone.cpp
  3. 1 1
      src/debug.cpp
  4. 1 1
      src/file.cpp
  5. 5 7
      src/filepath.cpp
  6. 1 1
      src/mutex.cpp
  7. 1 1
      src/thread.cpp
  8. 1 1
      src/timer.cpp
  9. 1 0
      tests/macros_test.cpp
  10. 3 2
      tests/run_test.cpp

+ 7 - 24
include/bx/platform.h

@@ -30,7 +30,6 @@
 
 
 // C Runtime
 // C Runtime
 #define BX_CRT_BIONIC 0
 #define BX_CRT_BIONIC 0
-#define BX_CRT_BSD    0
 #define BX_CRT_GLIBC  0
 #define BX_CRT_GLIBC  0
 #define BX_CRT_LIBCXX 0
 #define BX_CRT_LIBCXX 0
 #define BX_CRT_MINGW  0
 #define BX_CRT_MINGW  0
@@ -236,33 +235,19 @@
 #	if defined(__BIONIC__)
 #	if defined(__BIONIC__)
 #		undef  BX_CRT_BIONIC
 #		undef  BX_CRT_BIONIC
 #		define BX_CRT_BIONIC 1
 #		define BX_CRT_BIONIC 1
-#	elif defined(_MSC_VER)
-#		undef  BX_CRT_MSVC
-#		define BX_CRT_MSVC 1
 #	elif defined(__GLIBC__)
 #	elif defined(__GLIBC__)
 #		undef  BX_CRT_GLIBC
 #		undef  BX_CRT_GLIBC
 #		define BX_CRT_GLIBC (__GLIBC__ * 10000 + __GLIBC_MINOR__ * 100)
 #		define BX_CRT_GLIBC (__GLIBC__ * 10000 + __GLIBC_MINOR__ * 100)
-#	elif defined(__MINGW32__) || defined(__MINGW64__)
-#		undef  BX_CRT_MINGW
-#		define BX_CRT_MINGW 1
 #	elif defined(__apple_build_version__) || defined(__ORBIS__) || defined(__EMSCRIPTEN__) || defined(__llvm__) || defined(__HAIKU__)
 #	elif defined(__apple_build_version__) || defined(__ORBIS__) || defined(__EMSCRIPTEN__) || defined(__llvm__) || defined(__HAIKU__)
 #		undef  BX_CRT_LIBCXX
 #		undef  BX_CRT_LIBCXX
 #		define BX_CRT_LIBCXX 1
 #		define BX_CRT_LIBCXX 1
-#	elif BX_PLATFORM_BSD
-#		undef  BX_CRT_BSD
-#		define BX_CRT_BSD 1
+#	elif defined(__MINGW32__) || defined(__MINGW64__)
+#		undef  BX_CRT_MINGW
+#		define BX_CRT_MINGW 1
+#	elif defined(_MSC_VER)
+#		undef  BX_CRT_MSVC
+#		define BX_CRT_MSVC 1
 #	endif //
 #	endif //
-
-#	if !BX_CRT_BIONIC \
-	&& !BX_CRT_BSD    \
-	&& !BX_CRT_GLIBC  \
-	&& !BX_CRT_LIBCXX \
-	&& !BX_CRT_MINGW  \
-	&& !BX_CRT_MSVC   \
-	&& !BX_CRT_NEWLIB
-#		undef  BX_CRT_NONE
-#		define BX_CRT_NONE 1
-#	endif // BX_CRT_*
 #endif // !BX_CRT_NONE
 #endif // !BX_CRT_NONE
 
 
 ///
 ///
@@ -428,8 +413,6 @@
 
 
 #if BX_CRT_BIONIC
 #if BX_CRT_BIONIC
 #	define BX_CRT_NAME "Bionic libc"
 #	define BX_CRT_NAME "Bionic libc"
-#elif BX_CRT_BSD
-#	define BX_CRT_NAME "BSD libc"
 #elif BX_CRT_GLIBC
 #elif BX_CRT_GLIBC
 #	define BX_CRT_NAME "GNU C Library"
 #	define BX_CRT_NAME "GNU C Library"
 #elif BX_CRT_MSVC
 #elif BX_CRT_MSVC
@@ -443,7 +426,7 @@
 #elif BX_CRT_NONE
 #elif BX_CRT_NONE
 #	define BX_CRT_NAME "None"
 #	define BX_CRT_NAME "None"
 #else
 #else
-#	error "Unknown BX_CRT!"
+#	define BX_CRT_NAME "Unknown CRT"
 #endif // BX_CRT_
 #endif // BX_CRT_
 
 
 #if BX_ARCH_32BIT
 #if BX_ARCH_32BIT

+ 23 - 1
src/crtnone.cpp

@@ -11,7 +11,7 @@
 
 
 #if BX_CRT_NONE
 #if BX_CRT_NONE
 
 
-#include "crt0.h"
+#include <bx/crt0.h>
 
 
 #define NOT_IMPLEMENTED() \
 #define NOT_IMPLEMENTED() \
 	{ bx::debugPrintf("crtnone: %s not implemented\n", BX_FUNCTION); abort(); }
 	{ bx::debugPrintf("crtnone: %s not implemented\n", BX_FUNCTION); abort(); }
@@ -511,6 +511,18 @@ extern "C" int prctl(int _option, unsigned long _arg2, unsigned long _arg3, unsi
 	return -1;
 	return -1;
 }
 }
 
 
+extern "C" int getpid()
+{
+	return crt0::processGetId();
+}
+
+extern "C" ssize_t readlink(const char* _pathName, char* _buffer, size_t _bufferSize)
+{
+	BX_UNUSED(_pathName, _buffer, _bufferSize);
+	NOT_IMPLEMENTED();
+	return 0;
+}
+
 extern "C" int chdir(const char* _path)
 extern "C" int chdir(const char* _path)
 {
 {
 	BX_UNUSED(_path);
 	BX_UNUSED(_path);
@@ -635,6 +647,16 @@ void operator delete(void*, size_t)
 {
 {
 }
 }
 
 
+extern "C" void* __cxa_begin_catch(void* _unwindArg)
+{
+	BX_UNUSED(_unwindArg);
+	return NULL;
+}
+
+extern "C" void __cxa_end_catch()
+{
+}
+
 extern "C" void __cxa_pure_virtual(void)
 extern "C" void __cxa_pure_virtual(void)
 {
 {
 }
 }

+ 1 - 1
src/debug.cpp

@@ -9,7 +9,7 @@
 #include <inttypes.h>        // PRIx*
 #include <inttypes.h>        // PRIx*
 
 
 #if BX_CRT_NONE
 #if BX_CRT_NONE
-#	include "crt0.h"
+#	include <bx/crt0.h>
 #elif BX_PLATFORM_ANDROID
 #elif BX_PLATFORM_ANDROID
 #	include <android/log.h>
 #	include <android/log.h>
 #elif  BX_PLATFORM_WINDOWS \
 #elif  BX_PLATFORM_WINDOWS \

+ 1 - 1
src/file.cpp

@@ -14,7 +14,7 @@
 #endif // BX_CONFIG_CRT_DIRECTORY_READER
 #endif // BX_CONFIG_CRT_DIRECTORY_READER
 
 
 #if BX_CRT_NONE
 #if BX_CRT_NONE
-#	include "crt0.h"
+#	include <bx/crt0.h>
 #else
 #else
 #	if BX_CONFIG_CRT_DIRECTORY_READER
 #	if BX_CONFIG_CRT_DIRECTORY_READER
 #		include <dirent.h>
 #		include <dirent.h>

+ 5 - 7
src/filepath.cpp

@@ -7,13 +7,11 @@
 #include <bx/os.h>
 #include <bx/os.h>
 #include <bx/readerwriter.h>
 #include <bx/readerwriter.h>
 
 
-#if !BX_CRT_NONE
-#	if BX_CRT_MSVC
-#		include <direct.h>   // _getcwd
-#	else
-#		include <unistd.h>   // getcwd
-#	endif // BX_CRT_MSVC
-#endif // !BX_CRT_NONE
+#if BX_CRT_MSVC
+#	include <direct.h>   // _getcwd
+#else
+#	include <unistd.h>   // getcwd
+#endif // BX_CRT_MSVC
 
 
 #if BX_PLATFORM_WINDOWS
 #if BX_PLATFORM_WINDOWS
 #if !defined(GetModuleFileName)
 #if !defined(GetModuleFileName)

+ 1 - 1
src/mutex.cpp

@@ -9,7 +9,7 @@
 
 
 #if BX_CRT_NONE
 #if BX_CRT_NONE
 #	include <bx/cpu.h>
 #	include <bx/cpu.h>
-#	include "crt0.h"
+#	include <bx/crt0.h>
 #elif  BX_PLATFORM_ANDROID \
 #elif  BX_PLATFORM_ANDROID \
 	|| BX_PLATFORM_LINUX   \
 	|| BX_PLATFORM_LINUX   \
 	|| BX_PLATFORM_IOS     \
 	|| BX_PLATFORM_IOS     \

+ 1 - 1
src/thread.cpp

@@ -13,7 +13,7 @@
 #endif
 #endif
 
 
 #if BX_CRT_NONE
 #if BX_CRT_NONE
-#	include "crt0.h"
+#	include <bx/crt0.h>
 #elif  BX_PLATFORM_ANDROID \
 #elif  BX_PLATFORM_ANDROID \
 	|| BX_PLATFORM_LINUX   \
 	|| BX_PLATFORM_LINUX   \
 	|| BX_PLATFORM_IOS     \
 	|| BX_PLATFORM_IOS     \

+ 1 - 1
src/timer.cpp

@@ -6,7 +6,7 @@
 #include <bx/timer.h>
 #include <bx/timer.h>
 
 
 #if BX_CRT_NONE
 #if BX_CRT_NONE
-#	include "crt0.h"
+#	include <bx/crt0.h>
 #elif BX_PLATFORM_ANDROID
 #elif BX_PLATFORM_ANDROID
 #	include <time.h> // clock, clock_gettime
 #	include <time.h> // clock, clock_gettime
 #elif BX_PLATFORM_EMSCRIPTEN
 #elif BX_PLATFORM_EMSCRIPTEN

+ 1 - 0
tests/macros_test.cpp

@@ -14,6 +14,7 @@ BX_STATIC_ASSERT(false
 	|| BX_CRT_MINGW
 	|| BX_CRT_MINGW
 	|| BX_CRT_MSVC
 	|| BX_CRT_MSVC
 	|| BX_CRT_NEWLIB
 	|| BX_CRT_NEWLIB
+	|| BX_CRT_NONE
 	);
 	);
 
 
 BX_STATIC_ASSERT(1 == BX_VA_ARGS_COUNT(1) );
 BX_STATIC_ASSERT(1 == BX_VA_ARGS_COUNT(1) );

+ 3 - 2
tests/run_test.cpp

@@ -26,12 +26,13 @@ int runAllTests(int _argc, const char* _argv[])
 
 
 	DBG("Compiler: " BX_COMPILER_NAME
 	DBG("Compiler: " BX_COMPILER_NAME
 		", CPU: " BX_CPU_NAME
 		", CPU: " BX_CPU_NAME
-		", Architecture: " BX_ARCH_NAME
+		", Arch: " BX_ARCH_NAME
 		", OS: " BX_PLATFORM_NAME
 		", OS: " BX_PLATFORM_NAME
 		", CRT: " BX_CRT_NAME
 		", CRT: " BX_CRT_NAME
+		", C++: " BX_CPP_NAME
+
 		", Date: " __DATE__
 		", Date: " __DATE__
 		", Time: " __TIME__
 		", Time: " __TIME__
-		", C++: " BX_CPP_NAME
 		);
 		);
 
 
 	using namespace Catch;
 	using namespace Catch;