diff --git a/meson.build b/meson.build index 5ecad45..917695d 100644 --- a/meson.build +++ b/meson.build @@ -30,6 +30,36 @@ cargo_target = custom_target( build_by_default: true ) +# PAM module (.so with C ABI — no resources needed, Cargo self-contained) +pam_cargo = custom_target( + 'ahfail-pam-cargo-build', + input: ['crates/ahfail-pam/src/lib.rs', 'Cargo.toml'], + output: ['libahfail_pam.so'], + command: [ + 'sh', '-c', + 'cargo build --release -p ahfail-pam --target-dir "@OUTDIR@/target" && cp "@OUTDIR@/target/release/libahfail_pam.so" "@OUTPUT@"' + ], + build_by_default: true, + install: true, + install_dir: get_option('libdir') / 'ahfail', + install_mode: 'rwxr-xr-x' +) + +# Display binary (embeds GResources via its own build.rs) +display_cargo = custom_target( + 'ahfail-display-cargo-build', + input: ['crates/ahfail-display/src/main.rs', 'Cargo.toml'], + output: ['ahfail-display'], + command: [ + 'sh', '-c', + 'cargo build --release -p ahfail-display --target-dir "@OUTDIR@/target" && cp "@OUTDIR@/target/release/ahfail-display" "@OUTPUT@"' + ], + build_by_default: true, + install: true, + install_dir: get_option('libdir') / 'ahfail', + install_mode: 'rwxr-xr-x' +) + libahfail = shared_library( 'ahfail-module', resources,