From 29a29f9b0165a3bedc06a97d480a5a1878fe3448 Mon Sep 17 00:00:00 2001 From: Pavel Hrdina Date: Mon, 27 Jul 2020 11:06:06 +0200 Subject: [PATCH] meson: src: build libvirt_rpc static libs Signed-off-by: Pavel Hrdina Reviewed-by: Peter Krempa Reviewed-by: Neal Gompa --- src/Makefile.am | 10 ---- src/meson.build | 1 + src/rpc/Makefile.inc.am | 121 ---------------------------------------- src/rpc/meson.build | 108 +++++++++++++++++++++++++++++++++++ 4 files changed, 109 insertions(+), 131 deletions(-) delete mode 100644 src/rpc/Makefile.inc.am create mode 100644 src/rpc/meson.build diff --git a/src/Makefile.am b/src/Makefile.am index 8fd3900309..0e8bfdb9aa 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -77,7 +77,6 @@ include access/Makefile.inc.am include logging/Makefile.inc.am include locking/Makefile.inc.am include admin/Makefile.inc.am -include rpc/Makefile.inc.am include test/Makefile.inc.am include hypervisor/Makefile.inc.am include esx/Makefile.inc.am @@ -275,15 +274,6 @@ GENERATED_SYM_FILES += \ $(NULL) - -%protocol.c: %protocol.x %protocol.h $(srcdir)/rpc/genprotocol.pl - $(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/genprotocol.pl $(RPCGEN) -c \ - $< $(subst $(srcdir)/,,$@) - -%protocol.h: %protocol.x $(srcdir)/rpc/genprotocol.pl - $(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/genprotocol.pl $(RPCGEN) -h \ - $< $(subst $(srcdir)/,,$@) - check-local: check-augeas check-augeas: $(augeas_DATA) $(augeastest_DATA) diff --git a/src/meson.build b/src/meson.build index 559462e53a..ed5d371b80 100644 --- a/src/meson.build +++ b/src/meson.build @@ -88,3 +88,4 @@ src_dep = declare_dependency( ) subdir('conf') +subdir('rpc') diff --git a/src/rpc/Makefile.inc.am b/src/rpc/Makefile.inc.am deleted file mode 100644 index 21aa76de94..0000000000 --- a/src/rpc/Makefile.inc.am +++ /dev/null @@ -1,121 +0,0 @@ -# vim: filetype=automake - -VIR_NET_RPC_GENERATED = \ - rpc/virnetprotocol.h \ - rpc/virnetprotocol.c \ - rpc/virkeepaliveprotocol.h \ - rpc/virkeepaliveprotocol.c \ - $(NULL) - -BUILT_SOURCES += $(VIR_NET_RPC_GENERATED) - -noinst_LTLIBRARIES += \ - libvirt-net-rpc.la \ - libvirt-net-rpc-server.la \ - libvirt-net-rpc-client.la \ - $(NULL) - -libvirt_la_BUILT_LIBADD += \ - libvirt-net-rpc.la \ - libvirt-net-rpc-server.la \ - libvirt-net-rpc-client.la \ - $(NULL) - -libvirt_net_rpc_la_SOURCES = \ - rpc/virnetmessage.h \ - rpc/virnetmessage.c \ - rpc/virnettlscontext.h \ - rpc/virnettlscontext.c \ - rpc/virnetsocket.h \ - rpc/virnetsocket.c \ - rpc/virkeepalive.h \ - rpc/virkeepalive.c \ - $(NULL) - -nodist_libvirt_net_rpc_la_SOURCES = \ - $(VIR_NET_RPC_GENERATED) \ - $(NULL) - -if WITH_SSH2 -libvirt_net_rpc_la_SOURCES += \ - rpc/virnetsshsession.h \ - rpc/virnetsshsession.c \ - $(NULL) -endif WITH_SSH2 - -if WITH_SASL -libvirt_net_rpc_la_SOURCES += \ - rpc/virnetsaslcontext.h \ - rpc/virnetsaslcontext.c \ - $(NULL) -endif WITH_SASL - -if WITH_LIBSSH -libvirt_net_rpc_la_SOURCES += \ - rpc/virnetlibsshsession.h \ - rpc/virnetlibsshsession.c \ - $(NULL) -endif WITH_LIBSSH - -libvirt_net_rpc_la_CFLAGS = \ - -I$(builddir)/rpc \ - $(GNUTLS_CFLAGS) \ - $(SASL_CFLAGS) \ - $(SSH2_CFLAGS) \ - $(LIBSSH_CFLAGS) \ - $(XDR_CFLAGS) \ - $(AM_CFLAGS) \ - $(NULL) -libvirt_net_rpc_la_LDFLAGS = \ - $(GNUTLS_LIBS) \ - $(SASL_LIBS) \ - $(SSH2_LIBS)\ - $(LIBSSH_LIBS) \ - $(SECDRIVER_LIBS) \ - $(AM_LDFLAGS) \ - $(NULL) - -libvirt_net_rpc_server_la_SOURCES = \ - rpc/virnetserverprogram.h \ - rpc/virnetserverprogram.c \ - rpc/virnetserverservice.h \ - rpc/virnetserverservice.c \ - rpc/virnetserverclient.h \ - rpc/virnetserverclient.c \ - rpc/virnetdaemon.h \ - rpc/virnetdaemon.c \ - rpc/virnetserver.h \ - rpc/virnetserver.c \ - $(NULL) -libvirt_net_rpc_server_la_CFLAGS = \ - -I$(builddir)/rpc \ - $(DBUS_CFLAGS) \ - $(XDR_CFLAGS) \ - $(SASL_CFLAGS) \ - $(AM_CFLAGS) \ - $(NULL) -libvirt_net_rpc_server_la_LDFLAGS = \ - $(AM_LDFLAGS) \ - $(DBUS_LIBS) \ - $(NULL) - -libvirt_net_rpc_client_la_SOURCES = \ - rpc/virnetclientprogram.h \ - rpc/virnetclientprogram.c \ - rpc/virnetclientstream.h \ - rpc/virnetclientstream.c \ - rpc/virnetclient.h \ - rpc/virnetclient.c \ - $(NULL) -libvirt_net_rpc_client_la_CFLAGS = \ - -I$(builddir)/rpc \ - $(AM_CFLAGS) \ - $(XDR_CFLAGS) \ - $(NULL) -libvirt_net_rpc_client_la_LDFLAGS = $(AM_LDFLAGS) - -if WITH_SASL -libvirt_net_rpc_client_la_CFLAGS += \ - $(SASL_CFLAGS) \ - $(NULL) -endif WITH_SASL diff --git a/src/rpc/meson.build b/src/rpc/meson.build new file mode 100644 index 0000000000..b26939db9c --- /dev/null +++ b/src/rpc/meson.build @@ -0,0 +1,108 @@ +genprotocol_prog = find_program('genprotocol.pl') + +rpc_sources = [ + 'virnetmessage.c', + 'virnettlscontext.c', + 'virnetsocket.c', + 'virkeepalive.c', +] + +if libssh_dep.found() + rpc_sources += 'virnetlibsshsession.c' +endif + +if libssh2_dep.found() + rpc_sources += 'virnetsshsession.c' +endif + +if sasl_dep.found() + rpc_sources += 'virnetsaslcontext.c' +endif + +rpc_gen_headers = [] +rpc_gen_sources = [] + +foreach name : [ 'virnet', 'virkeepalive' ] + protocol_file = files('@0@protocol.x'.format(name)) + header_file = '@0@protocol.h'.format(name) + source_file = '@0@protocol.c'.format(name) + + rpc_gen_headers += custom_target( + header_file, + input: protocol_file, + output: header_file, + command: [ + genprotocol_prog, rpcgen_prog, '-h', '@INPUT@', '@OUTPUT@', + ], + ) + + rpc_gen_sources += custom_target( + source_file, + input: protocol_file, + output: source_file, + command: [ + genprotocol_prog, rpcgen_prog, '-c', '@INPUT@', '@OUTPUT@', + ], + ) +endforeach + +rpc_server_sources = [ + 'virnetserverprogram.c', + 'virnetserverservice.c', + 'virnetserverclient.c', + 'virnetdaemon.c', + 'virnetserver.c', +] + +rpc_client_sources = [ + 'virnetclientprogram.c', + 'virnetclientstream.c', + 'virnetclient.c', +] + +virt_rpc_lib = static_library( + 'virt_net_rpc', + [ + rpc_sources, + rpc_gen_headers, + rpc_gen_sources, + ], + dependencies: [ + gnutls_dep, + libssh2_dep, + libssh_dep, + sasl_dep, + secdriver_dep, + src_dep, + xdr_dep, + ], +) + +virt_rpc_server_lib = static_library( + 'virt_net_rpc_server', + [ + rpc_server_sources, + rpc_gen_headers, + ], + dependencies: [ + dbus_dep, + sasl_dep, + src_dep, + xdr_dep, + ], +) + +virt_rpc_client_lib = static_library( + 'virt_net_rpc_client', + [ + rpc_client_sources, + rpc_gen_headers, + ], + dependencies: [ + sasl_dep, + src_dep, + xdr_dep, + ], +) + +rpc_inc_dir = include_directories('.') -- 2.47.2