From 7fb6beed01bc1a59438b8b2a9b34b2dba296e553 Mon Sep 17 00:00:00 2001 From: "Dmitry V. Levin" Date: Sun, 1 Sep 2024 08:00:00 +0000 Subject: 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. --- doc/specs/meson.build | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 doc/specs/meson.build (limited to 'doc/specs') diff --git a/doc/specs/meson.build b/doc/specs/meson.build new file mode 100644 index 00000000..4ddeef84 --- /dev/null +++ b/doc/specs/meson.build @@ -0,0 +1,42 @@ +parse_y = custom_target( + 'parse_y.[ch]', + input: 'parse_y.y', + output: ['parse_y.c', 'parse_y.h'], + command: yacc_cmd, +) + +parse_l = custom_target( + 'parse_l.c', + input: 'parse_l.l', + output: 'parse_l.c', + depends: parse_y, + command: [prog_flex, '-o', '@OUTPUT@', '@INPUT@'], +) + +padout = executable( + 'padout', + sources: [parse_l, parse_y], + include_directories: [libpam_inc], + c_args: [ + '-Wno-unused-function', + '-Wno-sign-compare', + ], + link_args: exe_link_args, +) + +custom_target( + 'draft-morgan-pam-current.txt', + input: 'draft-morgan-pam.raw', + output: 'draft-morgan-pam-current.txt', + command: [redir_exe, '@INPUT@', '@OUTPUT@', padout], + depends: padout, + install: true, + install_dir: docdir, + install_tag: 'doc', +) + +install_data( + 'rfc86.0.txt', + install_dir: docdir, + install_tag: 'doc', +) -- cgit v1.2.3