diff options
Diffstat (limited to '3rdparty/bx/scripts')
-rw-r--r-- | 3rdparty/bx/scripts/bin2c.lua | 5 | ||||
-rw-r--r-- | 3rdparty/bx/scripts/bx.lua | 22 | ||||
-rw-r--r-- | 3rdparty/bx/scripts/genie.lua | 32 | ||||
-rw-r--r-- | 3rdparty/bx/scripts/toolchain.lua | 212 |
4 files changed, 67 insertions, 204 deletions
diff --git a/3rdparty/bx/scripts/bin2c.lua b/3rdparty/bx/scripts/bin2c.lua index daa7b099498..0b1acdcefcb 100644 --- a/3rdparty/bx/scripts/bin2c.lua +++ b/3rdparty/bx/scripts/bin2c.lua @@ -27,6 +27,11 @@ project "bin2c" "pthread", } + configuration { "vs20* or mingw*" } + links { + "psapi", + } + configuration {} strip() diff --git a/3rdparty/bx/scripts/bx.lua b/3rdparty/bx/scripts/bx.lua index a84eec43b75..0f2f3ef0596 100644 --- a/3rdparty/bx/scripts/bx.lua +++ b/3rdparty/bx/scripts/bx.lua @@ -8,6 +8,7 @@ project "bx" includedirs { path.join(BX_DIR, "include"), + path.join(BX_DIR, "3rdparty"), } files { @@ -16,6 +17,11 @@ project "bx" path.join(BX_DIR, "src/**.cpp"), } + configuration { "Debug" } + defines { + "BX_CONFIG_DEBUG=1", + } + configuration { "linux-*" } buildoptions { "-fPIC", @@ -25,19 +31,27 @@ project "bx" if _OPTIONS["with-amalgamated"] then excludes { + path.join(BX_DIR, "src/allocator.cpp"), + path.join(BX_DIR, "src/bx.cpp"), path.join(BX_DIR, "src/commandline.cpp"), - path.join(BX_DIR, "src/crt.cpp"), - path.join(BX_DIR, "src/crtimpl.cpp"), + path.join(BX_DIR, "src/crtnone.cpp"), path.join(BX_DIR, "src/debug.cpp"), path.join(BX_DIR, "src/dtoa.cpp"), - path.join(BX_DIR, "src/fpumath.cpp"), + path.join(BX_DIR, "src/easing.cpp"), + path.join(BX_DIR, "src/file.cpp"), + path.join(BX_DIR, "src/filepath.cpp"), + path.join(BX_DIR, "src/hash.cpp"), + path.join(BX_DIR, "src/math.cpp"), path.join(BX_DIR, "src/mutex.cpp"), path.join(BX_DIR, "src/os.cpp"), - path.join(BX_DIR, "src/sem.cpp"), + path.join(BX_DIR, "src/process.cpp"), + path.join(BX_DIR, "src/semaphore.cpp"), + path.join(BX_DIR, "src/settings.cpp"), path.join(BX_DIR, "src/sort.cpp"), path.join(BX_DIR, "src/string.cpp"), path.join(BX_DIR, "src/thread.cpp"), path.join(BX_DIR, "src/timer.cpp"), + path.join(BX_DIR, "src/url.cpp"), } else excludes { diff --git a/3rdparty/bx/scripts/genie.lua b/3rdparty/bx/scripts/genie.lua index 9919b8c6181..aab0a8a5620 100644 --- a/3rdparty/bx/scripts/genie.lua +++ b/3rdparty/bx/scripts/genie.lua @@ -28,8 +28,8 @@ solution "bx" language "C++" BX_DIR = path.getabsolute("..") -local BX_BUILD_DIR = path.join(BX_DIR, ".build") -local BX_THIRD_PARTY_DIR = path.join(BX_DIR, "3rdparty") +BX_BUILD_DIR = path.join(BX_DIR, ".build") +BX_THIRD_PARTY_DIR = path.join(BX_DIR, "3rdparty") dofile "toolchain.lua" toolchain(BX_BUILD_DIR, BX_THIRD_PARTY_DIR) @@ -75,20 +75,6 @@ project "bx.test" "-shared", } - configuration { "nacl or nacl-arm" } - targetextension ".nexe" - links { - "ppapi", - "pthread", - } - - configuration { "pnacl" } - targetextension ".pexe" - links { - "ppapi", - "pthread", - } - configuration { "linux-*" } links { "pthread", @@ -134,20 +120,6 @@ project "bx.bench" "-shared", } - configuration { "nacl or nacl-arm" } - targetextension ".nexe" - links { - "ppapi", - "pthread", - } - - configuration { "pnacl" } - targetextension ".pexe" - links { - "ppapi", - "pthread", - } - configuration { "linux-*" } links { "pthread", diff --git a/3rdparty/bx/scripts/toolchain.lua b/3rdparty/bx/scripts/toolchain.lua index 0152ce79c32..076b8fbac60 100644 --- a/3rdparty/bx/scripts/toolchain.lua +++ b/3rdparty/bx/scripts/toolchain.lua @@ -4,7 +4,6 @@ -- local bxDir = path.getabsolute("..") -local naclToolchain = "" local function crtNone() @@ -69,11 +68,8 @@ function toolchain(_buildDir, _libDir) { "tvos-simulator", "tvOS - Simulator" }, { "mingw-gcc", "MinGW" }, { "mingw-clang", "MinGW (clang compiler)" }, - { "nacl", "Native Client" }, - { "nacl-arm", "Native Client - ARM" }, { "netbsd", "NetBSD" }, { "osx", "OSX" }, - { "pnacl", "Native Client - PNaCl" }, { "orbis", "Orbis" }, { "qnx-arm", "QNX/Blackberry - ARM" }, { "riscv", "RISC-V" }, @@ -135,7 +131,7 @@ function toolchain(_buildDir, _libDir) newoption { trigger = "with-windows", value = "#", - description = "Set the Windows target platform version (default: 10.0.10240.0).", + description = "Set the Windows target platform version (default: $WindowsSDKVersion or 8.1).", } newoption { @@ -179,7 +175,7 @@ function toolchain(_buildDir, _libDir) tvosPlatform = _OPTIONS["with-tvos"] end - local windowsPlatform = "10.0.10240.0" + local windowsPlatform = string.gsub(os.getenv("WindowsSDKVersion") or "8.1", "\\", "") if _OPTIONS["with-windows"] then windowsPlatform = _OPTIONS["with-windows"] end @@ -205,7 +201,7 @@ function toolchain(_buildDir, _libDir) if not os.getenv("ANDROID_NDK_ARM") or not os.getenv("ANDROID_NDK_CLANG") or not os.getenv("ANDROID_NDK_ROOT") then - print("Set ANDROID_NDK_CLANG, ANDROID_NDK_ARM, and ANDROID_NDK_ROOT envrionment variables.") + print("Set ANDROID_NDK_CLANG, ANDROID_NDK_ARM, and ANDROID_NDK_ROOT environment variables.") end premake.gcc.cc = "$(ANDROID_NDK_CLANG)/bin/clang" @@ -220,7 +216,7 @@ function toolchain(_buildDir, _libDir) if not os.getenv("ANDROID_NDK_MIPS") or not os.getenv("ANDROID_NDK_CLANG") or not os.getenv("ANDROID_NDK_ROOT") then - print("Set ANDROID_NDK_CLANG, ANDROID_NDK_ARM, and ANDROID_NDK_ROOT envrionment variables.") + print("Set ANDROID_NDK_CLANG, ANDROID_NDK_ARM, and ANDROID_NDK_ROOT environment variables.") end premake.gcc.cc = "$(ANDROID_NDK_CLANG)/bin/clang" @@ -233,7 +229,7 @@ function toolchain(_buildDir, _libDir) if not os.getenv("ANDROID_NDK_X86") or not os.getenv("ANDROID_NDK_CLANG") or not os.getenv("ANDROID_NDK_ROOT") then - print("Set ANDROID_NDK_CLANG, ANDROID_NDK_ARM, and ANDROID_NDK_ROOT envrionment variables.") + print("Set ANDROID_NDK_CLANG, ANDROID_NDK_ARM, and ANDROID_NDK_ROOT environment variables.") end premake.gcc.cc = "$(ANDROID_NDK_CLANG)/bin/clang" @@ -244,7 +240,7 @@ function toolchain(_buildDir, _libDir) elseif "asmjs" == _OPTIONS["gcc"] then if not os.getenv("EMSCRIPTEN") then - print("Set EMSCRIPTEN enviroment variable.") + print("Set EMSCRIPTEN environment variable.") end premake.gcc.cc = "\"$(EMSCRIPTEN)/emcc\"" @@ -316,7 +312,7 @@ function toolchain(_buildDir, _libDir) elseif "linux-steamlink" == _OPTIONS["gcc"] then if not os.getenv("MARVELL_SDK_PATH") then - print("Set MARVELL_SDK_PATH enviroment variable.") + print("Set MARVELL_SDK_PATH environment variable.") end premake.gcc.cc = "$(MARVELL_SDK_PATH)/toolchain/bin/armv7a-cros-linux-gnueabi-gcc" @@ -325,6 +321,10 @@ function toolchain(_buildDir, _libDir) location (path.join(_buildDir, "projects", _ACTION .. "-linux-steamlink")) elseif "mingw-gcc" == _OPTIONS["gcc"] then + if not os.getenv("MINGW") then + print("Set MINGW environment variable.") + end + local mingwToolchain = "x86_64-w64-mingw32" if compiler32bit then if os.is("linux") then @@ -347,42 +347,6 @@ function toolchain(_buildDir, _libDir) -- premake.gcc.llvm = true location (path.join(_buildDir, "projects", _ACTION .. "-mingw-clang")) - elseif "nacl" == _OPTIONS["gcc"] then - - if not os.getenv("NACL_SDK_ROOT") then - print("Set NACL_SDK_ROOT enviroment variable.") - end - - naclToolchain = "$(NACL_SDK_ROOT)/toolchain/win_x86_glibc/bin/x86_64-nacl-" - if os.is("macosx") then - naclToolchain = "$(NACL_SDK_ROOT)/toolchain/mac_x86_glibc/bin/x86_64-nacl-" - elseif os.is("linux") then - naclToolchain = "$(NACL_SDK_ROOT)/toolchain/linux_x86_glibc/bin/x86_64-nacl-" - end - - premake.gcc.cc = naclToolchain .. "gcc" - premake.gcc.cxx = naclToolchain .. "g++" - premake.gcc.ar = naclToolchain .. "ar" - location (path.join(_buildDir, "projects", _ACTION .. "-nacl")) - - elseif "nacl-arm" == _OPTIONS["gcc"] then - - if not os.getenv("NACL_SDK_ROOT") then - print("Set NACL_SDK_ROOT enviroment variable.") - end - - naclToolchain = "$(NACL_SDK_ROOT)/toolchain/win_arm_glibc/bin/arm-nacl-" - if os.is("macosx") then - naclToolchain = "$(NACL_SDK_ROOT)/toolchain/mac_arm_glibc/bin/arm-nacl-" - elseif os.is("linux") then - naclToolchain = "$(NACL_SDK_ROOT)/toolchain/linux_arm_glibc/bin/arm-nacl-" - end - - premake.gcc.cc = naclToolchain .. "gcc" - premake.gcc.cxx = naclToolchain .. "g++" - premake.gcc.ar = naclToolchain .. "ar" - location (path.join(_buildDir, "projects", _ACTION .. "-nacl-arm")) - elseif "netbsd" == _OPTIONS["gcc"] then location (path.join(_buildDir, "projects", _ACTION .. "-netbsd")) @@ -390,7 +354,7 @@ function toolchain(_buildDir, _libDir) if os.is("linux") then if not os.getenv("OSXCROSS") then - print("Set OSXCROSS enviroment variable.") + print("Set OSXCROSS environment variable.") end local osxToolchain = "x86_64-apple-darwin15-" @@ -400,28 +364,10 @@ function toolchain(_buildDir, _libDir) end location (path.join(_buildDir, "projects", _ACTION .. "-osx")) - elseif "pnacl" == _OPTIONS["gcc"] then - - if not os.getenv("NACL_SDK_ROOT") then - print("Set NACL_SDK_ROOT enviroment variable.") - end - - naclToolchain = "$(NACL_SDK_ROOT)/toolchain/win_pnacl/bin/pnacl-" - if os.is("macosx") then - naclToolchain = "$(NACL_SDK_ROOT)/toolchain/mac_pnacl/bin/pnacl-" - elseif os.is("linux") then - naclToolchain = "$(NACL_SDK_ROOT)/toolchain/linux_pnacl/bin/pnacl-" - end - - premake.gcc.cc = naclToolchain .. "clang" - premake.gcc.cxx = naclToolchain .. "clang++" - premake.gcc.ar = naclToolchain .. "ar" - location (path.join(_buildDir, "projects", _ACTION .. "-pnacl")) - elseif "orbis" == _OPTIONS["gcc"] then if not os.getenv("SCE_ORBIS_SDK_DIR") then - print("Set SCE_ORBIS_SDK_DIR enviroment variable.") + print("Set SCE_ORBIS_SDK_DIR environment variable.") end orbisToolchain = "$(SCE_ORBIS_SDK_DIR)/host_tools/bin/orbis-" @@ -434,7 +380,7 @@ function toolchain(_buildDir, _libDir) elseif "qnx-arm" == _OPTIONS["gcc"] then if not os.getenv("QNX_HOST") then - print("Set QNX_HOST enviroment variable.") + print("Set QNX_HOST environment variable.") end premake.gcc.cc = "$(QNX_HOST)/usr/bin/arm-unknown-nto-qnx8.0.0eabi-gcc" @@ -458,6 +404,10 @@ function toolchain(_buildDir, _libDir) or _ACTION == "vs2017" then + local action = premake.action.current() + action.vstudio.windowsTargetPlatformVersion = windowsPlatform + action.vstudio.windowsTargetPlatformMinVersion = windowsPlatform + if (_ACTION .. "-clang") == _OPTIONS["vs"] then if "vs2017-clang" == _OPTIONS["vs"] then premake.vstudio.toolset = "v141_clang_c2" @@ -488,10 +438,6 @@ function toolchain(_buildDir, _libDir) premake.vstudio.toolset = "v140" premake.vstudio.storeapp = "8.2" - local action = premake.action.current() - action.vstudio.windowsTargetPlatformVersion = windowsPlatform - action.vstudio.windowsTargetPlatformMinVersion = windowsPlatform - platforms { "ARM" } location (path.join(_buildDir, "projects", _ACTION .. "-winstore82")) @@ -507,14 +453,12 @@ function toolchain(_buildDir, _libDir) elseif "orbis" == _OPTIONS["vs"] then if not os.getenv("SCE_ORBIS_SDK_DIR") then - print("Set SCE_ORBIS_SDK_DIR enviroment variable.") + print("Set SCE_ORBIS_SDK_DIR environment variable.") end platforms { "Orbis" } location (path.join(_buildDir, "projects", _ACTION .. "-orbis")) - end - elseif ("vs2012-xp") == _OPTIONS["vs"] then premake.vstudio.toolset = ("v110_xp") location (path.join(_buildDir, "projects", _ACTION .. "-xp")) @@ -531,6 +475,8 @@ function toolchain(_buildDir, _libDir) premake.vstudio.toolset = ("v141_xp") location (path.join(_buildDir, "projects", _ACTION .. "-xp")) + end + elseif _ACTION == "xcode4" then if "osx" == _OPTIONS["xcode"] then @@ -601,7 +547,7 @@ function toolchain(_buildDir, _libDir) "EnableSSE2", } - configuration { "vs*", "not orbis" } + configuration { "vs*", "not orbis", "not NX32", "not NX64" } includedirs { path.join(bxDir, "include/compat/msvc") } defines { "WIN32", @@ -777,8 +723,16 @@ function toolchain(_buildDir, _libDir) configuration { "linux-gcc* or linux-clang*" } buildoptions { "-msse2", +-- "-Wdouble-promotion", +-- "-Wduplicated-branches", +-- "-Wduplicated-cond", +-- "-Wjump-misses-init", + "-Wlogical-op", + "-Wshadow", +-- "-Wnull-dereference", "-Wunused-value", "-Wundef", +-- "-Wuseless-cast", } buildoptions_cpp { "-std=c++11", @@ -1022,10 +976,14 @@ function toolchain(_buildDir, _libDir) libdirs { path.join(_libDir, "lib/asmjs") } buildoptions { "-i\"system$(EMSCRIPTEN)/system/include\"", + "-i\"system$(EMSCRIPTEN)/system/include/libcxx\"", "-i\"system$(EMSCRIPTEN)/system/include/libc\"", "-Wunused-value", "-Wundef", } + buildoptions_cpp { + "-std=c++11", + } configuration { "freebsd" } targetdir (path.join(_buildDir, "freebsd/bin")) @@ -1035,83 +993,6 @@ function toolchain(_buildDir, _libDir) path.join(bxDir, "include/compat/freebsd"), } - configuration { "nacl or nacl-arm or pnacl" } - buildoptions { - "-U__STRICT_ANSI__", -- strcasecmp, setenv, unsetenv,... - "-fno-stack-protector", - "-fdiagnostics-show-option", - "-fdata-sections", - "-ffunction-sections", - "-Wunused-value", - "-Wundef", - } - buildoptions_cpp { - "-std=c++11", - } - includedirs { - "$(NACL_SDK_ROOT)/include", - path.join(bxDir, "include/compat/nacl"), - } - - configuration { "nacl" } - buildoptions { - "-pthread", - "-mfpmath=sse", -- force SSE to get 32-bit and 64-bit builds deterministic. - "-msse2", - } - linkoptions { - "-Wl,--gc-sections", - } - - configuration { "x32", "nacl" } - targetdir (path.join(_buildDir, "nacl-x86/bin")) - objdir (path.join(_buildDir, "nacl-x86/obj")) - libdirs { path.join(_libDir, "lib/nacl-x86") } - linkoptions { "-melf32_nacl" } - - configuration { "x32", "nacl", "Debug" } - libdirs { "$(NACL_SDK_ROOT)/lib/glibc_x86_32/Debug" } - - configuration { "x32", "nacl", "Release" } - libdirs { "$(NACL_SDK_ROOT)/lib/glibc_x86_32/Release" } - - configuration { "x64", "nacl" } - targetdir (path.join(_buildDir, "nacl-x64/bin")) - objdir (path.join(_buildDir, "nacl-x64/obj")) - libdirs { path.join(_libDir, "lib/nacl-x64") } - linkoptions { "-melf64_nacl" } - - configuration { "x64", "nacl", "Debug" } - libdirs { "$(NACL_SDK_ROOT)/lib/glibc_x86_64/Debug" } - - configuration { "x64", "nacl", "Release" } - libdirs { "$(NACL_SDK_ROOT)/lib/glibc_x86_64/Release" } - - configuration { "nacl-arm" } - buildoptions { - "-Wno-psabi", -- note: the mangling of 'va_list' has changed in GCC 4.4.0 - } - targetdir (path.join(_buildDir, "nacl-arm/bin")) - objdir (path.join(_buildDir, "nacl-arm/obj")) - libdirs { path.join(_libDir, "lib/nacl-arm") } - - configuration { "nacl-arm", "Debug" } - libdirs { "$(NACL_SDK_ROOT)/lib/glibc_arm/Debug" } - - configuration { "nacl-arm", "Release" } - libdirs { "$(NACL_SDK_ROOT)/lib/glibc_arm/Release" } - - configuration { "pnacl" } - targetdir (path.join(_buildDir, "pnacl/bin")) - objdir (path.join(_buildDir, "pnacl/obj")) - libdirs { path.join(_libDir, "lib/pnacl") } - - configuration { "pnacl", "Debug" } - libdirs { "$(NACL_SDK_ROOT)/lib/pnacl/Debug" } - - configuration { "pnacl", "Release" } - libdirs { "$(NACL_SDK_ROOT)/lib/pnacl/Release" } - configuration { "xbox360" } targetdir (path.join(_buildDir, "xbox360/bin")) objdir (path.join(_buildDir, "xbox360/obj")) @@ -1163,6 +1044,9 @@ function toolchain(_buildDir, _libDir) buildoptions_cpp { "-std=c++11", } + buildoptions_objcpp { + "-std=c++11", + } buildoptions { "-Wfatal-errors", "-msse2", @@ -1178,6 +1062,9 @@ function toolchain(_buildDir, _libDir) buildoptions_cpp { "-std=c++11", } + buildoptions_objcpp { + "-std=c++11", + } buildoptions { "-Wfatal-errors", "-Wunused-value", @@ -1302,13 +1189,9 @@ function toolchain(_buildDir, _libDir) "$(SCE_ORBIS_SDK_DIR)/target/include", "$(SCE_ORBIS_SDK_DIR)/target/include_common", } - buildoptions { - } buildoptions_cpp { "-std=c++11", } - linkoptions { - } configuration { "qnx-arm" } targetdir (path.join(_buildDir, "qnx-arm/bin")) @@ -1418,18 +1301,6 @@ function strip() "$(SILENT) $(MINGW)/bin/strip -s \"$(TARGET)\"" } - configuration { "pnacl" } - postbuildcommands { - "$(SILENT) echo Running pnacl-finalize.", - "$(SILENT) " .. naclToolchain .. "finalize \"$(TARGET)\"" - } - - configuration { "*nacl*", "Release" } - postbuildcommands { - "$(SILENT) echo Stripping symbols.", - "$(SILENT) " .. naclToolchain .. "strip -s \"$(TARGET)\"" - } - configuration { "asmjs" } postbuildcommands { "$(SILENT) echo Running asmjs finalize.", @@ -1441,7 +1312,8 @@ function strip() -- .. "-s USE_WEBGL2=1 " .. "--memory-init-file 1 " .. "\"$(TARGET)\" -o \"$(TARGET)\".html " --- .. "--preload-file ../../../examples/runtime@/" +-- .. "--preload-file ../../../examples/runtime@/ " + .. "-s PRECISE_F32=1" } configuration { "riscv" } |