]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
meson: src: build libvirt_driver_esx.a static library
authorPavel Hrdina <phrdina@redhat.com>
Mon, 27 Jul 2020 06:23:40 +0000 (08:23 +0200)
committerPavel Hrdina <phrdina@redhat.com>
Mon, 3 Aug 2020 07:27:04 +0000 (09:27 +0200)
Drop automake like print from scripts/esx_vi_generator.py as well.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Neal Gompa <ngompa13@gmail.com>
scripts/esx_vi_generator.py
src/esx/Makefile.inc.am
src/esx/meson.build [new file with mode: 0644]
src/meson.build

index 048f5dde9ee613da0601a68b7317757ad8790fe9..863c8af96403c7ab362589db37cf97d25246ff39 100755 (executable)
@@ -1250,12 +1250,7 @@ def is_known_type(type):
             type in enums_by_name)
 
 
-def open_and_print(filename):
-    if filename.startswith("./"):
-        print("  GEN      " + filename[2:])
-    else:
-        print("  GEN      " + filename)
-
+def open_file(filename):
     return open(filename, "wt")
 
 
@@ -1327,17 +1322,17 @@ input_filename = os.path.join(sys.argv[1], "esx/esx_vi_generator.input")
 output_dirname = os.path.join(sys.argv[2], "esx")
 
 
-types_typedef = open_and_print(os.path.join(output_dirname, "esx_vi_types.generated.typedef"))
-types_typeenum = open_and_print(os.path.join(output_dirname, "esx_vi_types.generated.typeenum"))
-types_typetostring = open_and_print(os.path.join(output_dirname, "esx_vi_types.generated.typetostring"))
-types_typefromstring = open_and_print(os.path.join(output_dirname, "esx_vi_types.generated.typefromstring"))
-types_header = open_and_print(os.path.join(output_dirname, "esx_vi_types.generated.h"))
-types_source = open_and_print(os.path.join(output_dirname, "esx_vi_types.generated.c"))
-methods_header = open_and_print(os.path.join(output_dirname, "esx_vi_methods.generated.h"))
-methods_source = open_and_print(os.path.join(output_dirname, "esx_vi_methods.generated.c"))
-methods_macro = open_and_print(os.path.join(output_dirname, "esx_vi_methods.generated.macro"))
-helpers_header = open_and_print(os.path.join(output_dirname, "esx_vi.generated.h"))
-helpers_source = open_and_print(os.path.join(output_dirname, "esx_vi.generated.c"))
+types_typedef = open_file(os.path.join(output_dirname, "esx_vi_types.generated.typedef"))
+types_typeenum = open_file(os.path.join(output_dirname, "esx_vi_types.generated.typeenum"))
+types_typetostring = open_file(os.path.join(output_dirname, "esx_vi_types.generated.typetostring"))
+types_typefromstring = open_file(os.path.join(output_dirname, "esx_vi_types.generated.typefromstring"))
+types_header = open_file(os.path.join(output_dirname, "esx_vi_types.generated.h"))
+types_source = open_file(os.path.join(output_dirname, "esx_vi_types.generated.c"))
+methods_header = open_file(os.path.join(output_dirname, "esx_vi_methods.generated.h"))
+methods_source = open_file(os.path.join(output_dirname, "esx_vi_methods.generated.c"))
+methods_macro = open_file(os.path.join(output_dirname, "esx_vi_methods.generated.macro"))
+helpers_header = open_file(os.path.join(output_dirname, "esx_vi.generated.h"))
+helpers_source = open_file(os.path.join(output_dirname, "esx_vi.generated.c"))
 
 
 number = 0
index 482b55b857750099fbebd6b6b5217e63d971a660..2e776d1ebecc770f12af6d29cb1fc0925fdcbc64 100644 (file)
@@ -1,79 +1,7 @@
 # vim: filetype=automake
 
-ESX_DRIVER_SOURCES = \
-       esx/esx_private.h \
-       esx/esx_driver.c \
-       esx/esx_driver.h \
-       esx/esx_interface_driver.c \
-       esx/esx_interface_driver.h \
-       esx/esx_network_driver.c \
-       esx/esx_network_driver.h \
-       esx/esx_storage_driver.c \
-       esx/esx_storage_driver.h \
-       esx/esx_storage_backend_vmfs.c \
-       esx/esx_storage_backend_vmfs.h \
-       esx/esx_storage_backend_iscsi.c \
-       esx/esx_storage_backend_iscsi.h \
-       esx/esx_stream.c \
-       esx/esx_stream.h \
-       esx/esx_util.c \
-       esx/esx_util.h \
-       esx/esx_vi.c \
-       esx/esx_vi.h \
-       esx/esx_vi_methods.c \
-       esx/esx_vi_methods.h \
-       esx/esx_vi_types.c \
-       esx/esx_vi_types.h \
-       $(NULL)
-
-ESX_DRIVER_GENERATED = \
-       esx/esx_vi_methods.generated.c \
-       esx/esx_vi_methods.generated.h \
-       esx/esx_vi_methods.generated.macro \
-       esx/esx_vi_types.generated.c \
-       esx/esx_vi_types.generated.h \
-       esx/esx_vi_types.generated.typedef \
-       esx/esx_vi_types.generated.typeenum \
-       esx/esx_vi_types.generated.typetostring \
-       esx/esx_vi_types.generated.typefromstring \
-       esx/esx_vi.generated.c \
-       esx/esx_vi.generated.h \
-       $(NULL)
-
-ESX_GENERATED_STAMP = .esx_vi_generator.stamp
-
-DRIVER_SOURCE_FILES += $(addprefix $(srcdir)/,$(ESX_DRIVER_SOURCES))
-
-BUILT_SOURCES += $(ESX_DRIVER_GENERATED)
-
-$(ESX_DRIVER_GENERATED): $(ESX_GENERATED_STAMP)
-
-$(ESX_GENERATED_STAMP): $(srcdir)/esx/esx_vi_generator.input \
-                         $(top_srcdir)/scripts/esx_vi_generator.py
-       $(AM_V_GEN) $(RUNUTF8) $(PYTHON) \
-               $(top_srcdir)/scripts/esx_vi_generator.py \
-               $(srcdir) $(builddir) && touch $@
-
 if WITH_ESX
 USED_SYM_FILES += $(srcdir)/libvirt_esx.syms
 else ! WITH_ESX
 SYM_FILES += $(srcdir)/libvirt_esx.syms
 endif ! WITH_ESX
-
-
-if WITH_ESX
-noinst_LTLIBRARIES += libvirt_driver_esx.la
-libvirt_la_BUILT_LIBADD += libvirt_driver_esx.la
-libvirt_driver_esx_la_CFLAGS = \
-       $(CURL_CFLAGS) \
-       -I$(srcdir)/conf \
-       -I$(builddir)/esx \
-       -I$(srcdir)/vmx \
-       $(AM_CFLAGS) \
-       $(NULL)
-libvirt_driver_esx_la_LDFLAGS = $(AM_LDFLAGS)
-libvirt_driver_esx_la_LIBADD = $(CURL_LIBS)
-libvirt_driver_esx_la_SOURCES = $(ESX_DRIVER_SOURCES)
-libvirt_driver_esx_la_DEPENDENCIES = $(ESX_DRIVER_GENERATED)
-
-endif WITH_ESX
diff --git a/src/esx/meson.build b/src/esx/meson.build
new file mode 100644 (file)
index 0000000..c49ec8d
--- /dev/null
@@ -0,0 +1,56 @@
+esx_sources = [
+  'esx_driver.c',
+  'esx_interface_driver.c',
+  'esx_network_driver.c',
+  'esx_storage_driver.c',
+  'esx_storage_backend_vmfs.c',
+  'esx_storage_backend_iscsi.c',
+  'esx_stream.c',
+  'esx_util.c',
+  'esx_vi.c',
+  'esx_vi_methods.c',
+  'esx_vi_types.c',
+]
+
+esx_gen_sources = custom_target(
+  'virtesxgen',
+  input: [
+    'esx_vi_generator.input',
+  ],
+  output: [
+    'esx_vi.generated.c',
+    'esx_vi.generated.h',
+    'esx_vi_methods.generated.c',
+    'esx_vi_methods.generated.h',
+    'esx_vi_methods.generated.macro',
+    'esx_vi_types.generated.c',
+    'esx_vi_types.generated.h',
+    'esx_vi_types.generated.typedef',
+    'esx_vi_types.generated.typeenum',
+    'esx_vi_types.generated.typefromstring',
+    'esx_vi_types.generated.typetostring',
+  ],
+  command: [
+    meson_python_prog, python3_prog.path(), esx_vi_generator_prog.path(),
+    meson.source_root() / 'src',
+    meson.build_root() / 'src',
+  ],
+)
+
+if conf.has('WITH_ESX')
+  esx_lib = static_library(
+    'virt_driver_esx',
+    [
+      esx_sources,
+      esx_gen_sources[1],
+    ],
+    dependencies: [
+      curl_dep,
+      src_dep,
+    ],
+    include_directories: [
+      conf_inc_dir,
+      vmx_inc_dir,
+    ],
+  )
+endif
index 70cf09d8bd83786319c72c7d4e7802a00dbb7c70..eabda5483df45fbd37ebb8e43440afcf1912a8f4 100644 (file)
@@ -96,4 +96,5 @@ subdir('vmx')
 
 subdir('admin')
 
+subdir('esx')
 subdir('vmware')