From a484a7195761476dcf43b40437f4d5b8b32d9f2c Mon Sep 17 00:00:00 2001 From: Max Reitz Date: Tue, 27 Oct 2020 20:05:41 +0100 Subject: [PATCH] meson: Detect libfuse Signed-off-by: Max Reitz Message-Id: <20201027190600.192171-2-mreitz@redhat.com> Signed-off-by: Kevin Wolf --- configure | 7 +++++++ meson.build | 6 ++++++ meson_options.txt | 2 ++ 3 files changed, 15 insertions(+) diff --git a/configure b/configure index 18c26e0389..b2f96c0da2 100755 --- a/configure +++ b/configure @@ -449,6 +449,7 @@ meson="" ninja="" skip_meson=no gettext="" +fuse="auto" bogus_os="no" malloc_trim="auto" @@ -1525,6 +1526,10 @@ for opt do ;; --disable-libdaxctl) libdaxctl=no ;; + --enable-fuse) fuse="enabled" + ;; + --disable-fuse) fuse="disabled" + ;; *) echo "ERROR: unknown option $opt" echo "Try '$0 --help' for more information" @@ -1850,6 +1855,7 @@ disabled with --disable-FEATURE, default is enabled if available: xkbcommon xkbcommon support rng-none dummy RNG, avoid using /dev/(u)random and getrandom() libdaxctl libdaxctl support + fuse FUSE block device export NOTE: The object files are built at the place where configure is launched EOF @@ -7014,6 +7020,7 @@ NINJA=$ninja $meson setup \ -Diconv=$iconv -Dcurses=$curses -Dlibudev=$libudev\ -Ddocs=$docs -Dsphinx_build=$sphinx_build -Dinstall_blobs=$blobs \ -Dvhost_user_blk_server=$vhost_user_blk_server \ + -Dfuse=$fuse \ $cross_arg \ "$PWD" "$source_path" diff --git a/meson.build b/meson.build index 9ea05ab49f..6e8ef151d8 100644 --- a/meson.build +++ b/meson.build @@ -773,6 +773,10 @@ elif get_option('vhost_user_blk_server').disabled() or not have_system have_vhost_user_blk_server = false endif +fuse = dependency('fuse3', required: get_option('fuse'), + version: '>=3.1', method: 'pkg-config', + static: enable_static) + ################# # config-host.h # ################# @@ -807,6 +811,7 @@ config_host_data.set('CONFIG_KEYUTILS', keyutils.found()) config_host_data.set('CONFIG_GETTID', has_gettid) config_host_data.set('CONFIG_MALLOC_TRIM', has_malloc_trim) config_host_data.set('CONFIG_STATX', has_statx) +config_host_data.set('CONFIG_FUSE', fuse.found()) config_host_data.set('QEMU_VERSION', '"@0@"'.format(meson.project_version())) config_host_data.set('QEMU_VERSION_MAJOR', meson.project_version().split('.')[0]) config_host_data.set('QEMU_VERSION_MINOR', meson.project_version().split('.')[1]) @@ -2208,6 +2213,7 @@ endif summary_info += {'thread sanitizer': config_host.has_key('CONFIG_TSAN')} summary_info += {'rng-none': config_host.has_key('CONFIG_RNG_NONE')} summary_info += {'Linux keyring': config_host.has_key('CONFIG_SECRET_KEYRING')} +summary_info += {'FUSE exports': fuse.found()} summary(summary_info, bool_yn: true) if not supported_cpus.contains(cpu) diff --git a/meson_options.txt b/meson_options.txt index f6f64785fe..8f9f2e3df6 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -66,6 +66,8 @@ option('virtiofsd', type: 'feature', value: 'auto', description: 'build virtiofs daemon (virtiofsd)') option('vhost_user_blk_server', type: 'feature', value: 'auto', description: 'build vhost-user-blk server') +option('fuse', type: 'feature', value: 'auto', + description: 'FUSE block device export') option('capstone', type: 'combo', value: 'auto', choices: ['disabled', 'enabled', 'auto', 'system', 'internal'],