[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2] Move the libssh setup from configure to meson.build
From: |
Richard W.M. Jones |
Subject: |
Re: [PATCH v2] Move the libssh setup from configure to meson.build |
Date: |
Thu, 9 Dec 2021 14:55:01 +0000 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
On Thu, Dec 09, 2021 at 03:48:01PM +0100, Thomas Huth wrote:
> It's easier to do this in meson.build now.
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
> v2: Added the missing "config_host_data.set('CONFIG_LIBSSH', libssh.found())"
>
> configure | 27 ---------------------------
> meson.build | 13 +++++++++----
> meson_options.txt | 2 ++
> scripts/meson-buildoptions.sh | 3 +++
> 4 files changed, 14 insertions(+), 31 deletions(-)
>
> diff --git a/configure b/configure
> index 48c21775f3..bb99a40ed0 100755
> --- a/configure
> +++ b/configure
> @@ -344,7 +344,6 @@ debug_stack_usage="no"
> crypto_afalg="no"
> tls_priority="NORMAL"
> tpm="$default_feature"
> -libssh="$default_feature"
> live_block_migration=${default_feature:-yes}
> numa="$default_feature"
> replication=${default_feature:-yes}
> @@ -1078,10 +1077,6 @@ for opt do
> ;;
> --enable-tpm) tpm="yes"
> ;;
> - --disable-libssh) libssh="no"
> - ;;
> - --enable-libssh) libssh="yes"
> - ;;
> --disable-live-block-migration) live_block_migration="no"
> ;;
> --enable-live-block-migration) live_block_migration="yes"
> @@ -1448,7 +1443,6 @@ cat << EOF
> live-block-migration Block migration in the main migration stream
> coroutine-pool coroutine freelist (better performance)
> tpm TPM support
> - libssh ssh block device support
> numa libnuma support
> avx2 AVX2 optimization support
> avx512f AVX512F optimization support
> @@ -2561,21 +2555,6 @@ if test "$modules" = yes; then
> fi
> fi
>
> -##########################################
> -# libssh probe
> -if test "$libssh" != "no" ; then
> - if $pkg_config --exists "libssh >= 0.8.7"; then
> - libssh_cflags=$($pkg_config libssh --cflags)
> - libssh_libs=$($pkg_config libssh --libs)
> - libssh=yes
> - else
> - if test "$libssh" = "yes" ; then
> - error_exit "libssh required for --enable-libssh"
> - fi
> - libssh=no
> - fi
> -fi
> -
> ##########################################
> # TPM emulation is only on POSIX
>
> @@ -3636,12 +3615,6 @@ if test "$cmpxchg128" = "yes" ; then
> echo "CONFIG_CMPXCHG128=y" >> $config_host_mak
> fi
>
> -if test "$libssh" = "yes" ; then
> - echo "CONFIG_LIBSSH=y" >> $config_host_mak
> - echo "LIBSSH_CFLAGS=$libssh_cflags" >> $config_host_mak
> - echo "LIBSSH_LIBS=$libssh_libs" >> $config_host_mak
> -fi
> -
> if test "$live_block_migration" = "yes" ; then
> echo "CONFIG_LIVE_BLOCK_MIGRATION=y" >> $config_host_mak
> fi
> diff --git a/meson.build b/meson.build
> index 96de1a6ef9..ae67ca28ab 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -874,11 +874,15 @@ if not get_option('glusterfs').auto() or have_block
> ''', dependencies: glusterfs)
> endif
> endif
> +
> libssh = not_found
> -if 'CONFIG_LIBSSH' in config_host
> - libssh = declare_dependency(compile_args:
> config_host['LIBSSH_CFLAGS'].split(),
> - link_args: config_host['LIBSSH_LIBS'].split())
> +if not get_option('libssh').auto() or have_block
> + libssh = dependency('libssh', version: '>=0.8.7',
> + method: 'pkg-config',
> + required: get_option('libssh'),
> + kwargs: static_kwargs)
> endif
> +
> libbzip2 = not_found
> if not get_option('bzip2').auto() or have_block
> libbzip2 = cc.find_library('bz2', has_headers: ['bzlib.h'],
> @@ -1451,6 +1455,7 @@ config_host_data.set('CONFIG_EBPF', libbpf.found())
> config_host_data.set('CONFIG_LIBDAXCTL', libdaxctl.found())
> config_host_data.set('CONFIG_LIBISCSI', libiscsi.found())
> config_host_data.set('CONFIG_LIBNFS', libnfs.found())
> +config_host_data.set('CONFIG_LIBSSH', libssh.found())
> config_host_data.set('CONFIG_LINUX_AIO', libaio.found())
> config_host_data.set('CONFIG_LINUX_IO_URING', linux_io_uring.found())
> config_host_data.set('CONFIG_LIBPMEM', libpmem.found())
> @@ -3430,7 +3435,7 @@ endif
> summary_info += {'seccomp support': seccomp}
> summary_info += {'GlusterFS support': glusterfs}
> summary_info += {'TPM support': config_host.has_key('CONFIG_TPM')}
> -summary_info += {'libssh support': config_host.has_key('CONFIG_LIBSSH')}
> +summary_info += {'libssh support': libssh}
> summary_info += {'lzo support': lzo}
> summary_info += {'snappy support': snappy}
> summary_info += {'bzip2 support': libbzip2}
> diff --git a/meson_options.txt b/meson_options.txt
> index e392323732..4114bfcaa4 100644
> --- a/meson_options.txt
> +++ b/meson_options.txt
> @@ -105,6 +105,8 @@ option('libdaxctl', type : 'feature', value : 'auto',
> description: 'libdaxctl support')
> option('libpmem', type : 'feature', value : 'auto',
> description: 'libpmem support')
> +option('libssh', type : 'feature', value : 'auto',
> + description: 'ssh block device support')
> option('libudev', type : 'feature', value : 'auto',
> description: 'Use libudev to enumerate host devices')
> option('libusb', type : 'feature', value : 'auto',
> diff --git a/scripts/meson-buildoptions.sh b/scripts/meson-buildoptions.sh
> index 7a17ff4218..ae8f18edc2 100644
> --- a/scripts/meson-buildoptions.sh
> +++ b/scripts/meson-buildoptions.sh
> @@ -53,6 +53,7 @@ meson_options_help() {
> printf "%s\n" ' libiscsi libiscsi userspace initiator'
> printf "%s\n" ' libnfs libnfs block device driver'
> printf "%s\n" ' libpmem libpmem support'
> + printf "%s\n" ' libssh ssh block device support'
> printf "%s\n" ' libudev Use libudev to enumerate host devices'
> printf "%s\n" ' libusb libusb support for USB passthrough'
> printf "%s\n" ' libxml2 libxml2 support for Parallels image
> format'
> @@ -177,6 +178,8 @@ _meson_option_parse() {
> --disable-libnfs) printf "%s" -Dlibnfs=disabled ;;
> --enable-libpmem) printf "%s" -Dlibpmem=enabled ;;
> --disable-libpmem) printf "%s" -Dlibpmem=disabled ;;
> + --enable-libssh) printf "%s" -Dlibssh=enabled ;;
> + --disable-libssh) printf "%s" -Dlibssh=disabled ;;
> --enable-libudev) printf "%s" -Dlibudev=enabled ;;
> --disable-libudev) printf "%s" -Dlibudev=disabled ;;
> --enable-libusb) printf "%s" -Dlibusb=enabled ;;
Seems reasonable, ACK.
I should say that my interest in the ssh driver in qemu is not that
much these days. I've been telling people to use nbdkit-ssh-plugin
instead. It's more featureful and running it in a separate process is
probably safer too.
Rich.
--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
Fedora Windows cross-compiler. Compile Windows programs, test, and
build Windows installers. Over 100 libraries supported.
http://fedoraproject.org/wiki/MinGW
Re: [PATCH v2] Move the libssh setup from configure to meson.build, Petr Vorel, 2021/12/15