# 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 = "2021"
name = "dlmalloc"
version = "0.2.6"
authors = ["Alex Crichton <alex@alexcrichton.com>"]
description = """
A Rust port of the dlmalloc allocator
"""
homepage = "https://github.com/alexcrichton/dlmalloc-rs"
documentation = "https://docs.rs/dlmalloc"
readme = "README.md"
license = "MIT/Apache-2.0"
repository = "https://github.com/alexcrichton/dlmalloc-rs"

[package.metadata.docs.rs]
features = ["global"]

[profile.release]
debug-assertions = true

[lib]
doctest = false

[dependencies.cfg-if]
version = "1.0"

[dependencies.compiler_builtins]
version = "0.1.0"
optional = true

[dependencies.core]
version = "1.0.0"
optional = true
package = "rustc-std-workspace-core"

[dev-dependencies.arbitrary]
version = "1.3.2"

[dev-dependencies.rand]
version = "0.8"
features = ["small_rng"]

[features]
debug = []
global = []
rustc-dep-of-std = [
    "core",
    "compiler_builtins/rustc-dep-of-std",
]

[target."cfg(all(unix, not(target_arch = \"wasm32\")))".dependencies.libc]
version = "0.2"
default-features = false

[target."cfg(target_os = \"windows\")".dependencies.windows-sys]
version = "0.52.0"
features = [
    "Win32_Foundation",
    "Win32_System_Memory",
    "Win32_System_Threading",
    "Win32_System_SystemInformation",
]
