# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2018"
name = "cpufeatures"
version = "0.2.14"
authors = ["RustCrypto Developers"]
build = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = """
Lightweight runtime CPU feature detection for aarch64, loongarch64, and x86/x86_64 targets, 
with no_std support and support for mobile targets including Android and iOS
"""
documentation = "https://docs.rs/cpufeatures"
readme = "README.md"
keywords = [
    "cpuid",
    "target-feature",
]
categories = [
    "hardware-support",
    "no-std",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/RustCrypto/utils"
resolver = "2"

[lib]
name = "cpufeatures"
path = "src/lib.rs"

[[test]]
name = "aarch64"
path = "tests/aarch64.rs"

[[test]]
name = "loongarch64"
path = "tests/loongarch64.rs"

[[test]]
name = "x86"
path = "tests/x86.rs"

[target.aarch64-linux-android.dependencies.libc]
version = "0.2.155"

[target.'cfg(all(target_arch = "aarch64", target_os = "linux"))'.dependencies.libc]
version = "0.2.155"

[target.'cfg(all(target_arch = "aarch64", target_vendor = "apple"))'.dependencies.libc]
version = "0.2.155"

[target.'cfg(all(target_arch = "loongarch64", target_os = "linux"))'.dependencies.libc]
version = "0.2.155"
