//
// Copyright (C) 2015 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.
//

// WARNING: Everything listed here will be built on ALL platforms,
// including x86, the emulator, and the SDK.  Modules must be uniquely
// named (liblights.panda), and must build everywhere, or limit themselves
// to only building on ARM if they include assembly. Individual makefiles
// are responsible for having their own logic, for fine-grained control.

// trusty_keymaster is a binary used only for on-device testing.  It
// runs Trusty Keymaster through a basic set of operations with RSA
// and ECDSA keys.
cc_binary {
    name: "trusty_keymaster_tipc",
    vendor: true,
    srcs: [
        "trusty_keymaster_device.cpp",
        "trusty_keymaster_ipc.cpp",
        "trusty_keymaster_main.cpp",
    ],
    cflags: [
        "-Wall",
        "-Werror",
    ],
    shared_libs: [
        "libcrypto",
        "libcutils",
        "libkeymaster_portable",
        "libkeymaster_staging",
        "libtrusty",
        "libkeymaster_messages",
        "libsoftkeymasterdevice",
        "liblog",
    ],
}

// keystore.trusty is the HAL used by keystore on Trusty devices.
cc_library_shared {
    name: "keystore.trusty",
    vendor: true,
    relative_install_path: "hw",
    srcs: [
        "module.cpp",
        "trusty_keymaster_ipc.cpp",
        "trusty_keymaster_device.cpp",
    ],

    cflags: [
        "-fvisibility=hidden",
        "-Wall",
        "-Werror",
    ],

    shared_libs: [
        "libcrypto",
        "libkeymaster_messages",
        "libtrusty",
        "liblog",
        "libcutils",
    ],
    header_libs: ["libhardware_headers"],
}
