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

package {
    default_applicable_licenses: ["external_rust_crates_der_license"],
    default_team: "trendy_team_android_rust",
}

license {
    name: "external_rust_crates_der_license",
    visibility: [":__subpackages__"],
    license_kinds: ["SPDX-license-identifier-Apache-2.0"],
    license_text: ["LICENSE"],
}

rust_library {
    name: "libder",
    host_supported: true,
    crate_name: "der",
    cargo_env_compat: true,
    cargo_pkg_version: "0.7.9",
    crate_root: "src/lib.rs",
    edition: "2021",
    features: [
        "alloc",
        "derive",
        "flagset",
        "oid",
        "zeroize",
    ],
    rustlibs: [
        "libconst_oid",
        "libflagset",
        "libzeroize",
    ],
    proc_macros: ["libder_derive"],
    apex_available: [
        "//apex_available:platform",
        "com.android.virt",
    ],
    product_available: true,
    vendor_available: true,
    visibility: [
        "//external/rust/android-crates-io/crates/sec1:__subpackages__",
        "//external/rust/android-crates-io/crates/spki:__subpackages__",
        "//external/rust/android-crates-io/crates/pkcs1:__subpackages__",
        "//external/rust/android-crates-io/crates/pkcs8:__subpackages__",
        "//external/rust/android-crates-io/crates/x509-cert:__subpackages__",
        "//packages/modules/Virtualization:__subpackages__",
        "//system/keymint:__subpackages__",
        "//system/security/keystore2:__subpackages__",
    ],
}

rust_library_rlib {
    name: "libder_nostd",
    crate_name: "der",
    cargo_env_compat: true,
    cargo_pkg_version: "0.7.9",
    crate_root: "src/lib.rs",
    edition: "2021",
    features: [
        "alloc",
        "derive",
        "flagset",
        "oid",
        "zeroize",
    ],
    rustlibs: [
        "libconst_oid_nostd",
        "libflagset_nostd",
        "libzeroize_nostd",
    ],
    proc_macros: ["libder_derive"],
    apex_available: [
        "//apex_available:platform",
        "com.android.virt",
    ],
    prefer_rlib: true,
    no_stdlibs: true,
    stdlibs: [
        "liballoc.rust_sysroot",
        "libcompiler_builtins.rust_sysroot",
        "libcore.rust_sysroot",
    ],
    product_available: true,
    vendor_available: true,
    visibility: [
        "//external/rust/android-crates-io/crates/sec1:__subpackages__",
        "//external/rust/android-crates-io/crates/spki:__subpackages__",
        "//external/rust/android-crates-io/crates/pkcs1:__subpackages__",
        "//external/rust/android-crates-io/crates/pkcs8:__subpackages__",
        "//external/rust/android-crates-io/crates/x509-cert:__subpackages__",
        "//packages/modules/Virtualization:__subpackages__",
        "//system/keymint:__subpackages__",
    ],
}

dirgroup {
    name: "trusty_dirgroup_external_rust_crates_der",
    visibility: ["//trusty/vendor/google/aosp/scripts"],
    dirs: ["."],
}
