// Copyright (C) 2019 The LineageOS Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

cc_binary {
    name: "vendor.qti.hardware.cryptfshw@1.0-service-qti.qsee",
    defaults: ["hidl_defaults"],
    relative_install_path: "hw",
    vendor: true,
    init_rc: ["vendor.qti.hardware.cryptfshw@1.0-service-qti.qsee.rc"],
    owner: "qti",
    srcs: [
        "QSEEComController.cpp",
        "service.cpp",
    ],
    arch: {
        arm: {
            shared_libs: [
                "libhwbinder",
            ],
            cflags: ["-DARCH_ARM_32"],
        },
    },
    product_variables: {
        lineage: {
            should_wait_for_qsee: {
                cflags: ["-DWAIT_FOR_QSEE"],
            },
        },
    },
    header_libs: ["generated_kernel_headers"],
    shared_libs: [
        "libbase",
        "libdl",
        "libhidlbase",
        "libhidltransport",
        "libutils",
        "vendor.qti.hardware.cryptfshw@1.0",
    ],
    static_libs: ["vendor.qti.hardware.cryptfshw@1.0-base"],
}
