// This file is generated by cargo2android.py --config cargo2android.json.
// Do not modify this file as changes will be overridden on upgrade.

package {
    default_applicable_licenses: ["external_rust_crates_getrandom_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_getrandom_license",
    visibility: [":__subpackages__"],
    license_kinds: [
        "SPDX-license-identifier-Apache-2.0",
        "SPDX-license-identifier-MIT",
    ],
    license_text: [
        "LICENSE-APACHE",
        "LICENSE-MIT",
    ],
}

rust_defaults {
    name: "getrandom_defaults",
    crate_name: "getrandom",
    srcs: ["src/lib.rs"],
    test_suites: ["general-tests"],
    auto_gen_config: true,
    edition: "2018",
    features: ["std"],
    rustlibs: [
        "libcfg_if",
        "liblibc",
    ],
}

rust_test_host {
    name: "getrandom_host_test_src_lib",
    defaults: ["getrandom_defaults"],
    test_options: {
        unit_test: true,
    },
}

rust_test {
    name: "getrandom_device_test_src_lib",
    defaults: ["getrandom_defaults"],
}

rust_defaults {
    name: "getrandom_defaults_getrandom",
    crate_name: "getrandom",
    test_suites: ["general-tests"],
    auto_gen_config: true,
    edition: "2018",
    features: ["std"],
    rustlibs: [
        "libcfg_if",
        "libgetrandom",
        "liblibc",
    ],
}

rust_test_host {
    name: "getrandom_host_test_tests_custom",
    defaults: ["getrandom_defaults_getrandom"],
    srcs: ["tests/custom.rs"],
    test_options: {
        unit_test: true,
    },
}

rust_test {
    name: "getrandom_device_test_tests_custom",
    defaults: ["getrandom_defaults_getrandom"],
    srcs: ["tests/custom.rs"],
}

rust_test_host {
    name: "getrandom_host_test_tests_normal",
    defaults: ["getrandom_defaults_getrandom"],
    srcs: ["tests/normal.rs"],
    test_options: {
        unit_test: true,
    },
}

rust_test {
    name: "getrandom_device_test_tests_normal",
    defaults: ["getrandom_defaults_getrandom"],
    srcs: ["tests/normal.rs"],
}

rust_test_host {
    name: "getrandom_host_test_tests_rdrand",
    defaults: ["getrandom_defaults_getrandom"],
    srcs: ["tests/rdrand.rs"],
    test_options: {
        unit_test: true,
    },
}

rust_test {
    name: "getrandom_device_test_tests_rdrand",
    defaults: ["getrandom_defaults_getrandom"],
    srcs: ["tests/rdrand.rs"],
}

rust_library {
    name: "libgetrandom",
    host_supported: true,
    crate_name: "getrandom",
    srcs: ["src/lib.rs"],
    edition: "2018",
    features: ["std"],
    rustlibs: [
        "libcfg_if",
        "liblibc",
    ],
    apex_available: [
        "//apex_available:platform",
        "com.android.virt",
    ],
}

// dependent_library ["feature_list"]
//   cfg-if-1.0.0
//   libc-0.2.97
