# 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]
name = "errno"
version = "0.2.8"
authors = ["Chris Wong <lambda.fairy@gmail.com>"]
description = "Cross-platform interface to the `errno` variable."
documentation = "https://docs.rs/errno"
categories = ["os"]
license = "MIT/Apache-2.0"
repository = "https://github.com/lambda-fairy/rust-errno"

[features]
default = ["std"]
std = []
[target."cfg(target_os=\"dragonfly\")".dependencies.errno-dragonfly]
version = "0.1.1"
[target."cfg(target_os=\"hermit\")".dependencies.libc]
version = "0.2"
[target."cfg(target_os=\"wasi\")".dependencies.libc]
version = "0.2"
[target."cfg(unix)".dependencies.libc]
version = "0.2"
[target."cfg(windows)".dependencies.winapi]
version = "0.3"
features = ["errhandlingapi", "minwindef", "ntdef", "winbase"]
