aboutsummaryrefslogtreecommitdiff
path: root/block
diff options
context:
space:
mode:
authorMarc-André Lureau <marcandre.lureau@redhat.com>2019-08-29 22:34:43 +0400
committerPaolo Bonzini <pbonzini@redhat.com>2020-08-21 06:30:18 -0400
commit5e5733e5999bb10e34cbbe3eda95b3cc7ad27bde (patch)
tree39ee7d50b04dd34a9f81bcaba844f6f94d7ecb62 /block
parent848e8ff6779e124739261d0635b21e751dfa7eca (diff)
meson: convert block
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'block')
-rw-r--r--block/Makefile.objs75
-rw-r--r--block/meson.build115
-rw-r--r--block/monitor/Makefile.objs2
-rw-r--r--block/monitor/meson.build2
4 files changed, 117 insertions, 77 deletions
diff --git a/block/Makefile.objs b/block/Makefile.objs
deleted file mode 100644
index 19c6f371c9..0000000000
--- a/block/Makefile.objs
+++ /dev/null
@@ -1,75 +0,0 @@
-block-obj-y += raw-format.o vmdk.o vpc.o
-block-obj-$(CONFIG_QCOW1) += qcow.o
-block-obj-$(CONFIG_VDI) += vdi.o
-block-obj-$(CONFIG_CLOOP) += cloop.o
-block-obj-$(CONFIG_BOCHS) += bochs.o
-block-obj-$(CONFIG_VVFAT) += vvfat.o
-block-obj-$(CONFIG_DMG) += dmg.o
-
-block-obj-y += qcow2.o qcow2-refcount.o qcow2-cluster.o qcow2-snapshot.o qcow2-cache.o qcow2-bitmap.o qcow2-threads.o
-block-obj-$(CONFIG_QED) += qed.o qed-l2-cache.o qed-table.o qed-cluster.o
-block-obj-$(CONFIG_QED) += qed-check.o
-block-obj-y += vhdx.o vhdx-endian.o vhdx-log.o
-block-obj-y += quorum.o
-block-obj-y += blkdebug.o blkverify.o blkreplay.o
-block-obj-$(CONFIG_PARALLELS) += parallels.o
-block-obj-y += blklogwrites.o
-block-obj-y += block-backend.o snapshot.o qapi.o
-block-obj-$(CONFIG_WIN32) += file-win32.o win32-aio.o
-block-obj-$(CONFIG_POSIX) += file-posix.o
-block-obj-$(CONFIG_LINUX_AIO) += linux-aio.o
-block-obj-$(CONFIG_LINUX_IO_URING) += io_uring.o
-block-obj-y += null.o mirror.o commit.o io.o create.o amend.o
-block-obj-y += throttle-groups.o
-block-obj-$(CONFIG_LINUX) += nvme.o
-
-block-obj-y += nbd.o
-block-obj-$(CONFIG_SHEEPDOG) += sheepdog.o
-block-obj-$(CONFIG_LIBISCSI) += iscsi.o
-block-obj-$(if $(CONFIG_LIBISCSI),y,n) += iscsi-opts.o
-block-obj-$(CONFIG_LIBNFS) += nfs.o
-block-obj-$(CONFIG_CURL) += curl.o
-block-obj-$(CONFIG_RBD) += rbd.o
-block-obj-$(CONFIG_GLUSTERFS) += gluster.o
-block-obj-$(CONFIG_LIBSSH) += ssh.o
-block-obj-y += accounting.o dirty-bitmap.o
-block-obj-y += write-threshold.o
-block-obj-y += backup.o
-block-obj-$(CONFIG_REPLICATION) += replication.o
-block-obj-y += throttle.o copy-on-read.o
-block-obj-y += block-copy.o
-
-block-obj-y += crypto.o
-
-block-obj-y += aio_task.o
-block-obj-y += backup-top.o
-block-obj-y += filter-compress.o
-common-obj-y += monitor/
-block-obj-y += monitor/
-
-block-obj-y += stream.o
-
-common-obj-y += qapi-sysemu.o
-
-nfs.o-libs := $(LIBNFS_LIBS)
-iscsi.o-cflags := $(LIBISCSI_CFLAGS)
-iscsi.o-libs := $(LIBISCSI_LIBS)
-curl.o-cflags := $(CURL_CFLAGS)
-curl.o-libs := $(CURL_LIBS)
-rbd.o-cflags := $(RBD_CFLAGS)
-rbd.o-libs := $(RBD_LIBS)
-gluster.o-cflags := $(GLUSTERFS_CFLAGS)
-gluster.o-libs := $(GLUSTERFS_LIBS)
-ssh.o-cflags := $(LIBSSH_CFLAGS)
-ssh.o-libs := $(LIBSSH_LIBS)
-block-obj-dmg-bz2-$(CONFIG_BZIP2) += dmg-bz2.o
-block-obj-$(if $(CONFIG_DMG),m,n) += $(block-obj-dmg-bz2-y)
-dmg-bz2.o-libs := $(BZIP2_LIBS)
-block-obj-$(if $(CONFIG_LZFSE),m,n) += dmg-lzfse.o
-dmg-lzfse.o-libs := $(LZFSE_LIBS)
-qcow.o-libs := -lz
-linux-aio.o-libs := -laio
-io_uring.o-cflags := $(LINUX_IO_URING_CFLAGS)
-io_uring.o-libs := $(LINUX_IO_URING_LIBS)
-parallels.o-cflags := $(LIBXML2_CFLAGS)
-parallels.o-libs := $(LIBXML2_LIBS)
diff --git a/block/meson.build b/block/meson.build
new file mode 100644
index 0000000000..4dbbfe60b4
--- /dev/null
+++ b/block/meson.build
@@ -0,0 +1,115 @@
+block_ss.add(genh)
+block_ss.add(files(
+ 'accounting.c',
+ 'aio_task.c',
+ 'amend.c',
+ 'backup.c',
+ 'backup-top.c',
+ 'blkdebug.c',
+ 'blklogwrites.c',
+ 'blkreplay.c',
+ 'blkverify.c',
+ 'block-backend.c',
+ 'block-copy.c',
+ 'commit.c',
+ 'copy-on-read.c',
+ 'create.c',
+ 'crypto.c',
+ 'dirty-bitmap.c',
+ 'filter-compress.c',
+ 'io.c',
+ 'mirror.c',
+ 'nbd.c',
+ 'null.c',
+ 'qapi.c',
+ 'qcow2-bitmap.c',
+ 'qcow2-cache.c',
+ 'qcow2-cluster.c',
+ 'qcow2-refcount.c',
+ 'qcow2-snapshot.c',
+ 'qcow2-threads.c',
+ 'qcow2.c',
+ 'quorum.c',
+ 'raw-format.c',
+ 'snapshot.c',
+ 'throttle-groups.c',
+ 'throttle.c',
+ 'vhdx-endian.c',
+ 'vhdx-log.c',
+ 'vhdx.c',
+ 'vmdk.c',
+ 'vpc.c',
+ 'write-threshold.c',
+), zstd)
+
+block_ss.add(when: [zlib, 'CONFIG_QCOW1'], if_true: files('qcow.c'))
+block_ss.add(when: 'CONFIG_VDI', if_true: files('vdi.c'))
+block_ss.add(when: 'CONFIG_CLOOP', if_true: files('cloop.c'))
+block_ss.add(when: 'CONFIG_BOCHS', if_true: files('bochs.c'))
+block_ss.add(when: 'CONFIG_VVFAT', if_true: files('vvfat.c'))
+block_ss.add(when: 'CONFIG_DMG', if_true: files('dmg.c'))
+block_ss.add(when: 'CONFIG_QED', if_true: files(
+ 'qed-check.c',
+ 'qed-cluster.c',
+ 'qed-l2-cache.c',
+ 'qed-table.c',
+ 'qed.c',
+))
+block_ss.add(when: [libxml2, 'CONFIG_PARALLELS'], if_true: files('parallels.c'))
+block_ss.add(when: 'CONFIG_WIN32', if_true: files('file-win32.c', 'win32-aio.c'))
+block_ss.add(when: 'CONFIG_POSIX', if_true: [files('file-posix.c'), coref, iokit])
+block_ss.add(when: 'CONFIG_LIBISCSI', if_true: files('iscsi-opts.c'))
+block_ss.add(when: 'CONFIG_LINUX', if_true: files('nvme.c'))
+block_ss.add(when: 'CONFIG_REPLICATION', if_true: files('replication.c'))
+block_ss.add(when: 'CONFIG_SHEEPDOG', if_true: files('sheepdog.c'))
+block_ss.add(when: ['CONFIG_LINUX_AIO', libaio], if_true: files('linux-aio.c'))
+block_ss.add(when: ['CONFIG_LINUX_IO_URING', linux_io_uring], if_true: files('io_uring.c'))
+
+block_modules = {}
+
+modsrc = []
+foreach m : [
+ ['CONFIG_CURL', 'curl', [curl, glib], 'curl.c'],
+ ['CONFIG_GLUSTERFS', 'gluster', glusterfs, 'gluster.c'],
+ ['CONFIG_LIBISCSI', 'iscsi', libiscsi, 'iscsi.c'],
+ ['CONFIG_LIBNFS', 'nfs', libnfs, 'nfs.c'],
+ ['CONFIG_LIBSSH', 'ssh', libssh, 'ssh.c'],
+ ['CONFIG_RBD', 'rbd', rbd, 'rbd.c'],
+]
+ if config_host.has_key(m[0])
+ if enable_modules
+ modsrc += files(m[3])
+ endif
+ module_ss = ss.source_set()
+ module_ss.add(when: m[2], if_true: files(m[3]))
+ block_modules += {m[1] : module_ss}
+ endif
+endforeach
+
+# those are not exactly regular block modules, so treat them apart
+if 'CONFIG_DMG' in config_host
+ foreach m : [
+ ['CONFIG_LZFSE', 'dmg-lzfse', liblzfse, 'dmg-lzfse.c'],
+ ['CONFIG_BZIP2', 'dmg-bz2', [glib, libbzip2], 'dmg-bz2.c']
+ ]
+ if config_host.has_key(m[0])
+ module_ss = ss.source_set()
+ module_ss.add(when: m[2], if_true: files(m[3]))
+ block_modules += {m[1] : module_ss}
+ endif
+ endforeach
+endif
+
+module_block_py = find_program('../scripts/modules/module_block.py')
+module_block_h = custom_target('module_block.h',
+ output: 'module_block.h',
+ input: modsrc,
+ command: [module_block_py, '@OUTPUT0@', modsrc])
+block_ss.add(module_block_h)
+
+block_ss.add(files('stream.c'))
+
+softmmu_ss.add(files('qapi-sysemu.c'))
+subdir('monitor')
+
+modules += {'block': block_modules}
diff --git a/block/monitor/Makefile.objs b/block/monitor/Makefile.objs
deleted file mode 100644
index 39acf85022..0000000000
--- a/block/monitor/Makefile.objs
+++ /dev/null
@@ -1,2 +0,0 @@
-common-obj-y += block-hmp-cmds.o
-block-obj-y += bitmap-qmp-cmds.o
diff --git a/block/monitor/meson.build b/block/monitor/meson.build
new file mode 100644
index 0000000000..374aac1140
--- /dev/null
+++ b/block/monitor/meson.build
@@ -0,0 +1,2 @@
+softmmu_ss.add(files('block-hmp-cmds.c'))
+block_ss.add(files('bitmap-qmp-cmds.c'))