// This file is generated by cargo_embargo.
// Do not modify this file after the first "rust_*" or "genrule" module
// because the changes will be overridden on upgrade.
// Content before the first "rust_*" or "genrule" module is preserved.

package {
    default_applicable_licenses: ["external_rust_crates_libc_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.
//
// large-scale-change included anything that looked like it might be a license
// text as a license_text. e.g. LICENSE, NOTICE, COPYING etc.
//
// Please consider removing redundant or irrelevant files from 'license_text:'.
// http://go/android-license-faq
license {
    name: "external_rust_crates_libc_license",
    visibility: [":__subpackages__"],
    license_kinds: [
        "SPDX-license-identifier-Apache-2.0",
        "SPDX-license-identifier-MIT",
    ],
    license_text: [
        "LICENSE-APACHE",
        "LICENSE-MIT",
    ],
}

rust_library {
    name: "liblibc",
    host_supported: true,
    crate_name: "libc",
    cargo_env_compat: true,
    cargo_pkg_version: "0.2.153",
    crate_root: "src/lib.rs",
    edition: "2015",
    features: [
        "default",
        "extra_traits",
        "std",
    ],
    cfgs: [
        "freebsd11",
        "libc_align",
        "libc_cfg_target_vendor",
        "libc_const_extern_fn",
        "libc_const_size_of",
        "libc_core_cvoid",
        "libc_int128",
        "libc_long_array",
        "libc_non_exhaustive",
        "libc_packedN",
        "libc_priv_mod_use",
        "libc_ptr_addr_of",
        "libc_underscore_const_names",
        "libc_union",
    ],
    apex_available: [
        "//apex_available:platform",
        "//apex_available:anyapex",
    ],
    product_available: true,
    vendor_available: true,
    min_sdk_version: "29",
}
