Browse Source

Add all platforms for glslang and spirv-tools (and update) (#1888)

* Add all platforms for glslang and spirv-tools

* Update xmake.lua

* Update glslang and spirv-tools

* Update spirv-headers

* Update xmake.lua

* Update xmake.lua

* Update xmake.lua
Jérôme Leclercq 2 years ago
parent
commit
2a618c3228
3 changed files with 24 additions and 14 deletions
  1. 10 2
      packages/g/glslang/xmake.lua
  2. 3 2
      packages/s/spirv-headers/xmake.lua
  3. 11 10
      packages/s/spirv-tools/xmake.lua

+ 10 - 2
packages/g/glslang/xmake.lua

@@ -1,5 +1,4 @@
 package("glslang")
-
     set_homepage("https://github.com/KhronosGroup/glslang/")
     set_description("Khronos-reference front end for GLSL/ESSL, partial front end for HLSL, and a SPIR-V generator.")
     set_license("Apache-2.0")
@@ -10,10 +9,15 @@ package("glslang")
     add_versions("1.2.189+1", "2fb89a0072ae7316af1c856f22663fde4928128a")
     add_versions("1.3.211+0", "9bb8cfffb0eed010e07132282c41d73064a7a609")
     add_versions("1.3.231+1", "5755de46b07e4374c05fb1081f65f7ae1f8cca81")
+    add_versions("1.3.236+0", "77551c429f86c0e077f26552b7c1c0f12a9f235e")
+    add_versions("1.3.239+0", "ca8d07d0bc1c6390b83915700439fa7719de6a2a")
 
     add_configs("binaryonly", {description = "Only use binary program.", default = false, type = "boolean"})
     add_configs("exceptions", {description = "Build with exception support.", default = false, type = "boolean"})
     add_configs("rtti",       {description = "Build with RTTI support.", default = false, type = "boolean"})
+    if is_plat("wasm") then
+        add_configs("shared", {description = "Build shared library.", default = false, type = "boolean", readonly = true})
+    end
 
     add_deps("cmake", "python 3.x", {kind = "binary"})
     add_deps("spirv-tools")
@@ -33,7 +37,7 @@ package("glslang")
         end
     end)
 
-    on_install("linux", "windows", "macosx", "mingw", function (package)
+    on_install(function (package)
         package:addenv("PATH", "bin")
         io.replace("CMakeLists.txt", "ENABLE_OPT OFF", "ENABLE_OPT ON")
         io.replace("StandAlone/CMakeLists.txt", "target_link_libraries(glslangValidator ${LIBRARIES})", [[
@@ -42,6 +46,10 @@ package("glslang")
         io.replace("SPIRV/CMakeLists.txt", "target_link_libraries(SPIRV PRIVATE MachineIndependent SPIRV-Tools-opt)", [[
             target_link_libraries(SPIRV PRIVATE MachineIndependent SPIRV-Tools-opt SPIRV-Tools-link SPIRV-Tools-reduce SPIRV-Tools)
         ]], {plain = true})
+        if package:is_plat("wasm") then
+            -- wasm-ld doesn't support --no-undefined
+            io.replace("CMakeLists.txt", [[add_link_options("-Wl,--no-undefined")]], "", {plain = true})
+        end
         local configs = {"-DENABLE_CTEST=OFF", "-DBUILD_EXTERNAL=OFF"}
         table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:debug() and "Debug" or "Release"))
         if package:is_plat("windows") then

+ 3 - 2
packages/s/spirv-headers/xmake.lua

@@ -1,14 +1,15 @@
 package("spirv-headers")
-
     set_kind("library", {headeronly = true})
     set_homepage("https://github.com/KhronosGroup/SPIRV-Headers/")
     set_description("SPIR-V Headers")
     set_license("MIT")
 
-    add_urls("https://github.com/KhronosGroup/SPIRV-Headers/archive/$(version).tar.gz", {version = function (version) return version:startswith("v") and version or "sdk-" .. version:gsub("%+", ".") end})
+    add_urls("https://github.com/KhronosGroup/SPIRV-Headers/archive/refs/tags/$(version).tar.gz", {version = function (version) return version:startswith("v") and version or "sdk-" .. version:gsub("%+", ".") end})
     add_versions("1.2.198+0", "3301a23aca0434336a643e433dcacacdd60000ab3dd35dc0078a297c06124a12")
     add_versions("1.3.211+0", "30a78e61bd812c75e09fdc7a319af206b1044536326bc3e85fea818376a12568")
     add_versions("1.3.231+1", "fc340700b005e9a2adc98475b5afbbabd1bc931f789a2afd02d54ebc22522af3")
+    add_versions("1.3.236+0", "4d74c685fdd74469eba7c224dd671a0cb27df45fc9aa43cdd90e53bd4f2b2b78")
+    add_versions("1.3.239+0", "fdaf6670e311cd1c08ae90bf813e89dd31630205bc60030ffd25fb0af39b51fe")
 
     add_deps("cmake")
     on_install(function (package)

+ 11 - 10
packages/s/spirv-tools/xmake.lua

@@ -1,18 +1,19 @@
 package("spirv-tools")
-
     set_homepage("https://github.com/KhronosGroup/SPIRV-Tools/")
     set_description("SPIR-V Tools")
     set_license("Apache-2.0")
 
-    add_urls("https://github.com/KhronosGroup/SPIRV-Tools/archive/v$(version).tar.gz")
-    add_versions("2020.5", "947ee994ba416380bd7ccc1c6377ac28a4802a55ca81ccc06796c28e84c00b71")
-    add_versions("2020.6", "de2392682df8def7ac666a2a320cd475751badf4790b01c7391b7644ecb550a3")
-    add_versions("2021.3", "b6b4194121ee8084c62b20f8d574c32f766e4e9237dfe60b0658b316d19c6b13")
-    add_versions("2021.4", "d68de260708dda785d109ff1ceeecde2d2ab71142fa5bf59061bb9f47dd3bb2c")
-    add_versions("2022.2", "909fc7e68049dca611ca2d57828883a86f503b0353ff78bc594eddc65eb882b9")
-    add_versions("2022.4", "a156215a2d7c6c5b267933ed691877a9a66f07d75970da33ce9ad627a71389d7")
+    add_urls("https://github.com/KhronosGroup/SPIRV-Tools/archive/$(version).tar.gz",
+             "https://github.com/KhronosGroup/SPIRV-Tools.git")
+    add_versions("v2020.5", "947ee994ba416380bd7ccc1c6377ac28a4802a55ca81ccc06796c28e84c00b71")
+    add_versions("v2020.6", "de2392682df8def7ac666a2a320cd475751badf4790b01c7391b7644ecb550a3")
+    add_versions("v2021.3", "b6b4194121ee8084c62b20f8d574c32f766e4e9237dfe60b0658b316d19c6b13")
+    add_versions("v2021.4", "d68de260708dda785d109ff1ceeecde2d2ab71142fa5bf59061bb9f47dd3bb2c")
+    add_versions("v2022.2", "909fc7e68049dca611ca2d57828883a86f503b0353ff78bc594eddc65eb882b9")
+    add_versions("v2022.4", "a156215a2d7c6c5b267933ed691877a9a66f07d75970da33ce9ad627a71389d7")
+    add_versions("v2023.1", "f3d8245aeb89f098c01dddaa566f9c0f2aab4a3d62a9020afaeb676b5e7e64d4")
 
-    add_patches("2020.5", "https://github.com/KhronosGroup/SPIRV-Tools/commit/a1d38174b1f7d2651c718ae661886d606cb50a32.patch", "2811faeef3ad53a83e409c8ef9879badcf9dc04fc3d98dbead7313514b819933")
+    add_patches("v2020.5", "https://github.com/KhronosGroup/SPIRV-Tools/commit/a1d38174b1f7d2651c718ae661886d606cb50a32.patch", "2811faeef3ad53a83e409c8ef9879badcf9dc04fc3d98dbead7313514b819933")
 
     add_deps("cmake", "spirv-headers")
     add_deps("python 3.x", {kind = "binary"})
@@ -40,7 +41,7 @@ package("spirv-tools")
         end
     end)
 
-    on_install("linux", "windows", "macosx", "mingw", function (package)
+    on_install(function (package)
         package:addenv("PATH", "bin")
         local configs = {"-DSPIRV_SKIP_TESTS=ON", "-DSPIRV_WERROR=OFF"}
         table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:debug() and "Debug" or "Release"))