xref: /llvm-project/libc/src/signal/linux/CMakeLists.txt (revision c71418574f1bb9e4678428901775c8b633cded09)
1add_header_library(
2  signal_utils
3  HDRS
4    signal_utils.h
5  DEPENDS
6    libc.hdr.types.sigset_t
7    libc.include.signal
8    libc.include.sys_syscall
9    libc.src.__support.OSUtil.osutil
10)
11
12add_entrypoint_object(
13  kill
14  SRCS
15    kill.cpp
16  HDRS
17    ../kill.h
18  DEPENDS
19    libc.include.signal
20    libc.src.errno.errno
21    libc.include.sys_syscall
22    libc.src.__support.OSUtil.osutil
23)
24
25add_entrypoint_object(
26  raise
27  SRCS
28    raise.cpp
29  HDRS
30    ../raise.h
31  DEPENDS
32    .signal_utils
33    libc.hdr.types.sigset_t
34    libc.include.sys_syscall
35    libc.src.__support.OSUtil.osutil
36)
37
38add_object_library(
39  __restore
40  SRCS
41    __restore.cpp
42  COMPILE_OPTIONS
43    -fomit-frame-pointer
44    ${libc_opt_high_flag}
45    -Wframe-larger-than=0
46    -Wno-attributes
47    # asan creates asan.module_ctor which uses stack space, causing warnings.
48    -fno-sanitize=address
49  DEPENDS
50    libc.include.sys_syscall
51    libc.src.__support.OSUtil.osutil
52)
53
54add_entrypoint_object(
55  sigaction
56  SRCS
57    sigaction.cpp
58  HDRS
59    ../sigaction.h
60  DEPENDS
61    .__restore
62    libc.hdr.types.sigset_t
63    libc.hdr.types.struct_sigaction
64    libc.include.sys_syscall
65    libc.src.__support.OSUtil.osutil
66    libc.src.errno.errno
67)
68
69add_entrypoint_object(
70  sigaltstack
71  SRCS
72    sigaltstack.cpp
73  HDRS
74    ../sigaltstack.h
75  DEPENDS
76    libc.include.signal
77    libc.include.sys_syscall
78    libc.src.__support.OSUtil.osutil
79    libc.src.errno.errno
80    libc.hdr.types.stack_t
81)
82
83add_entrypoint_object(
84  sigprocmask
85  SRCS
86    sigprocmask.cpp
87  HDRS
88    ../sigprocmask.h
89  DEPENDS
90    .signal_utils
91    libc.hdr.types.sigset_t
92    libc.include.sys_syscall
93    libc.src.__support.OSUtil.osutil
94    libc.src.errno.errno
95)
96
97add_entrypoint_object(
98  sigemptyset
99  SRCS
100    sigemptyset.cpp
101  HDRS
102    ../sigemptyset.h
103  DEPENDS
104    .signal_utils
105    libc.hdr.types.sigset_t
106    libc.src.errno.errno
107)
108
109add_entrypoint_object(
110  sigaddset
111  SRCS
112    sigaddset.cpp
113  HDRS
114    ../sigaddset.h
115  DEPENDS
116    .signal_utils
117    libc.hdr.types.sigset_t
118    libc.src.errno.errno
119)
120
121add_entrypoint_object(
122  signal
123  SRCS
124    signal.cpp
125  HDRS
126    ../signal.h
127  DEPENDS
128    .sigaction
129    libc.hdr.signal_macros
130    libc.hdr.types.sighandler_t
131)
132
133add_entrypoint_object(
134  sigfillset
135  SRCS
136    sigfillset.cpp
137  HDRS
138    ../sigfillset.h
139  DEPENDS
140    .signal_utils
141    libc.hdr.types.sigset_t
142    libc.src.errno.errno
143)
144
145add_entrypoint_object(
146  sigdelset
147  SRCS
148    sigdelset.cpp
149  HDRS
150    ../sigdelset.h
151  DEPENDS
152    .signal_utils
153    libc.hdr.types.sigset_t
154    libc.src.errno.errno
155)
156