pyo3/pyo3-build-config/build.rs

33 lines
935 B
Rust
Raw Normal View History

// Import some modules from this crate inline to generate the build config.
// Allow dead code because not all code in the modules is used in this build script.
#[path = "src/impl_.rs"]
#[allow(dead_code)]
mod impl_;
#[path = "src/errors.rs"]
#[allow(dead_code)]
mod errors;
use std::{env, path::Path};
use errors::{Result, Context};
fn generate_build_config() -> Result<()> {
// Create new interpreter config and write it to the default location
let interpreter_config = impl_::make_interpreter_config()?;
let path = Path::new(&env::var_os("OUT_DIR").unwrap()).join("pyo3-build-config.txt");
interpreter_config
.to_writer(&mut std::fs::File::create(&path).with_context(|| {
format!("failed to create config file at {}", path.display())
})?)
}
fn main() {
if let Err(e) = generate_build_config() {
eprintln!("error: {}", e.report());
std::process::exit(1)
}
}