saltwater 0.11.0

A C compiler written in Rust, with a focus on good error messages.
Documentation
[package]
name = "saltwater"
version = "0.11.0"
authors = [
  "Joshua Nelson <jyn514@gmail.com>",
  "Graham Scheaffer <me@gisch.dev>",
  "Wesley Norris <repnop@outlook.com>",
  "playX",
  "Kevin Becker <k.becker@byter.dev>",
  "Hunter Damron <hdamron@email.sc.edu>",
  "Justus K <justus.k@protonmail.com>",
]
edition = "2018"
description = "A C compiler written in Rust, with a focus on good error messages."
repository = "https://github.com/jyn514/saltwater/"
readme = "README.md"
categories = ["development-tools", "parser-implementations"]
license = "BSD-3-Clause"
keywords = ["C", "compiler", "recursive-descent", "cranelift"]
default-run = "swcc"
documentation = "https://docs.rs/saltwater"

[dependencies]
lazy_static = "1"
ansi_term = { version = "0.12", optional = true }
cranelift = { version = "0.66", optional = true }
cranelift-module = { version = "0.66", optional = true }
cranelift-object = { version = "0.66", optional = true }
cranelift-simplejit = { version = "0.66", optional = true }
hexponent = "0.3"
thiserror = "^1.0.10"
target-lexicon = "0.10"
tempfile = { version = "3", optional = true }
pico-args = { version = "0.3", optional = true }
lasso = "0.2"
codespan = { version = ">=0.9.5", default-features = false }
color-backtrace = { version = "0.4", default-features = false, optional = true }
counter = "0.4"
atty = { version = "0.2", default-features = false, optional = true } 
git-testament = { version = "0.1", optional = true }
rand = { version = "0.7", optional = true }
rodio = { version = "0.11.0", optional = true }

[dev-dependencies]
env_logger = { version = "0.7", default-features = false }
log = "0.4"
criterion = "0.3"
walkdir = "2"
proptest = "^0.9.6"
proptest-derive = "0.1"

[features]
default = ["cc", "codegen", "color-backtrace"]
# The `swcc` binary
cc = ["ansi_term", "tempfile", "pico-args", "codegen", "atty"]
codegen = ["cranelift", "cranelift-module", "cranelift-object"]
jit = ["codegen", "cranelift-simplejit"]
salty = ["rand", "rodio"]
# for internal use
_test_headers = []

[[bin]]
name = "swcc"
path = "src/main.rs"
required-features = ["cc"]

[[bench]]
name = "examples"
harness = false
required-features = ["jit"]

[[bench]]
name = "parens"
harness = false

[[test]]
name = "jit"
required-features = ["jit"]

[[test]]
name = "runner"
required-features = ["cc"]

[[test]]
name = "varargs"
required-features = ["cc"]

[[test]]
name = "headers"
# MacOS breaks if you pass -undef to the system preprocessor
required-features = ["cc", "_test_header"]

[profile.release]
lto = true

[profile.test]
debug = false  # speeds up link time

[profile.bench]
opt-level = 3
debug = false
lto = true
debug-assertions = false
codegen-units = 1
incremental = false
overflow-checks = false

[package.metadata.docs.rs]
all-features = true
# opt-out of non-default targets
targets = []