1package {
2    // See: http://go/android-license-faq
3    // A large-scale-change added 'default_applicable_licenses' to import
4    // all of the 'license_kinds' from "frameworks_native_license"
5    // to get the below license kinds:
6    //   SPDX-license-identifier-Apache-2.0
7    default_applicable_licenses: ["frameworks_native_license"],
8}
9
10cc_defaults {
11    name: "servicemanager_defaults",
12
13    cflags: [
14        "-Wall",
15        "-Wextra",
16        "-Werror",
17        "-DANDROID_UTILS_REF_BASE_DISABLE_IMPLICIT_CONSTRUCTION",
18    ],
19
20    srcs: [
21        "Access.cpp",
22        "ServiceManager.cpp",
23    ],
24
25    shared_libs: [
26        "libbase",
27        "libbinder", // also contains servicemanager_interface
28        "libvintf",
29        "libcutils",
30        "liblog",
31        "libutils",
32        "libselinux",
33    ],
34
35    target: {
36        vendor: {
37            exclude_shared_libs: ["libvintf"],
38        },
39    },
40}
41
42cc_binary {
43    name: "servicemanager",
44    defaults: ["servicemanager_defaults"],
45    init_rc: ["servicemanager.rc"],
46    srcs: ["main.cpp"],
47}
48
49cc_binary {
50    name: "vndservicemanager",
51    defaults: ["servicemanager_defaults"],
52    init_rc: ["vndservicemanager.rc"],
53    vendor: true,
54    cflags: [
55        "-DVENDORSERVICEMANAGER=1",
56    ],
57    required: [
58        "vndservice",
59    ],
60    srcs: ["main.cpp"],
61}
62
63cc_test {
64    name: "servicemanager_test",
65    test_suites: ["device-tests"],
66    defaults: ["servicemanager_defaults"],
67    srcs: [
68        "test_sm.cpp",
69    ],
70    static_libs: ["libgmock"],
71}
72