[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 41/55] libiscsi: convert to meson
From: |
Paolo Bonzini |
Subject: |
[PULL 41/55] libiscsi: convert to meson |
Date: |
Mon, 21 Dec 2020 15:44:33 +0100 |
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
block/meson.build | 2 +-
configure | 29 ++++-------------------------
contrib/vhost-user-scsi/meson.build | 2 +-
meson.build | 10 ++++++----
meson_options.txt | 2 ++
5 files changed, 14 insertions(+), 31 deletions(-)
diff --git a/block/meson.build b/block/meson.build
index b02cb14aad..134034abb4 100644
--- a/block/meson.build
+++ b/block/meson.build
@@ -59,7 +59,7 @@ block_ss.add(when: 'CONFIG_QED', if_true: files(
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: 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'))
diff --git a/configure b/configure
index 3d65c1e196..30084af631 100755
--- a/configure
+++ b/configure
@@ -405,7 +405,7 @@ guest_agent_msi="$default_feature"
vss_win32_sdk="$default_feature"
win_sdk="no"
want_tools="$default_feature"
-libiscsi="$default_feature"
+libiscsi="auto"
libnfs="$default_feature"
coroutine=""
coroutine_pool="$default_feature"
@@ -1138,9 +1138,9 @@ for opt do
;;
--enable-spice) spice="yes"
;;
- --disable-libiscsi) libiscsi="no"
+ --disable-libiscsi) libiscsi="disabled"
;;
- --enable-libiscsi) libiscsi="yes"
+ --enable-libiscsi) libiscsi="enabled"
;;
--disable-libnfs) libnfs="no"
;;
@@ -4313,21 +4313,6 @@ if compile_prog "" "" ; then
bswap_h=yes
fi
-##########################################
-# Do we have libiscsi >= 1.9.0
-if test "$libiscsi" != "no" ; then
- if $pkg_config --atleast-version=1.9.0 libiscsi; then
- libiscsi="yes"
- libiscsi_cflags=$($pkg_config --cflags libiscsi)
- libiscsi_libs=$($pkg_config --libs libiscsi)
- else
- if test "$libiscsi" = "yes" ; then
- feature_not_found "libiscsi" "Install libiscsi >= 1.9.0"
- fi
- libiscsi="no"
- fi
-fi
-
##########################################
# Do we need librt
# uClibc provides 2 versions of clock_gettime(), one with realtime
@@ -6229,12 +6214,6 @@ if test "$zstd" = "yes" ; then
echo "ZSTD_LIBS=$zstd_libs" >> $config_host_mak
fi
-if test "$libiscsi" = "yes" ; then
- echo "CONFIG_LIBISCSI=y" >> $config_host_mak
- echo "LIBISCSI_CFLAGS=$libiscsi_cflags" >> $config_host_mak
- echo "LIBISCSI_LIBS=$libiscsi_libs" >> $config_host_mak
-fi
-
if test "$libnfs" = "yes" ; then
echo "CONFIG_LIBNFS=y" >> $config_host_mak
echo "LIBNFS_LIBS=$libnfs_libs" >> $config_host_mak
@@ -6800,7 +6779,7 @@ NINJA=$ninja $meson setup \
-Dvnc=$vnc -Dvnc_sasl=$vnc_sasl -Dvnc_jpeg=$vnc_jpeg
-Dvnc_png=$vnc_png \
-Dgettext=$gettext -Dxkbcommon=$xkbcommon -Du2f=$u2f
-Dvirtiofsd=$virtiofsd \
-Dcapstone=$capstone -Dslirp=$slirp -Dfdt=$fdt -Dbrlapi=$brlapi \
- -Dcurl=$curl -Dglusterfs=$glusterfs -Dbzip2=$bzip2 \
+ -Dcurl=$curl -Dglusterfs=$glusterfs -Dbzip2=$bzip2
-Dlibiscsi=$libiscsi \
-Diconv=$iconv -Dcurses=$curses -Dlibudev=$libudev\
-Ddocs=$docs -Dsphinx_build=$sphinx_build -Dinstall_blobs=$blobs \
-Dvhost_user_blk_server=$vhost_user_blk_server \
diff --git a/contrib/vhost-user-scsi/meson.build
b/contrib/vhost-user-scsi/meson.build
index 044c50bf43..cc893f6f20 100644
--- a/contrib/vhost-user-scsi/meson.build
+++ b/contrib/vhost-user-scsi/meson.build
@@ -1,4 +1,4 @@
-if 'CONFIG_LIBISCSI' in config_host
+if libiscsi.found()
executable('vhost-user-scsi', files('vhost-user-scsi.c'),
dependencies: [qemuutil, libiscsi, vhost_user],
build_by_default: targetos == 'linux',
diff --git a/meson.build b/meson.build
index 66e35598ce..d1cbea169c 100644
--- a/meson.build
+++ b/meson.build
@@ -372,9 +372,10 @@ if 'CONFIG_PLUGIN' in config_host
libdl = cc.find_library('dl', required: true)
endif
libiscsi = not_found
-if 'CONFIG_LIBISCSI' in config_host
- libiscsi = declare_dependency(compile_args:
config_host['LIBISCSI_CFLAGS'].split(),
- link_args:
config_host['LIBISCSI_LIBS'].split())
+if not get_option('libiscsi').auto() or have_block
+ libiscsi = dependency('libiscsi', version: '>=1.9.0',
+ required: get_option('libiscsi'),
+ method: 'pkg-config', static: enable_static)
endif
zstd = not_found
if 'CONFIG_ZSTD' in config_host
@@ -928,6 +929,7 @@ if glusterfs.found()
config_host_data.set('CONFIG_GLUSTERFS_FTRUNCATE_HAS_STAT',
glusterfs_ftruncate_has_stat)
config_host_data.set('CONFIG_GLUSTERFS_IOCB_HAS_STAT',
glusterfs_iocb_has_stat)
endif
+config_host_data.set('CONFIG_LIBISCSI', libiscsi.found())
config_host_data.set('CONFIG_SDL', sdl.found())
config_host_data.set('CONFIG_SDL_IMAGE', sdl_image.found())
config_host_data.set('CONFIG_VHOST_USER_BLK_SERVER',
have_vhost_user_blk_server)
@@ -2286,7 +2288,7 @@ summary_info += {'libusb':
config_host.has_key('CONFIG_USB_LIBUSB')}
summary_info += {'usb net redir': config_host.has_key('CONFIG_USB_REDIR')}
summary_info += {'OpenGL support': config_host.has_key('CONFIG_OPENGL')}
summary_info += {'OpenGL dmabufs':
config_host.has_key('CONFIG_OPENGL_DMABUF')}
-summary_info += {'libiscsi support': config_host.has_key('CONFIG_LIBISCSI')}
+summary_info += {'libiscsi support': libiscsi.found()}
summary_info += {'libnfs support': config_host.has_key('CONFIG_LIBNFS')}
summary_info += {'build guest agent':
config_host.has_key('CONFIG_GUEST_AGENT')}
if targetos == 'windows'
diff --git a/meson_options.txt b/meson_options.txt
index fd16f3b399..b562d4f1a6 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -50,6 +50,8 @@ option('curl', type : 'feature', value : 'auto',
description: 'CURL block device driver')
option('glusterfs', type : 'feature', value : 'auto',
description: 'Glusterfs block device driver')
+option('libiscsi', type : 'feature', value : 'auto',
+ description: 'libiscsi userspace initiator')
option('mpath', type : 'feature', value : 'auto',
description: 'Multipath persistent reservation passthrough')
option('iconv', type : 'feature', value : 'auto',
--
2.29.2
- [PULL 32/55] configure: remove useless code to check for Xen PCI passthrough, (continued)
- [PULL 32/55] configure: remove useless code to check for Xen PCI passthrough, Paolo Bonzini, 2020/12/21
- [PULL 37/55] curl: remove compatibility code, require 7.29.0, Paolo Bonzini, 2020/12/21
- [PULL 36/55] brlapi: convert to meson, Paolo Bonzini, 2020/12/21
- [PULL 30/55] meson: use dependency to gate block modules, Paolo Bonzini, 2020/12/21
- [PULL 09/55] tests/docker: Remove the remainders of debian9 containers from the Makefile, Paolo Bonzini, 2020/12/21
- [PULL 23/55] util: Extract flush_icache_range to cacheflush.c, Paolo Bonzini, 2020/12/21
- [PULL 34/55] configure: accept --enable-slirp, Paolo Bonzini, 2020/12/21
- [PULL 28/55] meson: fix detection of curses with pkgconfig, Paolo Bonzini, 2020/12/21
- [PULL 26/55] meson: update submodule to 0.56.0, Paolo Bonzini, 2020/12/21
- [PULL 22/55] remove TCG includes from common code, Paolo Bonzini, 2020/12/21
- [PULL 41/55] libiscsi: convert to meson,
Paolo Bonzini <=
- [PULL 42/55] libnfs: convert to meson, Paolo Bonzini, 2020/12/21
- [PULL 45/55] lzo: convert to meson, Paolo Bonzini, 2020/12/21
- [PULL 53/55] meson.build: convert --with-default-devices to meson, Paolo Bonzini, 2020/12/21
- [PULL 52/55] libattr: convert to meson, Paolo Bonzini, 2020/12/21
- [PULL 54/55] configure: move tests/qemu-iotests/common.env generation to meson, Paolo Bonzini, 2020/12/21
- [PULL 46/55] snappy: convert to meson, Paolo Bonzini, 2020/12/21
- [PULL 51/55] cap_ng: convert to meson, Paolo Bonzini, 2020/12/21
- [PULL 44/55] rbd: convert to meson, Paolo Bonzini, 2020/12/21
- [PULL 47/55] lzfse: convert to meson, Paolo Bonzini, 2020/12/21
- [PULL 49/55] seccomp: convert to meson, Paolo Bonzini, 2020/12/21