]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
meson: src: build libvirt_rpc static libs
authorPavel Hrdina <phrdina@redhat.com>
Mon, 27 Jul 2020 09:06:06 +0000 (11:06 +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/Makefile.am
src/meson.build
src/rpc/Makefile.inc.am [deleted file]
src/rpc/meson.build [new file with mode: 0644]

index 8fd3900309b6f205c86fb3ed2747e4bb2519c89d..0e8bfdb9aae2a645fecdcea505907d6c4c922935 100644 (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)
index 559462e53a0e1476c88da0d4aef4cd8a81bd9421..ed5d371b807f1df3cc92ea4448fdd615acf40f6f 100644 (file)
@@ -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 (file)
index 21aa76d..0000000
+++ /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 (file)
index 0000000..b26939d
--- /dev/null
@@ -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('.')