xref: /aosp_15_r20/external/selinux/secilc/Android.bp (revision 2d543d20722ada2425b5bdab9d0d1d29470e7bba)
1*2d543d20SAndroid Build Coastguard Workerpackage {
2*2d543d20SAndroid Build Coastguard Worker    default_applicable_licenses: ["external_selinux_secilc_license"],
3*2d543d20SAndroid Build Coastguard Worker}
4*2d543d20SAndroid Build Coastguard Worker
5*2d543d20SAndroid Build Coastguard Worker// Added automatically by a large-scale-change
6*2d543d20SAndroid Build Coastguard Worker// http://go/android-license-faq
7*2d543d20SAndroid Build Coastguard Workerlicense {
8*2d543d20SAndroid Build Coastguard Worker    name: "external_selinux_secilc_license",
9*2d543d20SAndroid Build Coastguard Worker    visibility: [":__subpackages__"],
10*2d543d20SAndroid Build Coastguard Worker    license_kinds: [
11*2d543d20SAndroid Build Coastguard Worker        "SPDX-license-identifier-BSD",
12*2d543d20SAndroid Build Coastguard Worker    ],
13*2d543d20SAndroid Build Coastguard Worker    license_text: [
14*2d543d20SAndroid Build Coastguard Worker        "LICENSE",
15*2d543d20SAndroid Build Coastguard Worker    ],
16*2d543d20SAndroid Build Coastguard Worker}
17*2d543d20SAndroid Build Coastguard Worker
18*2d543d20SAndroid Build Coastguard Workercommon_CFLAGS = [
19*2d543d20SAndroid Build Coastguard Worker    "-Wall",
20*2d543d20SAndroid Build Coastguard Worker    "-Werror",
21*2d543d20SAndroid Build Coastguard Worker    "-Wshadow",
22*2d543d20SAndroid Build Coastguard Worker]
23*2d543d20SAndroid Build Coastguard Worker
24*2d543d20SAndroid Build Coastguard Workercc_binary {
25*2d543d20SAndroid Build Coastguard Worker    name: "secilc",
26*2d543d20SAndroid Build Coastguard Worker    host_supported: true,
27*2d543d20SAndroid Build Coastguard Worker    cflags: common_CFLAGS,
28*2d543d20SAndroid Build Coastguard Worker    srcs: ["secilc.c"],
29*2d543d20SAndroid Build Coastguard Worker    static_libs: ["libsepol"],
30*2d543d20SAndroid Build Coastguard Worker    stl: "none",
31*2d543d20SAndroid Build Coastguard Worker    // secilc is a program that is executed very early by init.
32*2d543d20SAndroid Build Coastguard Worker    // Since it is before the mount namespaces are setup, /system/bin/linker
33*2d543d20SAndroid Build Coastguard Worker    // and /system/lib/libc.so point to the mount points where nothing
34*2d543d20SAndroid Build Coastguard Worker    // is mounted on yet. Therefore, secilc has to have explicit knowledge about
35*2d543d20SAndroid Build Coastguard Worker    // the paths where the bootstrap Bionic is. bootstrap:true sets DT_INTERP to
36*2d543d20SAndroid Build Coastguard Worker    // /system/bin/bootstrap/linker.
37*2d543d20SAndroid Build Coastguard Worker    bootstrap: true,
38*2d543d20SAndroid Build Coastguard Worker}
39