1// Copyright 2019, 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
15cc_defaults {
16    name: "libdataloader_defaults",
17    cpp_std: "c++2a",
18    cflags: ["-Werror", "-Wall", "-Wextra", "-Wno-unused-parameter"],
19    defaults: ["linux_bionic_supported"],
20    export_include_dirs: ["include/"],
21    local_include_dirs: ["include/"],
22    shared_libs: [
23        "libbase",
24        "libincfs",
25        "liblog",
26        "libnativehelper",
27        "libutils",
28    ],
29    tidy: true,
30    tidy_checks: [
31        "android-*",
32        "cert-*",
33        "clang-analyzer-security*",
34        "-cert-err34-c",
35        "clang-analyzer-security*",
36        // Disabling due to many unavoidable warnings from POSIX API usage.
37        "-google-runtime-int",
38        "-google-explicit-constructor",
39        // do not define variadic C function - JNI headers
40        "-cert-dcl50-cpp",
41        // operator=() does not handle self-assignment properly - all protobuf-generated classes
42        "-cert-oop54-cpp",
43    ],
44}
45
46cc_library {
47    name: "libdataloader",
48    defaults: ["libdataloader_defaults"],
49    srcs: [
50        "dataloader_ndk.c",
51        "DataLoaderConnector.cpp",
52        "ManagedDataLoader.cpp",
53    ],
54}
55
56cc_library_headers {
57    name: "libdataloader_headers",
58    export_include_dirs: ["include/"],
59}
60