1package {
2    default_applicable_licenses: ["Android-Apache-2.0"],
3}
4
5cc_defaults {
6    name: "libprofile-defaults",
7    srcs: [
8        "profile-extras.cpp",
9        "profile-globals.c",
10    ],
11    native_coverage: false,
12}
13
14cc_library_static {
15    name: "libprofile-extras",
16    defaults: ["libprofile-defaults"],
17
18    native_bridge_supported: true,
19    vendor_available: true,
20    product_available: true,
21    vndk: {
22        enabled: true,
23    },
24    ramdisk_available: true,
25    vendor_ramdisk_available: true,
26    recovery_available: true,
27
28    stl: "none",
29    system_shared_libs: [],
30    header_libs: ["libc_headers"],
31}
32
33cc_library_static {
34    name: "libprofile-extras_ndk",
35    defaults: ["libprofile-defaults"],
36    native_bridge_supported: true,
37    vendor_available: true,
38    product_available: true,
39    vndk: {
40        enabled: true,
41    },
42
43    sdk_version: "minimum",
44}
45
46cc_defaults {
47    name: "libprofile-clang-defaults",
48    srcs: [
49        "profile-clang-extras.cpp",
50        "profile-clang-openat.cpp",
51    ],
52    native_coverage: false,
53    sanitize: {
54        blocklist: "libprofile_clang_extras_blocklist.txt",
55    },
56}
57
58cc_library_static {
59    name: "libprofile-clang-extras",
60    defaults: ["libprofile-clang-defaults"],
61
62    native_bridge_supported: true,
63    vendor_available: true,
64    product_available: true,
65    vndk: {
66        enabled: true,
67    },
68    ramdisk_available: true,
69    vendor_ramdisk_available: true,
70    recovery_available: true,
71
72    stl: "none",
73    system_shared_libs: [],
74    header_libs: ["libc_headers"],
75}
76
77cc_library_static {
78    name: "libprofile-clang-extras_ndk",
79    defaults: ["libprofile-clang-defaults"],
80    native_bridge_supported: true,
81    vendor_available: true,
82    product_available: true,
83    vndk: {
84        enabled: true,
85    },
86
87    sdk_version: "minimum",
88}
89
90cc_library_static {
91    name: "libprofile-clang-extras_cfi_support",
92    defaults: ["libprofile-clang-defaults"],
93
94    native_bridge_supported: true,
95    vendor_available: true,
96    product_available: true,
97    vndk: {
98        enabled: true,
99    },
100    ramdisk_available: true,
101    vendor_ramdisk_available: true,
102    recovery_available: true,
103
104    stl: "none",
105    system_shared_libs: [],
106    header_libs: ["libc_headers"],
107    sanitize: {
108        cfi: true,
109        config: {
110            cfi_assembly_support: true,
111        },
112    },
113}
114
115cc_test {
116    name: "libprofile-extras-test",
117    srcs: [
118        "profile-extras-test.cpp",
119    ],
120    static_libs: [
121        "libprofile-extras",
122    ],
123    ldflags: ["-uinit_profile_extras"],
124    native_coverage: false,
125}
126
127cc_test {
128    name: "libprofile-clang-extras-test",
129    srcs: [
130        "profile-clang-extras-test.cpp",
131    ],
132    whole_static_libs: [
133        "libprofile-clang-extras",
134    ],
135    ldflags: [
136        "-Wl,--wrap,open",
137    ],
138    native_coverage: false,
139}
140