view 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 source

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