use std::{env, io::Write};
use tempfile::NamedTempFile;
fn main() {
if cfg!(feature = "capi") {
let name = "pathrs";
let major = env::var("CARGO_PKG_VERSION_MAJOR").unwrap();
println!("cargo:rustc-cdylib-link-arg=-Wl,-soname,lib{name}.so.{major}");
let (mut version_script_file, version_script_path) =
NamedTempFile::with_prefix("libpathrs-version-script.")
.expect("mktemp")
.keep()
.expect("persist mktemp");
let version_script_path = version_script_path
.to_str()
.expect("mktemp should be utf-8 safe string");
writeln!(
version_script_file,
r#"
LIBPATHRS_0.2 {{ local: *; }} LIBPATHRS_0.1;
LIBPATHRS_0.1 {{ }};
"#
)
.expect("write version script");
println!("cargo:rustc-cdylib-link-arg=-Wl,--version-script={version_script_path}");
println!("cargo:rustc-cdylib-link-arg=-Wl,--wrap=pathrs_inroot_open_bad");
}
}