# 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 = "measureme"
version = "12.0.0"
authors = [
    "Wesley Wiser <wwiser@gmail.com>",
    "Michael Woerister <michaelwoerister@posteo>",
]
description = "Support crate for rustc's self-profiling feature"
license = "MIT OR Apache-2.0"
repository = "https://github.com/rust-lang/measureme"

[dependencies.log]
version = "0.4"

[dependencies.parking_lot]
version = "0.12.0"

[dependencies.rustc-hash]
version = "1.0.1"

[dependencies.smallvec]
version = "1.0"

[features]
nightly = []

[target."cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))".dependencies.memmap2]
version = "0.2.1"

[target."cfg(all(target_arch = \"x86_64\", target_os = \"linux\"))".dependencies.perf-event-open-sys]
version = "3.0.0"
