// 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_flagset_license"],
    default_team: "trendy_team_android_rust",
}

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

rust_library {
    name: "libflagset",
    host_supported: true,
    crate_name: "flagset",
    cargo_env_compat: true,
    cargo_pkg_version: "0.4.6",
    crate_root: "src/lib.rs",
    edition: "2021",
    apex_available: [
        "//apex_available:platform",
        "com.android.virt",
    ],
    product_available: true,
    vendor_available: true,
    visibility: [
        "//external/rust/android-crates-io/crates/der:__subpackages__",
        "//external/rust/crates/x509-cert:__subpackages__",
        "//system/keymint:__subpackages__",
    ],
}

rust_library_rlib {
    name: "libflagset_nostd",
    crate_name: "flagset",
    cargo_env_compat: true,
    cargo_pkg_version: "0.4.6",
    crate_root: "src/lib.rs",
    edition: "2021",
    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: [
        "//external/rust/android-crates-io/crates/der:__subpackages__",
        "//external/rust/crates/x509-cert:__subpackages__",
        "//system/keymint:__subpackages__",
    ],
}

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