meson: src: build libvirt_rpc static libs

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Neal Gompa <ngompa13@gmail.com>
This commit is contained in:
Pavel Hrdina 2020-07-27 11:06:06 +02:00
parent 7b2ffa378c
commit 29a29f9b01
4 changed files with 109 additions and 131 deletions

View File

@ -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)

View File

@ -88,3 +88,4 @@ src_dep = declare_dependency(
)
subdir('conf')
subdir('rpc')

View File

@ -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

108
src/rpc/meson.build Normal file
View File

@ -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('.')