blob: f8a44937721b49b5b2d38dab08f958670681dff9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
|
add_header_library(
mutex_common
HDRS
mutex_common.h
)
add_header_library(
sleep
HDRS
sleep.h
)
add_header_library(
spin_lock
HDRS
spin_lock.h
DEPENDS
.sleep
libc.src.__support.CPP.atomic
)
if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${LIBC_TARGET_OS})
add_subdirectory(${LIBC_TARGET_OS})
endif()
if(TARGET libc.src.__support.threads.${LIBC_TARGET_OS}.mutex)
add_header_library(
mutex
HDRS
mutex.h
DEPENDS
.${LIBC_TARGET_OS}.mutex
)
add_object_library(
fork_callbacks
SRCS
fork_callbacks.cpp
HDRS
fork_callbacks.h
DEPENDS
.mutex
libc.src.__support.CPP.mutex
)
elseif(NOT (LIBC_CONF_THREAD_MODE STREQUAL LIBC_THREAD_MODE_PLATFORM))
add_header_library(
mutex
HDRS
mutex.h
DEPENDS
.mutex_common
)
endif()
add_header_library(
thread_common
HDRS
thread.h
DEPENDS
libc.hdr.stdint_proxy
libc.src.__support.common
libc.src.__support.CPP.atomic
libc.src.__support.CPP.optional
libc.src.__support.CPP.string_view
libc.src.__support.CPP.stringstream
)
if(TARGET libc.src.__support.threads.${LIBC_TARGET_OS}.thread)
add_object_library(
thread
SRCS
thread.cpp
DEPENDS
.mutex
.${LIBC_TARGET_OS}.thread
libc.hdr.stdint_proxy
libc.src.__support.common
libc.src.__support.fixedvector
libc.src.__support.CPP.array
libc.src.__support.CPP.mutex
libc.src.__support.CPP.optional
)
endif()
if(TARGET libc.src.__support.threads.${LIBC_TARGET_OS}.callonce)
add_object_library(
callonce
ALIAS
DEPENDS
.${LIBC_TARGET_OS}.callonce
)
endif()
if(TARGET libc.src.__support.threads.${LIBC_TARGET_OS}.CndVar)
add_object_library(
CndVar
ALIAS
DEPENDS
.${LIBC_TARGET_OS}.CndVar
)
endif()
if (LLVM_LIBC_FULL_BUILD)
set(identifier_dependency_on_thread libc.src.__support.threads.thread)
endif()
add_header_library(
identifier
HDRS
identifier.h
DEPENDS
libc.src.__support.OSUtil.osutil
libc.src.__support.common
libc.include.sys_syscall
libc.hdr.types.pid_t
${identifier_dependency_on_thread}
)
|