aboutsummaryrefslogtreecommitdiff
path: root/doc/man
diff options
context:
space:
mode:
authorDmitry V. Levin <ldv@strace.io>2024-09-01 08:00:00 +0000
committerDmitry V. Levin <ldv@strace.io>2024-09-10 08:00:00 +0000
commit7fb6beed01bc1a59438b8b2a9b34b2dba296e553 (patch)
tree2f6ae951c4d94d331e29e348e6ffd9846687be33 /doc/man
parentaa3e91322cbc651bb130ec8636b28d676979d4fe (diff)
downloadpam-7fb6beed01bc1a59438b8b2a9b34b2dba296e553.tar.gz
pam-7fb6beed01bc1a59438b8b2a9b34b2dba296e553.tar.bz2
pam-7fb6beed01bc1a59438b8b2a9b34b2dba296e553.zip
meson: build Linux-PAM using meson
On my non-representative hardware, the full build using autotools (./autogen.sh && CFLAGS=-O2 ./configure && make -j`nproc` && make -j`nproc` install) takes about 45 seconds. On the same hardware, the full build using meson (meson setup -Doptimization=2 dir && meson compile -C dir && meson install -C dir) takes just about 7.5 seconds.
Diffstat (limited to 'doc/man')
-rw-r--r--doc/man/meson.build67
1 files changed, 67 insertions, 0 deletions
diff --git a/doc/man/meson.build b/doc/man/meson.build
new file mode 100644
index 00000000..b90b1578
--- /dev/null
+++ b/doc/man/meson.build
@@ -0,0 +1,67 @@
+foreach man: [['misc_conv.3', []],
+ ['pam.3', []],
+ ['pam_acct_mgmt.3', []],
+ ['pam_authenticate.3', []],
+ ['pam_chauthtok.3', []],
+ ['pam_close_session.3', []],
+ ['pam_conv.3', []],
+ ['pam_end.3', []],
+ ['pam_error.3', ['pam_verror.3']],
+ ['pam_fail_delay.3', []],
+ ['pam_get_authtok.3', ['pam_get_authtok_noverify.3', 'pam_get_authtok_verify.3']],
+ ['pam_get_data.3', []],
+ ['pam_get_item.3', []],
+ ['pam_get_user.3', []],
+ ['pam_getenv.3', []],
+ ['pam_getenvlist.3', []],
+ ['pam_info.3', ['pam_vinfo.3']],
+ ['pam_misc_drop_env.3', []],
+ ['pam_misc_paste_env.3', []],
+ ['pam_misc_setenv.3', []],
+ ['pam_open_session.3', []],
+ ['pam_prompt.3', ['pam_vprompt.3']],
+ ['pam_putenv.3', []],
+ ['pam_set_data.3', []],
+ ['pam_set_item.3', []],
+ ['pam_setcred.3', []],
+ ['pam_sm_acct_mgmt.3', []],
+ ['pam_sm_authenticate.3', []],
+ ['pam_sm_chauthtok.3', []],
+ ['pam_sm_close_session.3', []],
+ ['pam_sm_open_session.3', []],
+ ['pam_sm_setcred.3', []],
+ ['pam_start.3', []],
+ ['pam_strerror.3', []],
+ ['pam_syslog.3', ['pam_vsyslog.3']],
+ ['pam_xauth_data.3', []],
+ ['pam.conf.5', ['pam.d.5']],
+ ['pam.8', ['PAM.8']],
+ ]
+ xml = man[0] + '.xml'
+
+ run_command([prog_xmllint,
+ '--nonet',
+ '--noout',
+ '--xinclude',
+ '--relaxng', docbook_rng,
+ xml],
+ check: true)
+
+ custom_target(man[0],
+ input: xml,
+ output: man,
+ depends: custom_man_xsl,
+ command: [prog_xsltproc,
+ '-o', '@OUTPUT0@',
+ '--nonet',
+ '--xinclude',
+ '--path', meson.current_source_dir(),
+ stringparam_vendordir,
+ stringparam_profileconditions,
+ custom_man_xsl,
+ '@INPUT@'],
+ install: true,
+ install_dir: mandir / 'man' + man[0].substring(-1),
+ install_tag: 'man',
+ )
+endforeach