1// Copyright (C) 2015 The Android Open Source Project
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//      http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15// libgatekeeper contains just the code necessary to communicate with a
16// GoogleGateKeeper implementation, e.g. one running in TrustZone.
17package {
18    default_applicable_licenses: ["Android-Apache-2.0"],
19}
20
21cc_library_shared {
22    name: "libgatekeeper",
23    vendor_available: true,
24    host_supported: true,
25    vndk: {
26        enabled: true,
27    },
28    srcs: [
29        "gatekeeper_messages.cpp",
30        "gatekeeper.cpp",
31    ],
32    cflags: [
33        "-Wall",
34        "-Werror",
35        "-g",
36    ],
37    header_libs: [
38        "libhardware_headers",
39    ],
40
41    export_include_dirs: ["include"],
42
43    // TODO(krasin): reenable coverage flags, when the new Clang toolchain is released.
44    // Currently, if enabled, these flags will cause an internal error in Clang.
45    // Bug: 25119481
46    clang_cflags: ["-fno-sanitize-coverage=edge,indirect-calls,8bit-counters,trace-cmp"],
47}
48
49// libgatekeeper_static is an empty static library that exports
50// all of the files in gatekeeper as includes.
51cc_library_static {
52    name: "libgatekeeper_static",
53    export_include_dirs: [
54        ".",
55        "include",
56    ],
57}
58