xref: /aosp_15_r20/external/selinux/libsepol/Android.bp (revision 2d543d20722ada2425b5bdab9d0d1d29470e7bba)
1*2d543d20SAndroid Build Coastguard Workerpackage {
2*2d543d20SAndroid Build Coastguard Worker    default_applicable_licenses: ["external_selinux_libsepol_license"],
3*2d543d20SAndroid Build Coastguard Worker}
4*2d543d20SAndroid Build Coastguard Worker
5*2d543d20SAndroid Build Coastguard Worker// Added automatically by a large-scale-change that took the approach of
6*2d543d20SAndroid Build Coastguard Worker// 'apply every license found to every target'. While this makes sure we respect
7*2d543d20SAndroid Build Coastguard Worker// every license restriction, it may not be entirely correct.
8*2d543d20SAndroid Build Coastguard Worker//
9*2d543d20SAndroid Build Coastguard Worker// e.g. GPL in an MIT project might only apply to the contrib/ directory.
10*2d543d20SAndroid Build Coastguard Worker//
11*2d543d20SAndroid Build Coastguard Worker// Please consider splitting the single license below into multiple licenses,
12*2d543d20SAndroid Build Coastguard Worker// taking care not to lose any license_kind information, and overriding the
13*2d543d20SAndroid Build Coastguard Worker// default license using the 'licenses: [...]' property on targets as needed.
14*2d543d20SAndroid Build Coastguard Worker//
15*2d543d20SAndroid Build Coastguard Worker// For unused files, consider creating a 'filegroup' with "//visibility:private"
16*2d543d20SAndroid Build Coastguard Worker// to attach the license to, and including a comment whether the files may be
17*2d543d20SAndroid Build Coastguard Worker// used in the current project.
18*2d543d20SAndroid Build Coastguard Worker// http://go/android-license-faq
19*2d543d20SAndroid Build Coastguard Workerlicense {
20*2d543d20SAndroid Build Coastguard Worker    name: "external_selinux_libsepol_license",
21*2d543d20SAndroid Build Coastguard Worker    visibility: [":__subpackages__"],
22*2d543d20SAndroid Build Coastguard Worker    license_kinds: [
23*2d543d20SAndroid Build Coastguard Worker        "SPDX-license-identifier-BSD",
24*2d543d20SAndroid Build Coastguard Worker        "SPDX-license-identifier-GPL",
25*2d543d20SAndroid Build Coastguard Worker        "SPDX-license-identifier-LGPL",
26*2d543d20SAndroid Build Coastguard Worker        "SPDX-license-identifier-LGPL-2.1",
27*2d543d20SAndroid Build Coastguard Worker        "SPDX-license-identifier-LGPL-3.0",
28*2d543d20SAndroid Build Coastguard Worker        "SPDX-license-identifier-Zlib",
29*2d543d20SAndroid Build Coastguard Worker        "legacy_unencumbered",
30*2d543d20SAndroid Build Coastguard Worker    ],
31*2d543d20SAndroid Build Coastguard Worker    license_text: [
32*2d543d20SAndroid Build Coastguard Worker        "LICENSE",
33*2d543d20SAndroid Build Coastguard Worker    ],
34*2d543d20SAndroid Build Coastguard Worker}
35*2d543d20SAndroid Build Coastguard Worker
36*2d543d20SAndroid Build Coastguard Workercc_defaults {
37*2d543d20SAndroid Build Coastguard Worker    name: "libsepol_defaults",
38*2d543d20SAndroid Build Coastguard Worker    cflags: [
39*2d543d20SAndroid Build Coastguard Worker      "-D_GNU_SOURCE",
40*2d543d20SAndroid Build Coastguard Worker      "-Wall",
41*2d543d20SAndroid Build Coastguard Worker      "-Werror",
42*2d543d20SAndroid Build Coastguard Worker      "-W",
43*2d543d20SAndroid Build Coastguard Worker      "-Wundef",
44*2d543d20SAndroid Build Coastguard Worker      "-Wshadow",
45*2d543d20SAndroid Build Coastguard Worker      "-Wno-error=missing-noreturn",
46*2d543d20SAndroid Build Coastguard Worker      "-Wmissing-format-attribute",
47*2d543d20SAndroid Build Coastguard Worker    ],
48*2d543d20SAndroid Build Coastguard Worker    target: {
49*2d543d20SAndroid Build Coastguard Worker        bionic: {
50*2d543d20SAndroid Build Coastguard Worker            cflags: ["-DHAVE_REALLOCARRAY"]
51*2d543d20SAndroid Build Coastguard Worker        },
52*2d543d20SAndroid Build Coastguard Worker        musl: {
53*2d543d20SAndroid Build Coastguard Worker            cflags: ["-DHAVE_REALLOCARRAY"]
54*2d543d20SAndroid Build Coastguard Worker        }
55*2d543d20SAndroid Build Coastguard Worker    }
56*2d543d20SAndroid Build Coastguard Worker}
57*2d543d20SAndroid Build Coastguard Worker
58*2d543d20SAndroid Build Coastguard Workercc_library {
59*2d543d20SAndroid Build Coastguard Worker    name: "libsepol",
60*2d543d20SAndroid Build Coastguard Worker    defaults: ["libsepol_defaults"],
61*2d543d20SAndroid Build Coastguard Worker    host_supported: true,
62*2d543d20SAndroid Build Coastguard Worker    srcs: [
63*2d543d20SAndroid Build Coastguard Worker        "src/assertion.c",
64*2d543d20SAndroid Build Coastguard Worker        "src/avrule_block.c",
65*2d543d20SAndroid Build Coastguard Worker        "src/avtab.c",
66*2d543d20SAndroid Build Coastguard Worker        "src/boolean_record.c",
67*2d543d20SAndroid Build Coastguard Worker        "src/booleans.c",
68*2d543d20SAndroid Build Coastguard Worker        "src/conditional.c",
69*2d543d20SAndroid Build Coastguard Worker        "src/constraint.c",
70*2d543d20SAndroid Build Coastguard Worker        "src/context.c",
71*2d543d20SAndroid Build Coastguard Worker        "src/context_record.c",
72*2d543d20SAndroid Build Coastguard Worker        "src/debug.c",
73*2d543d20SAndroid Build Coastguard Worker        "src/ebitmap.c",
74*2d543d20SAndroid Build Coastguard Worker        "src/expand.c",
75*2d543d20SAndroid Build Coastguard Worker        "src/handle.c",
76*2d543d20SAndroid Build Coastguard Worker        "src/hashtab.c",
77*2d543d20SAndroid Build Coastguard Worker        "src/hierarchy.c",
78*2d543d20SAndroid Build Coastguard Worker        "src/iface_record.c",
79*2d543d20SAndroid Build Coastguard Worker        "src/interfaces.c",
80*2d543d20SAndroid Build Coastguard Worker        "src/kernel_to_cil.c",
81*2d543d20SAndroid Build Coastguard Worker        "src/kernel_to_common.c",
82*2d543d20SAndroid Build Coastguard Worker        "src/kernel_to_conf.c",
83*2d543d20SAndroid Build Coastguard Worker        "src/link.c",
84*2d543d20SAndroid Build Coastguard Worker        "src/mls.c",
85*2d543d20SAndroid Build Coastguard Worker        "src/module.c",
86*2d543d20SAndroid Build Coastguard Worker        "src/module_to_cil.c",
87*2d543d20SAndroid Build Coastguard Worker        "src/node_record.c",
88*2d543d20SAndroid Build Coastguard Worker        "src/nodes.c",
89*2d543d20SAndroid Build Coastguard Worker        "src/optimize.c",
90*2d543d20SAndroid Build Coastguard Worker        "src/polcaps.c",
91*2d543d20SAndroid Build Coastguard Worker        "src/policydb.c",
92*2d543d20SAndroid Build Coastguard Worker        "src/policydb_convert.c",
93*2d543d20SAndroid Build Coastguard Worker        "src/policydb_public.c",
94*2d543d20SAndroid Build Coastguard Worker        "src/policydb_validate.c",
95*2d543d20SAndroid Build Coastguard Worker        "src/port_record.c",
96*2d543d20SAndroid Build Coastguard Worker        "src/ports.c",
97*2d543d20SAndroid Build Coastguard Worker        "src/services.c",
98*2d543d20SAndroid Build Coastguard Worker        "src/sidtab.c",
99*2d543d20SAndroid Build Coastguard Worker        "src/symtab.c",
100*2d543d20SAndroid Build Coastguard Worker        "src/user_record.c",
101*2d543d20SAndroid Build Coastguard Worker        "src/users.c",
102*2d543d20SAndroid Build Coastguard Worker        "src/util.c",
103*2d543d20SAndroid Build Coastguard Worker        "src/write.c",
104*2d543d20SAndroid Build Coastguard Worker        "cil/src/android.c",
105*2d543d20SAndroid Build Coastguard Worker        "cil/src/cil_binary.c",
106*2d543d20SAndroid Build Coastguard Worker        "cil/src/cil_build_ast.c",
107*2d543d20SAndroid Build Coastguard Worker        "cil/src/cil.c",
108*2d543d20SAndroid Build Coastguard Worker        "cil/src/cil_copy_ast.c",
109*2d543d20SAndroid Build Coastguard Worker        "cil/src/cil_deny.c",
110*2d543d20SAndroid Build Coastguard Worker        "cil/src/cil_find.c",
111*2d543d20SAndroid Build Coastguard Worker        "cil/src/cil_fqn.c",
112*2d543d20SAndroid Build Coastguard Worker        "cil/src/cil_lexer.l",
113*2d543d20SAndroid Build Coastguard Worker        "cil/src/cil_list.c",
114*2d543d20SAndroid Build Coastguard Worker        "cil/src/cil_log.c",
115*2d543d20SAndroid Build Coastguard Worker        "cil/src/cil_mem.c",
116*2d543d20SAndroid Build Coastguard Worker        "cil/src/cil_parser.c",
117*2d543d20SAndroid Build Coastguard Worker        "cil/src/cil_policy.c",
118*2d543d20SAndroid Build Coastguard Worker        "cil/src/cil_post.c",
119*2d543d20SAndroid Build Coastguard Worker        "cil/src/cil_reset_ast.c",
120*2d543d20SAndroid Build Coastguard Worker        "cil/src/cil_resolve_ast.c",
121*2d543d20SAndroid Build Coastguard Worker        "cil/src/cil_stack.c",
122*2d543d20SAndroid Build Coastguard Worker        "cil/src/cil_strpool.c",
123*2d543d20SAndroid Build Coastguard Worker        "cil/src/cil_symtab.c",
124*2d543d20SAndroid Build Coastguard Worker        "cil/src/cil_tree.c",
125*2d543d20SAndroid Build Coastguard Worker        "cil/src/cil_verify.c",
126*2d543d20SAndroid Build Coastguard Worker        "cil/src/cil_write_ast.c",
127*2d543d20SAndroid Build Coastguard Worker    ],
128*2d543d20SAndroid Build Coastguard Worker    local_include_dirs: [
129*2d543d20SAndroid Build Coastguard Worker        "cil/src",
130*2d543d20SAndroid Build Coastguard Worker        "src",
131*2d543d20SAndroid Build Coastguard Worker    ],
132*2d543d20SAndroid Build Coastguard Worker    export_include_dirs: [
133*2d543d20SAndroid Build Coastguard Worker        "cil/include",
134*2d543d20SAndroid Build Coastguard Worker        "include",
135*2d543d20SAndroid Build Coastguard Worker    ],
136*2d543d20SAndroid Build Coastguard Worker    stl: "none",
137*2d543d20SAndroid Build Coastguard Worker    // The host version of libsepol is loaded by the system python, which does
138*2d543d20SAndroid Build Coastguard Worker    // not have the sanitizer runtimes.
139*2d543d20SAndroid Build Coastguard Worker    target: {
140*2d543d20SAndroid Build Coastguard Worker        host: {
141*2d543d20SAndroid Build Coastguard Worker            sanitize: {
142*2d543d20SAndroid Build Coastguard Worker                never: true,
143*2d543d20SAndroid Build Coastguard Worker            },
144*2d543d20SAndroid Build Coastguard Worker        },
145*2d543d20SAndroid Build Coastguard Worker    },
146*2d543d20SAndroid Build Coastguard Worker}
147*2d543d20SAndroid Build Coastguard Worker
148*2d543d20SAndroid Build Coastguard Workercc_binary_host {
149*2d543d20SAndroid Build Coastguard Worker    name: "chkcon",
150*2d543d20SAndroid Build Coastguard Worker    defaults: ["libsepol_defaults"],
151*2d543d20SAndroid Build Coastguard Worker    srcs: ["utils/chkcon.c"],
152*2d543d20SAndroid Build Coastguard Worker    shared_libs: ["libsepol"],
153*2d543d20SAndroid Build Coastguard Worker}
154