]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
meson: src: build libvirt_driver_admin.a static lib
authorPavel Hrdina <phrdina@redhat.com>
Mon, 27 Jul 2020 06:22:41 +0000 (08:22 +0200)
committerPavel Hrdina <phrdina@redhat.com>
Mon, 3 Aug 2020 07:27:04 +0000 (09:27 +0200)
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Neal Gompa <ngompa13@gmail.com>
src/admin/Makefile.inc.am
src/admin/meson.build [new file with mode: 0644]
src/meson.build
src/rpc/meson.build

index 93f0fb2bc27f45403f4a981c1238d66da65a8e02..37692e77e358e8149035d04eb61f6f50fb839e82 100644 (file)
@@ -3,41 +3,11 @@
 ADMIN_PROTOCOL = $(srcdir)/admin/admin_protocol.x
 
 ADMIN_PROTOCOL_GENERATED = \
-       admin/admin_protocol.c \
-       admin/admin_protocol.h \
        admin/admin_client.h \
-       admin/admin_server_dispatch_stubs.h \
        $(NULL)
 
 BUILT_SOURCES += $(ADMIN_PROTOCOL_GENERATED)
 
-admin/admin_server_dispatch.c: admin/admin_server_dispatch_stubs.h
-
-noinst_LTLIBRARIES += libvirt_driver_admin.la
-libvirt_driver_admin_la_SOURCES = \
-       admin/admin_server.c \
-       admin/admin_server.h \
-       admin/admin_server_dispatch.c \
-       admin/admin_server_dispatch.h \
-       $(NULL)
-nodist_libvirt_driver_admin_la_SOURCES = \
-       $(ADMIN_PROTOCOL_GENERATED)
-libvirt_driver_admin_la_CFLAGS = \
-       $(AM_CFLAGS) \
-       $(XDR_CFLAGS) \
-       -I$(top_srcdir)/src/admin \
-       -I$(top_builddir)/src/admin \
-       -I$(top_srcdir)/src/util \
-       -I$(top_builddir)/src/rpc \
-       $(NULL)
-libvirt_driver_admin_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
-
-if WITH_SASL
-libvirt_driver_admin_la_CFLAGS += \
-       $(SASL_CFLAGS) \
-       $(NULL)
-endif WITH_SASL
-
 GENERATED_SYM_FILES += admin/libvirt_admin.syms admin/libvirt_admin.def
 
 ADMIN_SYM_FILES = $(srcdir)/admin/libvirt_admin_private.syms
@@ -116,12 +86,6 @@ admin/admin_client.h: $(srcdir)/rpc/gendispatch.pl \
          admin ADMIN $(ADMIN_PROTOCOL) \
          > admin/admin_client.h
 
-admin/admin_server_dispatch_stubs.h: $(srcdir)/rpc/gendispatch.pl \
-               $(ADMIN_PROTOCOL) Makefile.am
-       $(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=server \
-         admin ADMIN $(ADMIN_PROTOCOL) \
-         > admin/admin_server_dispatch_stubs.h
-
 admin/libvirt_admin.syms: admin/libvirt_admin_public.syms $(ADMIN_SYM_FILES) \
                $(top_builddir)/config.status
        $(AM_V_GEN)rm -f $@-tmp $@ ; \
diff --git a/src/admin/meson.build b/src/admin/meson.build
new file mode 100644 (file)
index 0000000..cf2f206
--- /dev/null
@@ -0,0 +1,50 @@
+admin_driver_sources = [
+  'admin_server.c',
+  'admin_server_dispatch.c',
+]
+
+admin_driver_protocol = files('admin_protocol.x')
+
+admin_driver_generated = []
+
+admin_driver_generated += custom_target(
+  'admin_protocol.h',
+  input: admin_driver_protocol,
+  output: 'admin_protocol.h',
+  command: [
+    genprotocol_prog, rpcgen_prog, '-h', '@INPUT@', '@OUTPUT@',
+  ],
+)
+
+admin_driver_generated += custom_target(
+  'admin_protocol.c',
+  input: admin_driver_protocol,
+  output: 'admin_protocol.c',
+  command: [
+    genprotocol_prog, rpcgen_prog, '-c', '@INPUT@', '@OUTPUT@',
+  ],
+)
+
+admin_driver_generated += custom_target(
+  'admin_server_dispatch_stubs.h',
+  input: admin_driver_protocol,
+  output: 'admin_server_dispatch_stubs.h',
+  command: [
+    gendispatch_prog, '--mode=server', 'admin', 'ADMIN', '@INPUT@',
+  ],
+  capture: true,
+)
+
+admin_driver_lib = static_library(
+  'virt_admin_driver',
+  [
+    admin_driver_sources,
+    admin_driver_generated,
+  ],
+  dependencies: [
+    rpc_dep,
+    sasl_dep,
+    src_dep,
+    xdr_dep,
+  ],
+)
index 818331988b75c4d961f905c418b451fce70df8fe..8a5f680f93a5527fe641cf3bbbace023a73ed123 100644 (file)
@@ -90,3 +90,5 @@ src_dep = declare_dependency(
 subdir('conf')
 subdir('rpc')
 subdir('access')
+
+subdir('admin')
index f6e8c7adba51415daf3b13e56ff3cdd9a1449d68..b8fbe0c38b115d8ff517c52d12baceaaba385d49 100644 (file)
@@ -107,3 +107,8 @@ virt_rpc_client_lib = static_library(
 )
 
 rpc_inc_dir = include_directories('.')
+
+rpc_dep = declare_dependency(
+  include_directories: [ rpc_inc_dir ],
+  sources: [ rpc_gen_headers ],
+)