1add_entrypoint_object(
2  call_once
3  SRCS
4    call_once.cpp
5  HDRS
6    ../call_once.h
7  DEPENDS
8    .threads_utils
9    libc.include.sys_syscall
10    libc.include.threads
11    libc.src.__support.CPP.atomic
12    libc.src.__support.OSUtil.osutil
13)
14
15add_header_library(
16  threads_utils
17  HDRS
18    CndVar.h
19    Futex.h
20  DEPENDS
21    libc.include.sys_syscall
22    libc.include.threads
23    libc.src.__support.CPP.atomic
24    libc.src.__support.OSUtil.osutil
25    libc.src.__support.threads.mutex
26    libc.src.__support.threads.linux.futex_word_type
27)
28
29add_entrypoint_object(
30  cnd_init
31  SRCS
32    cnd_init.cpp
33  HDRS
34    ../cnd_init.h
35  DEPENDS
36    .threads_utils
37    libc.include.threads
38)
39
40add_entrypoint_object(
41  cnd_destroy
42  SRCS
43    cnd_destroy.cpp
44  HDRS
45    ../cnd_destroy.h
46  DEPENDS
47    .threads_utils
48    libc.include.threads
49)
50
51add_entrypoint_object(
52  cnd_wait
53  SRCS
54    cnd_wait.cpp
55  HDRS
56    ../cnd_wait.h
57  DEPENDS
58    .threads_utils
59    libc.include.threads
60    libc.src.__support.threads.mutex
61)
62
63add_entrypoint_object(
64  cnd_signal
65  SRCS
66    cnd_signal.cpp
67  HDRS
68    ../cnd_signal.h
69  DEPENDS
70    .threads_utils
71    libc.include.threads
72)
73
74add_entrypoint_object(
75  cnd_broadcast
76  SRCS
77    cnd_broadcast.cpp
78  HDRS
79    ../cnd_broadcast.h
80  DEPENDS
81    .threads_utils
82    libc.include.threads
83)
84