Mercurial > crates > nonstick
diff libpam-sys/build.rs @ 127:c77846f3a979
GET CTEST WORKING.
This will verify that the functions we're exporting are correct.
It has been a nightmare.
author | Paul Fisher <paul@pfish.zone> |
---|---|
date | Mon, 30 Jun 2025 22:56:26 -0400 |
parents | e97534be35e3 |
children | ad77f2af5ff4 |
line wrap: on
line diff
--- a/libpam-sys/build.rs Mon Jun 30 21:52:10 2025 -0400 +++ b/libpam-sys/build.rs Mon Jun 30 22:56:26 2025 -0400 @@ -1,3 +1,13 @@ +use libpam_sys_impls::__pam_impl_enum__; +use strum::{EnumIter, IntoEnumIterator}; + +__pam_impl_enum__!(#[derive(EnumIter)]); + fn main() { println!("cargo:rustc-link-lib=pam"); + let pam_impl_strs: Vec<_> = PamImpl::iter().map(|e| format!("\"{:?}\"", e)).collect(); + let pam_impls = pam_impl_strs.join(","); + // We use this for ctest. Don't do what we've done; just use cfg_pam_impl. + println!("cargo:check-cfg=cfg(_private_pam_impl_hack, values({pam_impls}))"); + println!("cargo:rustc-cfg=_private_pam_impl_hack=\"{:?}\"", PamImpl::CURRENT); }