1//
2// Copyright (C) 2021 The Android Open Source Project
3//
4// Licensed under the Apache License, Version 2.0 (the "License");
5// you may not use this file except in compliance with the License.
6// You may obtain a copy of the License at
7//
8//      http://www.apache.org/licenses/LICENSE-2.0
9//
10// Unless required by applicable law or agreed to in writing, software
11// distributed under the License is distributed on an "AS IS" BASIS,
12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13// See the License for the specific language governing permissions and
14// limitations under the License.
15//
16
17// ==========================================================
18// Native library used to compute KLL quantiles
19// ==========================================================
20package {
21    default_applicable_licenses: ["Android-Apache-2.0"],
22}
23
24cc_library {
25    name: "libkll",
26    host_supported: true,
27    vendor_available: true,
28    double_loadable: true,
29    srcs: [
30        "compactor_stack.cpp",
31        "kll.cpp",
32        "sampler.cpp",
33    ],
34    whole_static_libs: [
35        "libkll-encoder",
36        "libkll-protos",
37    ],
38    shared_libs: [
39        "liblog",
40        "libprotobuf-cpp-lite",
41    ],
42    cflags: [
43        "-Wall",
44        "-Werror",
45        "-Wextra",
46        "-Wthread-safety",
47    ],
48    export_include_dirs: ["include"],
49    apex_available: [
50        "com.android.os.statsd",
51        "test_com.android.os.statsd",
52        "//apex_available:platform",
53    ],
54    min_sdk_version: "30",
55}
56
57cc_test {
58    name: "libkll_test",
59    host_supported: true,
60    tidy_timeout_srcs: [
61        "tests/sampler_test.cpp",
62    ],
63    srcs: [
64        "tests/**/*.cpp",
65    ],
66    static_libs: [
67        "libgmock",
68        "libkll",
69        "libkll-encoder",
70        "libkll-protos",
71    ],
72    shared_libs: [
73        "liblog",
74        "libprotobuf-cpp-lite",
75    ],
76    test_suites: ["general-tests"],
77
78    cflags: [
79        "-Wall",
80        "-Werror",
81        "-Wextra",
82        "-Wthread-safety",
83    ],
84}
85