// 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_userfaultfd-sys_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:'.
// See: http://go/android-license-faq
license {
    name: "external_rust_crates_userfaultfd-sys_license",
    visibility: [":__subpackages__"],
    license_kinds: [
        "SPDX-license-identifier-Apache-2.0",
        "SPDX-license-identifier-MIT",
    ],
    license_text: [
        "LICENSE-APACHE",
        "LICENSE-MIT",
    ],
}

rust_library {
    name: "libuserfaultfd_sys",
    host_supported: true,
    crate_name: "userfaultfd_sys",
    cargo_env_compat: true,
    cargo_pkg_version: "0.5.0",
    crate_root: "src/lib.rs",
    edition: "2018",
    features: ["default"],
    rustlibs: ["libcfg_if"],
    static_libs: ["libuserfaultfd_sys_consts"],
    apex_available: [
        "//apex_available:platform",
        "//apex_available:anyapex",
    ],
    product_available: true,
    vendor_available: true,
}

cc_library_static {
    name: "libuserfaultfd_sys_consts",
    host_supported: true,
    srcs: ["src/consts.c"],
    vendor_available: true,
    product_available: true,
}
