// This file is generated by cargo_embargo.
// Do not modify this file as changes will be overridden on upgrade.

package {
    default_applicable_licenses: ["external_rust_crates_sec1_license"],
}

// Added automatically by a large-scale-change that took the approach of
// 'apply every license found to every target'. While this makes sure we respect
// every license restriction, it may not be entirely correct.
//
// e.g. GPL in an MIT project might only apply to the contrib/ directory.
//
// Please consider splitting the single license below into multiple licenses,
// taking care not to lose any license_kind information, and overriding the
// default license using the 'licenses: [...]' property on targets as needed.
//
// For unused files, consider creating a 'fileGroup' with "//visibility:private"
// to attach the license to, and including a comment whether the files may be
// used in the current project.
// See: http://go/android-license-faq
license {
    name: "external_rust_crates_sec1_license",
    visibility: [":__subpackages__"],
    license_kinds: [
        "SPDX-license-identifier-Apache-2.0",
        "SPDX-license-identifier-MIT",
    ],
    license_text: [
        "LICENSE-APACHE",
    ],
}

rust_library_host {
    name: "libsec1",
    crate_name: "sec1",
    cargo_env_compat: true,
    cargo_pkg_version: "0.7.3",
    srcs: ["src/lib.rs"],
    edition: "2021",
    features: [
        "alloc",
        "der",
        "pkcs8",
        "zeroize",
    ],
    rustlibs: [
        "libder",
        "libpkcs8",
        "libzeroize",
    ],
}

rust_library_rlib {
    name: "libsec1_nostd",
    crate_name: "sec1",
    cargo_env_compat: true,
    cargo_pkg_version: "0.7.3",
    srcs: ["src/lib.rs"],
    edition: "2021",
    features: [
        "alloc",
        "der",
        "pkcs8",
        "zeroize",
    ],
    rustlibs: [
        "libder_nostd",
        "libpkcs8_nostd",
        "libzeroize_nostd",
    ],
    apex_available: [
        "//apex_available:platform",
        "com.android.virt",
    ],
    prefer_rlib: true,
    no_stdlibs: true,
    stdlibs: [
        "libcompiler_builtins.rust_sysroot",
        "libcore.rust_sysroot",
    ],
    product_available: true,
    vendor_available: true,
    visibility: [
        "//packages/modules/Virtualization:__subpackages__",
        "//system/keymint:__subpackages__",
    ],

}
