// This file is generated by cargo2android.py --run --device --tests --dependencies --patch=patches/Android.bp.patch.

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

rust_library {
    name: "librand_xorshift",
    host_supported: true,
    crate_name: "rand_xorshift",
    srcs: ["src/lib.rs"],
    edition: "2018",
    rustlibs: [
        "librand_core",
    ],
}

rust_defaults {
    name: "rand_xorshift_defaults",
    crate_name: "rand_xorshift",
    srcs: ["src/lib.rs"],
    test_suites: ["general-tests"],
    auto_gen_config: true,
    edition: "2018",
    rustlibs: [
        // ANDROID: not really used
        //"libbincode",
        "librand_core",
    ],
}

rust_test_host {
    name: "rand_xorshift_host_test_src_lib",
    defaults: ["rand_xorshift_defaults"],
}

rust_test {
    name: "rand_xorshift_device_test_src_lib",
    defaults: ["rand_xorshift_defaults"],
}

rust_defaults {
    name: "rand_xorshift_defaults_mod",
    crate_name: "mod",
    srcs: ["tests/mod.rs"],
    test_suites: ["general-tests"],
    auto_gen_config: true,
    edition: "2018",
    rustlibs: [
        // ANDROID: not really used
        //"libbincode",
        "librand_core",
        "librand_xorshift",
    ],
}

rust_test_host {
    name: "rand_xorshift_host_test_tests_mod",
    defaults: ["rand_xorshift_defaults_mod"],
}

rust_test {
    name: "rand_xorshift_device_test_tests_mod",
    defaults: ["rand_xorshift_defaults_mod"],
}

// dependent_library ["feature_list"]
//   bincode-1.3.1
//   byteorder-1.3.4 "default,std"
//   rand_core-0.6.0
//   serde-1.0.118 "default,std"
