cc 1.4.3

A build-time dependency for Cargo build scripts to assist in invoking the native C compiler to compile native C code into a static archive to be linked into Rust code.
Documentation
[package]
name = "cc"
version = "1.4.3"
edition.workspace = true
rust-version.workspace = true
description = """
A build-time dependency for Cargo build scripts to assist in invoking the native
C compiler to compile native C code into a static archive to be linked into Rust
code.
"""
documentation = "https://docs.rs/cc"
readme = "README.md"
homepage = "https://github.com/rust-lang/cc-rs"
repository.workspace = true
license.workspace = true
keywords.workspace = true
categories.workspace = true
# The binary target is only used by tests.
exclude = ["/.github", "src/bin", "tests"]

[workspace]
members = [
    "dev-tools/cc-test",
    "dev-tools/gen-target-info",
    "dev-tools/gen-windows-sys-binding",
    "dev-tools/wasi-test",
    "find-msvc-tools",
]

[workspace.package]
edition = "2021"
rust-version = "1.65.0"
repository = "https://github.com/rust-lang/cc-rs"
license = "MIT OR Apache-2.0"
keywords = ["build-dependencies"]
categories = ["development-tools::build-utils"]

[workspace.lints.clippy]
borrow_as_ptr = "warn"
disallowed_methods = "warn"
doc_markdown = "warn"
manual_let_else = "warn"
ptr_as_ptr = "warn"
ptr_cast_constness = "warn"

[workspace.lints.rust]
missing_docs = "warn"
unexpected_cfgs = { level = "allow", check-cfg = ['cfg(disable_clang_cl_tests)'] }

[dependencies]
find-msvc-tools = { path = "find-msvc-tools", version = "0.1.11" }
jobserver = { version = "0.1.30", default-features = false, optional = true }
shlex = "2.0.1"

[dev-dependencies]
tempfile = "3"

[target.'cfg(unix)'.dependencies]
# Don't turn on the feature "std" for this, see https://github.com/rust-lang/cargo/issues/4866
# which is still an issue with `resolver = "1"`.
libc = { version = "0.2.168", default-features = false, optional = true }

[features]
# This is a placeholder feature for people who incorrectly used `cc` with `features = ["jobserver"]`
# so that they aren't broken. This has never enabled `parallel`, so we won't do that.
jobserver = []
parallel = ["dep:jobserver", "dep:libc"]

[lints]
workspace = true

[patch.crates-io]
cc = { path = "." }

[profile.release]
opt-level = 3  # Or "s" or "z" for different optimization goals
lto = true