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

license {
    name: "external_rust_crates_nix_license",
    visibility: [":__subpackages__"],
    license_kinds: ["SPDX-license-identifier-MIT"],
    license_text: ["LICENSE"],
}

rust_library {
    name: "libnix",
    host_supported: true,
    crate_name: "nix",
    cargo_env_compat: true,
    cargo_pkg_version: "0.28.0",
    crate_root: "src/lib.rs",
    edition: "2021",
    features: [
        "event",
        "feature",
        "fs",
        "inotify",
        "ioctl",
        "memoffset",
        "mman",
        "mount",
        "net",
        "poll",
        "process",
        "sched",
        "signal",
        "socket",
        "term",
        "time",
        "uio",
        "user",
    ],
    rustlibs: [
        "libbitflags",
        "libcfg_if",
        "liblibc",
        "libmemoffset",
    ],
    apex_available: [
        "//apex_available:platform",
        "//apex_available:anyapex",
    ],
    product_available: true,
    vendor_available: true,
    min_sdk_version: "29",
    // Manually translated build.rs cfg aliases.
    target: {
        host_linux: {
            cfgs: [
                "linux",
                "linux_android",
            ],
        },
        android: {
            cfgs: [
                "android",
                "linux_android",
            ],
        },
    },

}
