xref: /aosp_15_r20/frameworks/native/cmds/servicemanager/Android.bp (revision 38e8c45f13ce32b0dcecb25141ffecaf386fa17f)
1*38e8c45fSAndroid Build Coastguard Workerpackage {
2*38e8c45fSAndroid Build Coastguard Worker    // See: http://go/android-license-faq
3*38e8c45fSAndroid Build Coastguard Worker    // A large-scale-change added 'default_applicable_licenses' to import
4*38e8c45fSAndroid Build Coastguard Worker    // all of the 'license_kinds' from "frameworks_native_license"
5*38e8c45fSAndroid Build Coastguard Worker    // to get the below license kinds:
6*38e8c45fSAndroid Build Coastguard Worker    //   SPDX-license-identifier-Apache-2.0
7*38e8c45fSAndroid Build Coastguard Worker    default_applicable_licenses: ["frameworks_native_license"],
8*38e8c45fSAndroid Build Coastguard Worker}
9*38e8c45fSAndroid Build Coastguard Worker
10*38e8c45fSAndroid Build Coastguard Workercc_defaults {
11*38e8c45fSAndroid Build Coastguard Worker    name: "servicemanager_defaults",
12*38e8c45fSAndroid Build Coastguard Worker
13*38e8c45fSAndroid Build Coastguard Worker    cflags: [
14*38e8c45fSAndroid Build Coastguard Worker        "-Wall",
15*38e8c45fSAndroid Build Coastguard Worker        "-Wextra",
16*38e8c45fSAndroid Build Coastguard Worker        "-Werror",
17*38e8c45fSAndroid Build Coastguard Worker        "-DANDROID_UTILS_REF_BASE_DISABLE_IMPLICIT_CONSTRUCTION",
18*38e8c45fSAndroid Build Coastguard Worker    ],
19*38e8c45fSAndroid Build Coastguard Worker
20*38e8c45fSAndroid Build Coastguard Worker    srcs: [
21*38e8c45fSAndroid Build Coastguard Worker        "Access.cpp",
22*38e8c45fSAndroid Build Coastguard Worker        "ServiceManager.cpp",
23*38e8c45fSAndroid Build Coastguard Worker    ],
24*38e8c45fSAndroid Build Coastguard Worker
25*38e8c45fSAndroid Build Coastguard Worker    shared_libs: [
26*38e8c45fSAndroid Build Coastguard Worker        "libbase",
27*38e8c45fSAndroid Build Coastguard Worker        "libvintf",
28*38e8c45fSAndroid Build Coastguard Worker        "libcutils",
29*38e8c45fSAndroid Build Coastguard Worker        "liblog",
30*38e8c45fSAndroid Build Coastguard Worker        "libutils",
31*38e8c45fSAndroid Build Coastguard Worker        "libselinux",
32*38e8c45fSAndroid Build Coastguard Worker        "libperfetto_c",
33*38e8c45fSAndroid Build Coastguard Worker    ],
34*38e8c45fSAndroid Build Coastguard Worker
35*38e8c45fSAndroid Build Coastguard Worker    target: {
36*38e8c45fSAndroid Build Coastguard Worker        android: {
37*38e8c45fSAndroid Build Coastguard Worker            shared_libs: [
38*38e8c45fSAndroid Build Coastguard Worker                "libbinder",
39*38e8c45fSAndroid Build Coastguard Worker                "libutils",
40*38e8c45fSAndroid Build Coastguard Worker            ],
41*38e8c45fSAndroid Build Coastguard Worker        },
42*38e8c45fSAndroid Build Coastguard Worker        host: {
43*38e8c45fSAndroid Build Coastguard Worker            static_libs: [
44*38e8c45fSAndroid Build Coastguard Worker                "libbinder",
45*38e8c45fSAndroid Build Coastguard Worker                "libutils",
46*38e8c45fSAndroid Build Coastguard Worker            ],
47*38e8c45fSAndroid Build Coastguard Worker        },
48*38e8c45fSAndroid Build Coastguard Worker        darwin: {
49*38e8c45fSAndroid Build Coastguard Worker            enabled: false,
50*38e8c45fSAndroid Build Coastguard Worker        },
51*38e8c45fSAndroid Build Coastguard Worker        vendor: {
52*38e8c45fSAndroid Build Coastguard Worker            exclude_shared_libs: [
53*38e8c45fSAndroid Build Coastguard Worker                "libvintf",
54*38e8c45fSAndroid Build Coastguard Worker                "libperfetto_c",
55*38e8c45fSAndroid Build Coastguard Worker            ],
56*38e8c45fSAndroid Build Coastguard Worker        },
57*38e8c45fSAndroid Build Coastguard Worker        recovery: {
58*38e8c45fSAndroid Build Coastguard Worker            exclude_shared_libs: ["libperfetto_c"],
59*38e8c45fSAndroid Build Coastguard Worker        },
60*38e8c45fSAndroid Build Coastguard Worker    },
61*38e8c45fSAndroid Build Coastguard Worker}
62*38e8c45fSAndroid Build Coastguard Worker
63*38e8c45fSAndroid Build Coastguard Workercc_binary {
64*38e8c45fSAndroid Build Coastguard Worker    name: "servicemanager",
65*38e8c45fSAndroid Build Coastguard Worker    defaults: ["servicemanager_defaults"],
66*38e8c45fSAndroid Build Coastguard Worker    init_rc: ["servicemanager.rc"],
67*38e8c45fSAndroid Build Coastguard Worker    srcs: ["main.cpp"],
68*38e8c45fSAndroid Build Coastguard Worker    bootstrap: true,
69*38e8c45fSAndroid Build Coastguard Worker}
70*38e8c45fSAndroid Build Coastguard Worker
71*38e8c45fSAndroid Build Coastguard Workercc_binary {
72*38e8c45fSAndroid Build Coastguard Worker    name: "servicemanager.recovery",
73*38e8c45fSAndroid Build Coastguard Worker    stem: "servicemanager",
74*38e8c45fSAndroid Build Coastguard Worker    recovery: true,
75*38e8c45fSAndroid Build Coastguard Worker    defaults: ["servicemanager_defaults"],
76*38e8c45fSAndroid Build Coastguard Worker    init_rc: ["servicemanager.recovery.rc"],
77*38e8c45fSAndroid Build Coastguard Worker    srcs: ["main.cpp"],
78*38e8c45fSAndroid Build Coastguard Worker}
79*38e8c45fSAndroid Build Coastguard Worker
80*38e8c45fSAndroid Build Coastguard Workercc_binary {
81*38e8c45fSAndroid Build Coastguard Worker    name: "vndservicemanager",
82*38e8c45fSAndroid Build Coastguard Worker    defaults: ["servicemanager_defaults"],
83*38e8c45fSAndroid Build Coastguard Worker    init_rc: ["vndservicemanager.rc"],
84*38e8c45fSAndroid Build Coastguard Worker    vendor: true,
85*38e8c45fSAndroid Build Coastguard Worker    cflags: [
86*38e8c45fSAndroid Build Coastguard Worker        "-DVENDORSERVICEMANAGER=1",
87*38e8c45fSAndroid Build Coastguard Worker    ],
88*38e8c45fSAndroid Build Coastguard Worker    required: [
89*38e8c45fSAndroid Build Coastguard Worker        "vndservice",
90*38e8c45fSAndroid Build Coastguard Worker    ],
91*38e8c45fSAndroid Build Coastguard Worker    srcs: ["main.cpp"],
92*38e8c45fSAndroid Build Coastguard Worker}
93*38e8c45fSAndroid Build Coastguard Worker
94*38e8c45fSAndroid Build Coastguard Workercc_test {
95*38e8c45fSAndroid Build Coastguard Worker    name: "servicemanager_test",
96*38e8c45fSAndroid Build Coastguard Worker    host_supported: true,
97*38e8c45fSAndroid Build Coastguard Worker    test_suites: ["device-tests"],
98*38e8c45fSAndroid Build Coastguard Worker    defaults: ["servicemanager_defaults"],
99*38e8c45fSAndroid Build Coastguard Worker    srcs: [
100*38e8c45fSAndroid Build Coastguard Worker        "test_sm.cpp",
101*38e8c45fSAndroid Build Coastguard Worker    ],
102*38e8c45fSAndroid Build Coastguard Worker    static_libs: ["libgmock"],
103*38e8c45fSAndroid Build Coastguard Worker}
104*38e8c45fSAndroid Build Coastguard Worker
105*38e8c45fSAndroid Build Coastguard Workercc_test_host {
106*38e8c45fSAndroid Build Coastguard Worker    name: "servicemanager_unittest",
107*38e8c45fSAndroid Build Coastguard Worker    test_suites: ["general-tests"],
108*38e8c45fSAndroid Build Coastguard Worker    defaults: ["servicemanager_defaults"],
109*38e8c45fSAndroid Build Coastguard Worker    srcs: [
110*38e8c45fSAndroid Build Coastguard Worker        "ServiceManagerUnittest.cpp",
111*38e8c45fSAndroid Build Coastguard Worker    ],
112*38e8c45fSAndroid Build Coastguard Worker    static_libs: ["libgmock"],
113*38e8c45fSAndroid Build Coastguard Worker}
114*38e8c45fSAndroid Build Coastguard Worker
115*38e8c45fSAndroid Build Coastguard Workercc_fuzz {
116*38e8c45fSAndroid Build Coastguard Worker    name: "servicemanager_fuzzer",
117*38e8c45fSAndroid Build Coastguard Worker    defaults: [
118*38e8c45fSAndroid Build Coastguard Worker        "servicemanager_defaults",
119*38e8c45fSAndroid Build Coastguard Worker        "service_fuzzer_defaults",
120*38e8c45fSAndroid Build Coastguard Worker    ],
121*38e8c45fSAndroid Build Coastguard Worker    host_supported: true,
122*38e8c45fSAndroid Build Coastguard Worker    srcs: ["ServiceManagerFuzzer.cpp"],
123*38e8c45fSAndroid Build Coastguard Worker    fuzz_config: {
124*38e8c45fSAndroid Build Coastguard Worker        libfuzzer_options: [
125*38e8c45fSAndroid Build Coastguard Worker            "max_len=50000",
126*38e8c45fSAndroid Build Coastguard Worker        ],
127*38e8c45fSAndroid Build Coastguard Worker        cc: [
128*38e8c45fSAndroid Build Coastguard Worker            "[email protected]",
129*38e8c45fSAndroid Build Coastguard Worker            "[email protected]",
130*38e8c45fSAndroid Build Coastguard Worker        ],
131*38e8c45fSAndroid Build Coastguard Worker    },
132*38e8c45fSAndroid Build Coastguard Worker}
133