blob: 7052bc96b9238538a6c47a6a0bc90ae880a6a490 [file] [log] [blame]
William Robertsedfef6c2016-09-26 10:07:52 -07001common_CFLAGS = [
William Robertsedfef6c2016-09-26 10:07:52 -07002 // Persistently stored patterns (pcre2) are architecture dependent.
3 // In particular paterns built on amd64 can not run on devices with armv7
4 // (32bit). Therefore, this feature stays off for now.
5 "-DNO_PERSISTENTLY_STORED_PATTERNS",
6 "-DDISABLE_SETRANS",
7 "-DDISABLE_BOOL",
8 "-D_GNU_SOURCE",
9 "-DNO_MEDIA_BACKEND",
10 "-DNO_X_BACKEND",
Jeff Vander Stoep16e4a8d2017-05-09 07:13:49 -070011 "-DNO_DB_BACKEND",
Chih-Hung Hsieh7ae97e02017-09-29 10:51:52 -070012 "-Wall",
13 "-Werror",
14 "-Wno-error=missing-noreturn",
15 "-Wno-error=unused-function",
16 "-Wno-error=unused-variable",
William Robertsedfef6c2016-09-26 10:07:52 -070017]
18
William Robertsedfef6c2016-09-26 10:07:52 -070019cc_defaults {
Sandeep Patil51428ba2017-05-03 07:04:18 -070020 name: "libselinux_defaults",
William Robertsedfef6c2016-09-26 10:07:52 -070021
22 cflags: common_CFLAGS,
23
Vijay Venkatramancc1666d2017-04-25 12:00:33 -070024 srcs: [
25 "src/booleans.c",
26 "src/callbacks.c",
27 "src/freecon.c",
28 "src/label_backends_android.c",
29 "src/label.c",
Vijay Venkatramancc1666d2017-04-25 12:00:33 -070030 "src/label_support.c",
31 "src/matchpathcon.c",
William Bellavancec050fd42016-08-30 09:28:06 -040032 "src/sestatus.c",
Vijay Venkatramancc1666d2017-04-25 12:00:33 -070033 "src/setrans_client.c",
34 "src/sha1.c",
35 ],
36
37 target: {
Sandeep Patil51428ba2017-05-03 07:04:18 -070038 host: {
39 cflags: [
40 "-DBUILD_HOST",
41 ],
42 },
43
Vijay Venkatramancc1666d2017-04-25 12:00:33 -070044 android: {
45 srcs: [
46 "src/android/android.c",
47 "src/avc.c",
48 "src/avc_internal.c",
49 "src/avc_sidtab.c",
50 "src/canonicalize_context.c",
51 "src/checkAccess.c",
52 "src/check_context.c",
53 "src/compute_av.c",
54 "src/compute_create.c",
55 "src/compute_member.c",
56 "src/context.c",
57 "src/deny_unknown.c",
58 "src/disable.c",
59 "src/enabled.c",
60 "src/fgetfilecon.c",
61 "src/fsetfilecon.c",
62 "src/getenforce.c",
63 "src/getfilecon.c",
64 "src/get_initial_context.c",
65 "src/getpeercon.c",
66 "src/init.c",
67 "src/lgetfilecon.c",
68 "src/load_policy.c",
69 "src/lsetfilecon.c",
70 "src/mapping.c",
71 "src/policyvers.c",
72 "src/procattr.c",
Nick Kralevich35609152019-03-04 15:28:40 -080073 "src/reject_unknown.c",
Vijay Venkatramancc1666d2017-04-25 12:00:33 -070074 "src/setenforce.c",
75 "src/setfilecon.c",
76 "src/stringrep.c",
77 ],
78
79 shared_libs: [
Vijay Venkatramancc1666d2017-04-25 12:00:33 -070080 "liblog",
81 ],
82
83 local_include_dirs: [ "src" ],
84
Vijay Venkatramancc1666d2017-04-25 12:00:33 -070085 // 1003 corresponds to auditd, from system/core/logd/event.logtags
86 cflags: [
87 "-DAUDITD_LOG_TAG=1003",
88 ],
Sandeep Patil51428ba2017-05-03 07:04:18 -070089 }
Vijay Venkatramancc1666d2017-04-25 12:00:33 -070090 },
91
92 local_include_dirs: ["include"],
93 export_include_dirs: ["include"],
Elliott Hughesf2b58fb2019-09-24 12:16:12 -070094
95 stl: "none",
96 system_shared_libs: ["libc"],
Sandeep Patil51428ba2017-05-03 07:04:18 -070097}
98
Vijay Venkatramancc1666d2017-04-25 12:00:33 -070099cc_library {
William Robertsedfef6c2016-09-26 10:07:52 -0700100 name: "libselinux",
Sandeep Patil51428ba2017-05-03 07:04:18 -0700101 defaults: ["libselinux_defaults"],
Logan Chien122c68c2017-11-21 17:31:25 +0800102
Jiyong Parkb6ef6eb2018-04-27 21:48:24 +0900103 recovery_available: true,
Logan Chien122c68c2017-11-21 17:31:25 +0800104
William Robertsedfef6c2016-09-26 10:07:52 -0700105 host_supported: true,
Sandeep Patila1b58972017-05-03 07:21:51 -0700106 cflags: ["-DUSE_PCRE2"],
William Robertsedfef6c2016-09-26 10:07:52 -0700107
Sandeep Patil554b7e42017-05-03 07:05:46 -0700108 srcs: [
109 "src/label_file.c",
Sandeep Patila1b58972017-05-03 07:21:51 -0700110 "src/regex.c",
Sandeep Patil554b7e42017-05-03 07:05:46 -0700111 ],
112
William Robertsedfef6c2016-09-26 10:07:52 -0700113 target: {
Dan Willemsen4a89b632017-10-02 10:41:09 -0700114 linux_glibc: {
Nick Kralevich9af686c2016-11-30 10:30:03 -0800115 srcs: [
116 "src/android/android_host.c",
117 "src/avc.c",
118 "src/avc_internal.c",
119 "src/avc_sidtab.c",
120 "src/compute_av.c",
121 "src/compute_create.c",
122 "src/compute_member.c",
123 "src/context.c",
Nick Kralevich35609152019-03-04 15:28:40 -0800124 "src/deny_unknown.c",
Nick Kralevich9af686c2016-11-30 10:30:03 -0800125 "src/enabled.c",
Elliott Hughesee879412018-10-04 16:13:14 -0700126 "src/fgetfilecon.c",
Nick Kralevich9af686c2016-11-30 10:30:03 -0800127 "src/getenforce.c",
128 "src/getfilecon.c",
129 "src/get_initial_context.c",
130 "src/init.c",
Elliott Hughesee879412018-10-04 16:13:14 -0700131 "src/lgetfilecon.c",
Nick Kralevich9af686c2016-11-30 10:30:03 -0800132 "src/load_policy.c",
Elliott Hughesee879412018-10-04 16:13:14 -0700133 "src/lsetfilecon.c",
Nick Kralevich9af686c2016-11-30 10:30:03 -0800134 "src/mapping.c",
135 "src/procattr.c",
Nick Kralevich35609152019-03-04 15:28:40 -0800136 "src/reject_unknown.c",
Elliott Hughesee879412018-10-04 16:13:14 -0700137 "src/setenforce.c",
Nick Kralevich9af686c2016-11-30 10:30:03 -0800138 "src/setexecfilecon.c",
Elliott Hughesee879412018-10-04 16:13:14 -0700139 "src/setfilecon.c",
Nick Kralevich9af686c2016-11-30 10:30:03 -0800140 "src/stringrep.c",
141 ],
142 },
Dan Willemsen96b05272017-03-15 14:40:37 -0700143 linux_bionic: {
144 enabled: true,
Tom Cherry26250b42017-05-11 13:41:25 -0700145 srcs: [
146 "src/android/android_host.c",
147 "src/avc.c",
148 "src/avc_internal.c",
149 "src/avc_sidtab.c",
150 "src/compute_av.c",
151 "src/compute_create.c",
152 "src/compute_member.c",
153 "src/context.c",
Nick Kralevich35609152019-03-04 15:28:40 -0800154 "src/deny_unknown.c",
Tom Cherry26250b42017-05-11 13:41:25 -0700155 "src/enabled.c",
156 "src/getenforce.c",
157 "src/getfilecon.c",
158 "src/get_initial_context.c",
159 "src/init.c",
160 "src/load_policy.c",
161 "src/mapping.c",
162 "src/procattr.c",
Nick Kralevich35609152019-03-04 15:28:40 -0800163 "src/reject_unknown.c",
Tom Cherry26250b42017-05-11 13:41:25 -0700164 "src/setexecfilecon.c",
165 "src/stringrep.c",
166 ],
Dan Willemsen96b05272017-03-15 14:40:37 -0700167 },
Sandeep Patil51428ba2017-05-03 07:04:18 -0700168
William Robertsedfef6c2016-09-26 10:07:52 -0700169 android: {
170 srcs: [
Sandeep Patil51428ba2017-05-03 07:04:18 -0700171 "src/android/android_platform.c",
William Robertsedfef6c2016-09-26 10:07:52 -0700172 ],
173
William Robertsedfef6c2016-09-26 10:07:52 -0700174 static: {
175 whole_static_libs: ["libpackagelistparser"],
176 },
Sandeep Patil51428ba2017-05-03 07:04:18 -0700177
William Robertsedfef6c2016-09-26 10:07:52 -0700178 shared: {
179 shared_libs: ["libpackagelistparser"],
180 },
181
Nick Kraleviche31efd62017-01-17 17:50:23 -0800182 version_script: "exported.map",
William Robertsedfef6c2016-09-26 10:07:52 -0700183 },
Jiyong Park57071ad2017-10-13 09:17:27 +0900184
185 vendor: {
186 exclude_srcs: [
187 "src/android/android_platform.c",
188 ],
189 srcs: [
190 "src/android/android_vendor.c",
191 ],
192 cflags: ["-DNO_FILE_BACKEND"],
193 exclude_shared_libs: ["libpackagelistparser"],
194 exclude_static_libs: ["libpackagelistparser"],
195 version_script: "exported_vendor.map",
196 },
William Robertsedfef6c2016-09-26 10:07:52 -0700197 },
Sandeep Patila1b58972017-05-03 07:21:51 -0700198
199 static: {
200 whole_static_libs: ["libpcre2"],
201 },
202 shared: {
203 shared_libs: ["libpcre2"],
204 },
Jiyong Parkd4dac002020-03-11 13:54:27 +0900205
206 stubs: {
207 symbol_file: "exported.map",
208 versions: ["30"],
209 },
William Robertsedfef6c2016-09-26 10:07:52 -0700210}
211
Jiyong Parke1eae962020-03-31 15:26:07 +0900212llndk_library {
213 name: "libselinux",
214 export_include_dirs: ["include"],
215 symbol_file: "exported.map",
216}
217
Jeff Vander Stoepa5a45312017-05-09 07:13:49 -0700218cc_binary_host {
219 name: "sefcontext_compile",
220 defaults: ["libselinux_defaults"],
221 cflags: ["-DUSE_PCRE2"],
222 srcs: ["utils/sefcontext_compile.c"],
223
224 static_libs: [
225 "libselinux",
226 "libsepol",
227 ],
228 whole_static_libs: ["libpcre2"],
229}