replacing std thread by tinycthread

This commit is contained in:
2025-02-26 13:26:40 +01:00
parent 8898ef98c4
commit 6029695155
3 changed files with 27 additions and 1 deletions

View File

@@ -4,7 +4,7 @@
#include "PulseInternal.h"
#include <threads.h>
#include <tinycthread.h>
PulseThreadID PulseGetThreadID()
{

21
Xmake/packages/t/tinycthread/xmake.lua git.filemode.normal_file
View File

@@ -0,0 +1,21 @@
package("tiny-c-thread")
set_homepage("https://github.com/tinycthread/tinycthread")
set_description("A small, portable implementation of the C11 threads API.")
set_license("MIT")
add_urls("https://github.com/tinycthread/tinycthread.git")
on_install(function (package)
io.writefile("xmake.lua", [[
add_rules("mode.debug", "mode.release")
target("tiny-c-thread")
set_kind("static")
add_files("source/*.c")
add_headerfiles("source/*.h")
]])
import("package.tools.xmake").install(package)
end)
on_test(function (package)
assert(package:has_ctypes("thrd_t", {configs = {languages = "c11"}, includes = "tinycthread.h"}))
end)

View File

@@ -2,6 +2,8 @@
-- This file is part of "Pulse"
-- For conditions of distribution and use, see copyright notice in LICENSE
add_repositories("local-repo Xmake")
local backends = {
Vulkan = {
option = "vulkan",
@@ -72,6 +74,8 @@ if is_plat("wasm") then
backends.Vulkan = nil
end
add_requires("tiny-c-thread")
for name, module in pairs(backends) do
if has_config(module.option) then
if module.packages then
@@ -85,6 +89,7 @@ target("pulse_gpu")
add_defines("PULSE_BUILD")
add_headerfiles("Sources/*.h", { prefixdir = "private", install = false })
add_headerfiles("Sources/*.inl", { prefixdir = "private", install = false })
add_packages("tiny-c-thread")
add_files("Sources/*.c")