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);
 }