diff options
author | Dmitry V. Levin <ldv@strace.io> | 2024-09-01 08:00:00 +0000 |
---|---|---|
committer | Dmitry V. Levin <ldv@strace.io> | 2024-09-10 08:00:00 +0000 |
commit | 7fb6beed01bc1a59438b8b2a9b34b2dba296e553 (patch) | |
tree | 2f6ae951c4d94d331e29e348e6ffd9846687be33 /libpam_misc | |
parent | aa3e91322cbc651bb130ec8636b28d676979d4fe (diff) | |
download | pam-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 'libpam_misc')
-rw-r--r-- | libpam_misc/include/security/meson.build | 1 | ||||
-rw-r--r-- | libpam_misc/meson.build | 40 |
2 files changed, 41 insertions, 0 deletions
diff --git a/libpam_misc/include/security/meson.build b/libpam_misc/include/security/meson.build new file mode 100644 index 00000000..4330915e --- /dev/null +++ b/libpam_misc/include/security/meson.build @@ -0,0 +1 @@ +install_headers('pam_misc.h', install_dir: includedir) diff --git a/libpam_misc/meson.build b/libpam_misc/meson.build new file mode 100644 index 00000000..e0bb30f5 --- /dev/null +++ b/libpam_misc/meson.build @@ -0,0 +1,40 @@ +subdir('include/security') + +libpam_misc_src = [ + 'help_env.c', + 'misc_conv.c', +] + +libpam_misc_inc = include_directories('include') + +libpam_misc_version = '0.82.1' +libpam_misc_map = 'libpam_misc.map' +libpam_misc_map_path = meson.current_source_dir() / libpam_misc_map + +libpam_misc_link_deps = [libpam_misc_map] +libpam_misc_link_args = ['-Wl,--version-script=' + libpam_misc_map_path] + +libpam_misc = shared_library( + 'pam_misc', + sources: libpam_misc_src, + include_directories: [libpam_misc_inc, libpamc_inc], + dependencies: [libpam_internal_dep, libpam_dep], + link_depends: libpam_misc_link_deps, + link_args: libpam_misc_link_args, + version: libpam_misc_version, + install: true, +) + +libpam_misc_dep = declare_dependency( + include_directories: [libpam_misc_inc], + link_with: [libpam_misc], +) + +pkgconfig.generate( + libpam_misc, + description: 'Miscellaneous functions that make the job of writing PAM-aware applications easier.', + name: 'pam_misc', + filebase: 'pam_misc', + version: meson.project_version(), + url: 'http://www.linux-pam.org/' +) |