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

package {
    default_team: "trendy_team_foundation_security_rust_pkvm_",
    // See: http://go/android-license-faq
    // A large-scale-change added 'default_applicable_licenses' to import
    // all of the 'license_kinds' from "system_security_license"
    // to get the below license kinds:
    //   SPDX-license-identifier-Apache-2.0
    default_applicable_licenses: ["system_security_license"],
}

cc_defaults {
    name: "rkp_factory_extraction_defaults",
    defaults: [
        "keymint_use_latest_hal_aidl_ndk_static",
    ],
    shared_libs: [
        "libbinder_ndk",
        "libcrypto",
        "liblog",
    ],
    static_libs: [
        "android.hardware.common-V2-ndk",
        "android.hardware.drm.common-V1-ndk",
        "android.hardware.drm-V1-ndk",
        "android.hardware.security.rkp-V3-ndk",
        "libbase",
        "libcppbor",
        "libcppcose_rkp",
        "libjsoncpp",
        "libkeymint_remote_prov_support",
        "libmediadrmrkp",
    ],
}

cc_library_static {
    name: "librkp_factory_extraction",
    defaults: [
        "rkp_factory_extraction_defaults",
    ],
    srcs: ["rkp_factory_extraction_lib.cpp"],
    vendor_available: true,
}

cc_test {
    name: "librkp_factory_extraction_test",
    defaults: [
        "rkp_factory_extraction_defaults",
    ],
    srcs: ["rkp_factory_extraction_lib_test.cpp"],
    test_suites: ["device-tests"],
    static_libs: [
        "libgmock",
        "librkp_factory_extraction",
    ],
}

cc_binary {
    name: "rkp_factory_extraction_tool",
    vendor: true,
    srcs: ["rkp_factory_extraction_tool.cpp"],
    defaults: [
        "rkp_factory_extraction_defaults",
    ],
    static_libs: [
        "libgflags",
        "librkp_factory_extraction",
    ],
    dist: {
        targets: [
            "dist_files",
            "rkp_factory_extraction_tool",
        ],
        dest: "rkp_factory_extraction_tool",
    },
    compile_multilib: "both",
    multilib: {
        lib64: {
            suffix: "64",
        },
    },
    target: {
        android_arm: {
            dist: {
                dir: "rkp/arm",
            },
        },
        android_arm64: {
            dist: {
                dir: "rkp/arm64",
            },
        },
        android_x86: {
            dist: {
                dir: "rkp/x86",
            },
        },
        android_x86_64: {
            dist: {
                dir: "rkp/x86_64",
            },
        },
    },
}
