From: Marc-André Lureau <marcandre.lur...@redhat.com> Signed-off-by: Marc-André Lureau <marcandre.lur...@redhat.com> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> --- Makefile | 1 - Makefile.objs | 8 +++----- Makefile.target | 2 +- authz/Makefile.objs | 7 ------- authz/meson.build | 20 ++++++++++++++++++++ meson.build | 5 +++++ 6 files changed, 29 insertions(+), 14 deletions(-) delete mode 100644 authz/Makefile.objs create mode 100644 authz/meson.build
diff --git a/Makefile b/Makefile index 9e9b2cf..4da605e 100644 --- a/Makefile +++ b/Makefile @@ -197,7 +197,6 @@ include $(SRC_PATH)/Makefile.objs endif dummy := $(call unnest-vars,, \ - authz-obj-y \ chardev-obj-y \ block-obj-y \ block-obj-m \ diff --git a/Makefile.objs b/Makefile.objs index b695319..9201eca 100644 --- a/Makefile.objs +++ b/Makefile.objs @@ -3,11 +3,6 @@ chardev-obj-y = chardev/ ####################################################################### -# authz-obj-y is code used by both qemu system emulation and qemu-img - -authz-obj-y = authz/ - -####################################################################### # block-obj-y is code used by both qemu system emulation and qemu-img block-obj-y = nbd/ @@ -26,6 +21,9 @@ crypto-obj-y = crypto/ ####################################################################### # libraries built entirely from meson +authz-obj-y = authz/libauthz.fa +authz/libauthz.fa-libs = $(if $(CONFIG_AUTH_PAM),-lpam) + qom-obj-y = qom/libqom.fa ####################################################################### diff --git a/Makefile.target b/Makefile.target index df3b14a..d243e52 100644 --- a/Makefile.target +++ b/Makefile.target @@ -177,9 +177,9 @@ all-obj-y := $(obj-y) include $(SRC_PATH)/Makefile.objs dummy := $(call fix-paths,../,, \ + authz-obj-y \ qom-obj-y) dummy := $(call unnest-vars,.., \ - authz-obj-y \ block-obj-y \ block-obj-m \ chardev-obj-y \ diff --git a/authz/Makefile.objs b/authz/Makefile.objs deleted file mode 100644 index ed7b273..0000000 --- a/authz/Makefile.objs +++ /dev/null @@ -1,7 +0,0 @@ -authz-obj-y += base.o -authz-obj-y += simple.o -authz-obj-y += list.o -authz-obj-y += listfile.o -authz-obj-$(CONFIG_AUTH_PAM) += pamacct.o - -pamacct.o-libs = -lpam diff --git a/authz/meson.build b/authz/meson.build new file mode 100644 index 0000000..a3de3d0 --- /dev/null +++ b/authz/meson.build @@ -0,0 +1,20 @@ +authz_ss = ss.source_set() +authz_ss.add(genh) +authz_ss.add(files( + 'base.c', + 'list.c', + 'listfile.c', + 'simple.c', +)) + +authz_ss.add(when: ['CONFIG_AUTH_PAM', pam], if_true: files('pamacct.c')) + +authz_ss = authz_ss.apply(config_host, strict: false) +libauthz = static_library('authz', authz_ss.sources(), + dependencies: [qom, authz_ss.dependencies()], + name_suffix: 'fa', + build_by_default: false) + +authz = declare_dependency(link_whole: libauthz) + +softmmu_ss.add(authz) diff --git a/meson.build b/meson.build index 36094fe..9ae2699 100644 --- a/meson.build +++ b/meson.build @@ -66,6 +66,10 @@ if 'CONFIG_GNUTLS' in config_host endif pixman = declare_dependency(compile_args: config_host['PIXMAN_CFLAGS'].split(), link_args: config_host['PIXMAN_LIBS'].split()) +pam = declare_dependency() +if 'CONFIG_AUTH_PAM' in config_host + pam = cc.find_library('pam') +endif libattr = declare_dependency() if 'CONFIG_ATTR' in config_host libattr = declare_dependency(link_args: config_host['LIBATTR_LIBS'].split()) @@ -272,6 +276,7 @@ qemuutil = declare_dependency(link_with: libqemuutil, sources: version_res) subdir('qom') +subdir('authz') subdir('fsdev') # Other build targets -- 1.8.3.1