1cc_defaults {
2    name: "installd_defaults",
3
4    cflags: [
5        "-Wall",
6        "-Werror",
7        "-Wextra",
8
9        "-Wunreachable-code",
10        "-Wunreachable-code-break",
11        "-Wunreachable-code-return",
12    ],
13    srcs: [
14        "CacheItem.cpp",
15        "CacheTracker.cpp",
16        "InstalldNativeService.cpp",
17        "dexopt.cpp",
18        "globals.cpp",
19        "utils.cpp",
20        ":installd_aidl",
21    ],
22    header_libs: [
23        "dex2oat_headers",
24    ],
25    shared_libs: [
26        "libbase",
27        "libbinder",
28        "libcrypto",
29        "libcutils",
30        "liblog",
31        "liblogwrap",
32        "libselinux",
33        "libutils",
34    ],
35
36    clang: true,
37
38    tidy: true,
39    tidy_checks: [
40        "-*",
41        "clang-analyzer-security*",
42        "cert-*",
43        "-cert-err58-cpp",
44    ],
45    tidy_flags: [
46        "-warnings-as-errors=clang-analyzer-security*,cert-*"
47    ],
48}
49
50//
51// Static library used in testing and executable
52//
53
54cc_library_static {
55    name: "libinstalld",
56    defaults: ["installd_defaults"],
57
58    export_include_dirs: ["."],
59    aidl: {
60        export_aidl_headers: true,
61    },
62}
63
64//
65// Executable
66//
67
68cc_binary {
69    name: "installd",
70    defaults: ["installd_defaults"],
71    srcs: ["installd.cpp"],
72
73    static_libs: ["libdiskusage"],
74
75    init_rc: ["installd.rc"],
76}
77
78// OTA chroot tool
79
80cc_binary {
81    name: "otapreopt_chroot",
82    cflags: [
83        "-Wall",
84        "-Werror",
85    ],
86    clang: true,
87
88    srcs: ["otapreopt_chroot.cpp"],
89    shared_libs: [
90        "libbase",
91        "liblog",
92    ],
93}
94
95filegroup {
96    name: "installd_aidl",
97    srcs: [
98        "binder/android/os/IInstalld.aidl",
99    ],
100}
101
102//
103// Static library for otapreopt used in testing
104//
105cc_library_static {
106    name: "libotapreoptparameters",
107    cflags: [
108        "-Wall",
109        "-Werror"
110    ],
111    clang: true,
112
113    srcs: [
114        "otapreopt_parameters.cpp"],
115
116    export_include_dirs: ["."],
117
118    shared_libs: [
119        "libbase",
120        "libcutils",
121        "liblog",
122        "libutils",
123    ],
124}
125
126subdirs = ["tests"]
127