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
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
|
def build(ctx):
source = []
source_pthreads = [
"src/_execve.c",
"src/adjtime.c",
"src/aio_cancel.c",
"src/aio_error.c",
"src/aio_fsync.c",
"src/aio_misc.c",
"src/aio_read.c",
"src/aio_return.c",
"src/aio_suspend.c",
"src/aio_write.c",
"src/alarm.c",
"src/barrierattrdestroy.c",
"src/barrierattrgetpshared.c",
"src/barrierattrinit.c",
"src/barrierattrsetpshared.c",
"src/cancel.c",
"src/canceleval.c",
"src/cancelrun.c",
"src/clockgetcpuclockid.c",
"src/clockgetenableattr.c",
"src/clocksetenableattr.c",
"src/cond.c",
"src/condattrdestroy.c",
"src/condattrgetpshared.c",
"src/condattrinit.c",
"src/condattrsetpshared.c",
"src/condbroadcast.c",
"src/conddefaultattributes.c",
"src/conddestroy.c",
"src/condget.c",
"src/condinit.c",
"src/condsignal.c",
"src/condsignalsupp.c",
"src/condtimedwait.c",
"src/condwait.c",
"src/condwaitsupp.c",
"src/execl.c",
"src/execle.c",
"src/execlp.c",
"src/execv.c",
"src/execve.c",
"src/execvp.c",
"src/getitimer.c",
"src/key.c",
"src/keycreate.c",
"src/keydelete.c",
"src/keyfreememory.c",
"src/keygetspecific.c",
"src/keyrundestructors.c",
"src/keysetspecific.c",
"src/kill.c",
"src/kill_r.c",
"src/killinfo.c",
"src/lio_listio.c",
"src/mprotect.c",
"src/mqueue.c",
"src/mqueueclose.c",
"src/mqueuecreatesupp.c",
"src/mqueuedeletesupp.c",
"src/mqueuegetattr.c",
"src/mqueuenotify.c",
"src/mqueueopen.c",
"src/mqueuereceive.c",
"src/mqueuerecvsupp.c",
"src/mqueuesend.c",
"src/mqueuesendsupp.c",
"src/mqueuesetattr.c",
"src/mqueuetimedreceive.c",
"src/mqueuetimedsend.c",
"src/mqueuetranslatereturncode.c",
"src/mqueueunlink.c",
"src/mutex.c",
"src/mutexattrdestroy.c",
"src/mutexattrgetprioceiling.c",
"src/mutexattrgetprotocol.c",
"src/mutexattrgetpshared.c",
"src/mutexattrgettype.c",
"src/mutexattrinit.c",
"src/mutexattrsetprioceiling.c",
"src/mutexattrsetprotocol.c",
"src/mutexattrsetpshared.c",
"src/mutexattrsettype.c",
"src/mutexdestroy.c",
"src/mutexget.c",
"src/mutexgetprioceiling.c",
"src/mutexinit.c",
"src/mutexlock.c",
"src/mutexlocksupp.c",
"src/mutexsetprioceiling.c",
"src/mutextimedlock.c",
"src/mutextranslatereturncode.c",
"src/mutextrylock.c",
"src/mutexunlock.c",
"src/pause.c",
"src/pbarrier.c",
"src/pbarrierdestroy.c",
"src/pbarrierinit.c",
"src/pbarriertranslatereturncode.c",
"src/pbarrierwait.c",
"src/posixtimespecabsolutetimeout.c",
"src/prwlock.c",
"src/prwlockdestroy.c",
"src/prwlockinit.c",
"src/prwlockrdlock.c",
"src/prwlocktimedrdlock.c",
"src/prwlocktimedwrlock.c",
"src/prwlocktranslatereturncode.c",
"src/prwlocktryrdlock.c",
"src/prwlocktrywrlock.c",
"src/prwlockunlock.c",
"src/prwlockwrlock.c",
"src/psignal.c",
"src/psignalchecksignal.c",
"src/psignalclearprocesssignals.c",
"src/psignalclearsignals.c",
"src/psignalsetprocesssignals.c",
"src/psignalunblockthread.c",
"src/pspin.c",
"src/pspindestroy.c",
"src/pspininit.c",
"src/pspinlock.c",
"src/pspinlocktranslatereturncode.c",
"src/pspintrylock.c",
"src/pspinunlock.c",
"src/psxpriorityisvalid.c",
"src/psxtransschedparam.c",
"src/pthread.c",
"src/pthreadattrdestroy.c",
"src/pthreadattrgetdetachstate.c",
"src/pthreadattrgetguardsize.c",
"src/pthreadattrgetinheritsched.c",
"src/pthreadattrgetschedparam.c",
"src/pthreadattrgetschedpolicy.c",
"src/pthreadattrgetscope.c",
"src/pthreadattrgetstack.c",
"src/pthreadattrgetstackaddr.c",
"src/pthreadattrgetstacksize.c",
"src/pthreadattrinit.c",
"src/pthreadattrsetdetachstate.c",
"src/pthreadattrsetguardsize.c",
"src/pthreadattrsetinheritsched.c",
"src/pthreadattrsetschedparam.c",
"src/pthreadattrsetschedpolicy.c",
"src/pthreadattrsetscope.c",
"src/pthreadattrsetstack.c",
"src/pthreadattrsetstackaddr.c",
"src/pthreadattrsetstacksize.c",
"src/pthreadcreate.c",
"src/pthreaddetach.c",
"src/pthreadequal.c",
"src/pthreadexit.c",
"src/pthreadgetcpuclockid.c",
"src/pthreadgetschedparam.c",
"src/pthreadinitthreads.c",
"src/pthreadjoin.c",
"src/pthreadkill.c",
"src/pthreadonce.c",
"src/pthreadself.c",
"src/pthreadsetschedparam.c",
"src/pthreadsigmask.c",
"src/ptimer.c",
"src/rwlockattrdestroy.c",
"src/rwlockattrgetpshared.c",
"src/rwlockattrinit.c",
"src/rwlockattrsetpshared.c",
"src/sched_getparam.c",
"src/sched_getprioritymax.c",
"src/sched_getprioritymin.c",
"src/sched_getscheduler.c",
"src/sched_rr_get_interval.c",
"src/sched_setparam.c",
"src/sched_setscheduler.c",
"src/sched_yield.c",
"src/semaphore.c",
"src/semaphorecreatesupp.c",
"src/semaphoredeletesupp.c",
"src/semaphoretranslatereturncode.c",
"src/semaphorewaitsupp.c",
"src/semclose.c",
"src/semdestroy.c",
"src/semgetvalue.c",
"src/seminit.c",
"src/semopen.c",
"src/sempost.c",
"src/semtimedwait.c",
"src/semtrywait.c",
"src/semunlink.c",
"src/semwait.c",
"src/setcancelstate.c",
"src/setcanceltype.c",
"src/setitimer.c",
"src/sigaction.c",
"src/signal_2.c",
"src/sigpending.c",
"src/sigqueue.c",
"src/sigsuspend.c",
"src/sigtimedwait.c",
"src/sigwait.c",
"src/sigwaitinfo.c",
"src/testcancel.c",
"src/timercreate.c",
"src/timerdelete.c",
"src/timergetoverrun.c",
"src/timergettime.c",
"src/timerinserthelper.c",
"src/timersettime.c",
"src/timertsr.c",
"src/ualarm.c",
"src/cleanuppush.c",
"src/cleanuppop.c"
]
ctx.cpu.pthreads(
source_pthreads,
alias="posix_pthreads",
features="src_include"
)
source += [
"src/clockgetres.c",
"src/clockgettime.c",
"src/clocksettime.c",
"src/fork.c",
"src/nanosleep.c",
"src/pthreadatfork.c",
"src/sigaddset.c",
"src/sigdelset.c",
"src/sigemptyset.c",
"src/sigfillset.c",
"src/sigismember.c",
"src/sigprocmask.c",
"src/sysconf.c",
"src/vfork.c",
"src/wait.c",
"src/waitpid.c",
"src/psxnametoid.c",
]
ctx.cpu.source(
source,
alias="posix",
features="src_include"
)
|