view libpam-sys/build.rs @ 130:80c07e5ab22f

Transfer over (almost) completely to using libpam-sys. This reimplements everything in nonstick on top of the new -sys crate. We don't yet use libpam-sys's helpers for binary message payloads. Soon.
author Paul Fisher <paul@pfish.zone>
date Tue, 01 Jul 2025 06:11:43 -0400
parents ad77f2af5ff4
children a632a8874131
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:rustc-check-cfg=cfg(_private_pam_impl_hack, values({pam_impls}))");
    println!(
        "cargo:rustc-cfg=_private_pam_impl_hack=\"{:?}\"",
        PamImpl::CURRENT
    );
}