-
Notifications
You must be signed in to change notification settings - Fork 2.7k
Open
Labels
A-build-scriptsArea: build.rs scriptsArea: build.rs scriptsC-tracking-issueCategory: A tracking issue for something unstable.Category: A tracking issue for something unstable.
Description
Like RUSTFLAGS, build scripts are an important escape hatch. Like RUSTFLAGS (#12739), we should find replacements for common uses of build scripts so people don't have to reach to this escape hatch so often
Reducing build scripts would
- Improve build times
- Reduce risk of bugs
- Reduce the dependency review audit scope
Uses of build scripts
- Version detection
- Making
cfgvalues available at runtime (e.g. in--bugreport,--version, or crash reports, or for tests building examples)- Possibly provide
cfg_value!,cfg_values!,try_cfg_value!,try_cfg_values!(see also mutually exclusive features)
- Possibly provide
- Making
TARGETavailable at runtime (e.g.--version, building examples in tests) - Codegen
- cfg_aliases
- Feature warnings (deprecations, a feature being "disabled" due to a platform or another feature, etc)
- Catch-all: Tracking issue for RFC 2196, "metabuild: semantic build scripts for Cargo" #14903
- Note: this would also allow consolidating the ecosystem which would help with baking-in more features to replace build scripts
- Enable linker warnings on Windows
- Embedded windows manifests
- Can we use this for
-syscrates / FFI?
kornelski, yerke, 0xdeafbeef, davidlattimore, randomusert and 11 moreselvmaya, tversteeg, yerke, davidlattimore, kamulos and 11 more
Metadata
Metadata
Assignees
Labels
A-build-scriptsArea: build.rs scriptsArea: build.rs scriptsC-tracking-issueCategory: A tracking issue for something unstable.Category: A tracking issue for something unstable.
Type
Projects
Status
No status