//
// Copyright (C) 2017 The Android Open Source 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.
//
soong_namespace {
    imports: [
        "hardware/samsung_slsi-linaro/exynos/tee/kinibi520",
        "hardware/samsung_slsi-linaro/exynos/tee/kinibi510",
        "hardware/samsung_slsi-linaro/exynos/tee/kinibi500"
    ],
}

cc_binary {
    name: "android.hardware.keymaster@4.0_tee-service",
    defaults: ["hidl_defaults"],
    relative_install_path: "hw",
    vendor: true,
    init_rc: ["android.hardware.keymaster@4.0_tee-service.rc"],
    srcs: [
            "src/service.cpp",
            "src/authlist.cpp",
            "src/cust_tee_keymaster_impl.cpp",
            "src/cust_tee_keymaster_utils.cpp",
            "src/km_encodings.cpp",
            "src/km_shared_util.cpp",
            "src/serialization.cpp",
            "src/tlcTeeKeymaster_if.cpp",
            "src/TrustonicKeymaster4DeviceImpl.cpp",
            "src/TrustonicKeymaster4Device.cpp",
            //ExySp
            "src/exynos_ssp_hwctl.cpp"
    ],
    local_include_dirs: [
         "include"
    ],
    shared_libs: [
        "android.hardware.keymaster@4.0",
        "libbase",
        "libcutils",
        "libhardware",
        "libhidlbase",
        "libkeymaster4",
        "liblog",
        "libutils",
        "libMcClient",
        "libcrypto"
    ],

}
