#build-script #build #static #build-time #compile-time #const #embedded

no-std build build_const

library for creating importable constants from build.rs or a script

5 releases

Uses old Rust 2015

0.2.2 Apr 20, 2021
0.2.1 Apr 13, 2018
0.2.0 May 31, 2017
0.1.1 May 30, 2017
0.1.0 May 29, 2017

#169 in Build Utils

Download history 57138/week @ 2024-11-16 46377/week @ 2024-11-23 52541/week @ 2024-11-30 51073/week @ 2024-12-07 52905/week @ 2024-12-14 17510/week @ 2024-12-21 25495/week @ 2024-12-28 49466/week @ 2025-01-04 64506/week @ 2025-01-11 53424/week @ 2025-01-18 60658/week @ 2025-01-25 72831/week @ 2025-02-01 71918/week @ 2025-02-08 58365/week @ 2025-02-15 62175/week @ 2025-02-22 56534/week @ 2025-03-01

262,977 downloads per month
Used in 275 crates (2 directly)

MIT license

12KB
139 lines

build_const: crate for creating constants in your build script

Rust library for creating importable constants from build.rs or a script

See the crate documentation and the crate on crates.io


lib.rs:

build_const: crate for creating constants in your build script

The build_const crate exists to help create rust constant files at compile time or in a generating script. It is ultra simple and lightweight, making constant creation a simple matter.

Recommended use: when developing make your constants in build.rs. Once your constants are fairly stable create a script instead and have your constants file be generated in either a single file or an external crate that you can bring in as a dependency.

Example

Include build_const = VERSION in your Cargo.toml file. For no_std support (macros only) use default-features = false.

See ConstWriter for how to use in a build.rs or script. To then import a "constants.rs" file created in build.rs use:

#[macro_use]
extern crate build_const;

build_const!("constants");
println!("VALUE: {}", VALUE);
println!("VALUE: {}", ARRAY);

For writing constants in a script, the macro src_file! is also provided.

// will write files to `/src/constants.rs`
let mut consts = ConstWriter::from_path(&Path::from(src_file!("constants.rs"))).unwrap();
// ... use consts

No runtime deps

Features