diff --git a/include/bx/config.h b/include/bx/config.h index 3837193..6b8cfe4 100644 --- a/include/bx/config.h +++ b/include/bx/config.h @@ -30,6 +30,7 @@ || BX_PLATFORM_OSX \ || BX_PLATFORM_QNX \ || BX_PLATFORM_RPI \ + || BX_PLATFORM_STEAMLINK \ || BX_PLATFORM_WINDOWS \ || BX_PLATFORM_WINRT \ ? 1 : 0) diff --git a/include/bx/os.h b/include/bx/os.h index 50fca7f..074ec0e 100644 --- a/include/bx/os.h +++ b/include/bx/os.h @@ -20,16 +20,17 @@ || BX_PLATFORM_NACL \ || BX_PLATFORM_OSX \ || BX_PLATFORM_PS4 \ - || BX_PLATFORM_RPI - + || BX_PLATFORM_RPI \ + || BX_PLATFORM_STEAMLINK # include // sched_yield # if BX_PLATFORM_BSD \ || BX_PLATFORM_IOS \ || BX_PLATFORM_NACL \ || BX_PLATFORM_OSX \ - || BX_PLATFORM_PS4 + || BX_PLATFORM_PS4 \ + || BX_PLATFORM_STEAMLINK # include // mach_port_t -# endif // BX_PLATFORM_IOS || BX_PLATFORM_OSX || BX_PLATFORM_NACL +# endif // BX_PLATFORM_* # if BX_PLATFORM_NACL # include // nanosleep @@ -42,7 +43,9 @@ # if BX_PLATFORM_ANDROID # include // mallinfo -# elif BX_PLATFORM_LINUX || BX_PLATFORM_RPI +# elif BX_PLATFORM_LINUX \ + || BX_PLATFORM_RPI \ + || BX_PLATFORM_STEAMLINK # include // syscall # include # elif BX_PLATFORM_OSX @@ -99,7 +102,7 @@ namespace bx { #if BX_PLATFORM_WINDOWS return ::GetCurrentThreadId(); -#elif BX_PLATFORM_LINUX || BX_PLATFORM_RPI +#elif BX_PLATFORM_LINUX || BX_PLATFORM_RPI || BX_PLATFORM_STEAMLINK return (pid_t)::syscall(SYS_gettid); #elif BX_PLATFORM_IOS || BX_PLATFORM_OSX return (mach_port_t)::pthread_mach_thread_np(pthread_self() ); diff --git a/include/bx/platform.h b/include/bx/platform.h index c41ae0d..51cca15 100644 --- a/include/bx/platform.h +++ b/include/bx/platform.h @@ -22,6 +22,7 @@ #define BX_PLATFORM_PS4 0 #define BX_PLATFORM_QNX 0 #define BX_PLATFORM_RPI 0 +#define BX_PLATFORM_STEAMLINK 0 #define BX_PLATFORM_WINDOWS 0 #define BX_PLATFORM_WINRT 0 #define BX_PLATFORM_XBOX360 0 @@ -152,20 +153,24 @@ # undef BX_PLATFORM_WINRT # define BX_PLATFORM_WINRT 1 # endif -#elif defined(__VCCOREVER__) -// RaspberryPi compiler defines __linux__ -# undef BX_PLATFORM_RPI -# define BX_PLATFORM_RPI 1 -#elif defined(__native_client__) -// NaCl compiler defines __linux__ -# include -# undef BX_PLATFORM_NACL -# define BX_PLATFORM_NACL PPAPI_RELEASE #elif defined(__ANDROID__) // Android compiler defines __linux__ # include # undef BX_PLATFORM_ANDROID # define BX_PLATFORM_ANDROID __ANDROID_API__ +#elif defined(__native_client__) +// NaCl compiler defines __linux__ +# include +# undef BX_PLATFORM_NACL +# define BX_PLATFORM_NACL PPAPI_RELEASE +#elif defined(__STEAMLINK__) +// SteamLink compiler defines __linux__ +# undef BX_PLATFORM_STEAMLINK +# define BX_PLATFORM_STEAMLINK 1 +#elif defined(__VCCOREVER__) +// RaspberryPi compiler defines __linux__ +# undef BX_PLATFORM_RPI +# define BX_PLATFORM_RPI 1 #elif defined(__linux__) # undef BX_PLATFORM_LINUX # define BX_PLATFORM_LINUX 1 @@ -204,6 +209,7 @@ || BX_PLATFORM_NACL \ || BX_PLATFORM_OSX \ || BX_PLATFORM_QNX \ + || BX_PLATFORM_STEAMLINK \ || BX_PLATFORM_PS4 \ || BX_PLATFORM_RPI \ ) @@ -263,6 +269,8 @@ # define BX_PLATFORM_NAME "QNX" #elif BX_PLATFORM_RPI # define BX_PLATFORM_NAME "RaspberryPi" +#elif BX_PLATFORM_STEAMLINK +# define BX_PLATFORM_NAME "SteamLink" #elif BX_PLATFORM_WINDOWS # define BX_PLATFORM_NAME "Windows" #elif BX_PLATFORM_WINRT diff --git a/scripts/toolchain.lua b/scripts/toolchain.lua index 95373b9..e9f523a 100755 --- a/scripts/toolchain.lua +++ b/scripts/toolchain.lua @@ -702,6 +702,9 @@ function toolchain(_buildDir, _libDir) objdir (path.join(_buildDir, "steamlink/obj")) libdirs { path.join(_libDir, "lib/steamlink") } includedirs { path.join(bxDir, "include/compat/linux") } + defines { + "__STEAMLINK__=1", -- There is no special prefedined compiler symbol to detect SteamLink, faking it. + } buildoptions { "-std=c++0x", "-Wfatal-errors",