[PATCH 13/34] meson, configure: move --enable-module-upgrades to meson

Paolo Bonzini posted 34 patches 3 years, 9 months ago
Maintainers: Yuval Shaia <yuval.shaia.ml@gmail.com>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>, "Daniel P. Berrangé" <berrange@redhat.com>, Jason Wang <jasowang@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>, Fam Zheng <fam@euphon.net>, Stefano Stabellini <sstabellini@kernel.org>, Anthony Perard <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>, "Michael S. Tsirkin" <mst@redhat.com>, Juan Quintela <quintela@redhat.com>, "Dr. David Alan Gilbert" <dgilbert@redhat.com>, Michael Roth <michael.roth@amd.com>, John Snow <jsnow@redhat.com>, Cleber Rosa <crosa@redhat.com>, Thomas Huth <thuth@redhat.com>, Laurent Vivier <lvivier@redhat.com>, Gerd Hoffmann <kraxel@redhat.com>
There is a newer version of this series
[PATCH 13/34] meson, configure: move --enable-module-upgrades to meson
Posted by Paolo Bonzini 3 years, 9 months ago
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 configure                     | 14 --------------
 meson.build                   |  7 ++++++-
 meson_options.txt             |  2 ++
 scripts/meson-buildoptions.sh |  4 ++++
 4 files changed, 12 insertions(+), 15 deletions(-)

diff --git a/configure b/configure
index 75e8b1e7aa..d4d51eff06 100755
--- a/configure
+++ b/configure
@@ -310,7 +310,6 @@ fortify_source="$default_feature"
 gcov="no"
 EXESUF=""
 modules="no"
-module_upgrades="no"
 prefix="/usr/local"
 qemu_suffix="qemu"
 softmmu="yes"
@@ -762,10 +761,6 @@ for opt do
   --disable-modules)
       modules="no"
   ;;
-  --disable-module-upgrades) module_upgrades="no"
-  ;;
-  --enable-module-upgrades) module_upgrades="yes"
-  ;;
   --cpu=*)
   ;;
   --target-list=*) target_list="$optarg"
@@ -1218,7 +1213,6 @@ cat << EOF
   bsd-user        all BSD usermode emulation targets
   pie             Position Independent Executables
   modules         modules support (non-Windows)
-  module-upgrades try to load modules from alternate paths for upgrades
   debug-tcg       TCG debugging (default is disabled)
   debug-info      debugging information
   lto             Enable Link-Time Optimization.
@@ -1487,11 +1481,6 @@ if test "$modules" = "yes" && test "$mingw32" = "yes" ; then
   error_exit "Modules are not available for Windows"
 fi
 
-# module_upgrades is only reasonable if modules are enabled
-if test "$modules" = "no" && test "$module_upgrades" = "yes" ; then
-  error_exit "Can't enable module-upgrades as Modules are not enabled"
-fi
-
 # Static linking is not possible with plugins, modules or PIE
 if test "$static" = "yes" ; then
   if test "$modules" = "yes" ; then
@@ -2563,9 +2552,6 @@ if test "$modules" = "yes"; then
   echo "CONFIG_STAMP=_$( (echo $qemu_version; echo $pkgversion; cat $0) | $shacmd - | cut -f1 -d\ )" >> $config_host_mak
   echo "CONFIG_MODULES=y" >> $config_host_mak
 fi
-if test "$module_upgrades" = "yes"; then
-  echo "CONFIG_MODULE_UPGRADES=y" >> $config_host_mak
-fi
 echo "CONFIG_TLS_PRIORITY=\"$tls_priority\"" >> $config_host_mak
 
 if test "$xen" = "enabled" ; then
diff --git a/meson.build b/meson.build
index 84156df809..3c47d82180 100644
--- a/meson.build
+++ b/meson.build
@@ -1548,6 +1548,11 @@ endif
 
 config_host_data.set('HOST_' + host_arch.to_upper(), 1)
 
+if get_option('module_upgrades') and not enable_modules
+  error('Cannot enable module-upgrades as modules are not enabled')
+endif
+config_host_data.set('CONFIG_MODULE_UPGRADES', get_option('module_upgrades'))
+
 config_host_data.set('CONFIG_ATTR', libattr.found())
 config_host_data.set('CONFIG_BDRV_WHITELIST_TOOLS', get_option('block_drv_whitelist_in_tools'))
 config_host_data.set('CONFIG_BRLAPI', brlapi.found())
@@ -3563,7 +3568,7 @@ summary_info += {'block layer':       have_block}
 summary_info += {'Install blobs':     get_option('install_blobs')}
 summary_info += {'module support':    config_host.has_key('CONFIG_MODULES')}
 if config_host.has_key('CONFIG_MODULES')
-  summary_info += {'alternative module path': config_host.has_key('CONFIG_MODULE_UPGRADES')}
+  summary_info += {'alternative module path': get_option('module_upgrades')}
 endif
 summary_info += {'fuzzing support':   get_option('fuzzing')}
 if have_system
diff --git a/meson_options.txt b/meson_options.txt
index d140c0ef89..cf18663833 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -34,6 +34,8 @@ option('fuzzing', type : 'boolean', value: false,
        description: 'build fuzzing targets')
 option('gettext', type : 'feature', value : 'auto',
        description: 'Localization of the GTK+ user interface')
+option('module_upgrades', type : 'boolean', value : false,
+       description: 'try to load modules from alternate paths for upgrades')
 option('install_blobs', type : 'boolean', value : true,
        description: 'install provided firmware blobs')
 option('sparse', type : 'feature', value : 'auto',
diff --git a/scripts/meson-buildoptions.sh b/scripts/meson-buildoptions.sh
index 92be3e6187..a269534394 100644
--- a/scripts/meson-buildoptions.sh
+++ b/scripts/meson-buildoptions.sh
@@ -19,6 +19,8 @@ meson_options_help() {
   printf "%s\n" '  --disable-install-blobs  install provided firmware blobs'
   printf "%s\n" '  --enable-malloc=CHOICE   choose memory allocator to use [system] (choices:'
   printf "%s\n" '                           jemalloc/system/tcmalloc)'
+  printf "%s\n" '  --enable-module-upgrades try to load modules from alternate paths for'
+  printf "%s\n" '                           upgrades'
   printf "%s\n" '  --enable-profiler        profiler support'
   printf "%s\n" '  --enable-qom-cast-debug  cast debugging support'
   printf "%s\n" '  --enable-rng-none        dummy RNG, avoid using /dev/(u)random and'
@@ -268,6 +270,8 @@ _meson_option_parse() {
     --disable-malloc-trim) printf "%s" -Dmalloc_trim=disabled ;;
     --enable-membarrier) printf "%s" -Dmembarrier=enabled ;;
     --disable-membarrier) printf "%s" -Dmembarrier=disabled ;;
+    --enable-module-upgrades) printf "%s" -Dmodule_upgrades=true ;;
+    --disable-module-upgrades) printf "%s" -Dmodule_upgrades=false ;;
     --enable-mpath) printf "%s" -Dmpath=enabled ;;
     --disable-mpath) printf "%s" -Dmpath=disabled ;;
     --enable-multiprocess) printf "%s" -Dmultiprocess=enabled ;;
-- 
2.35.1
Re: [PATCH 13/34] meson, configure: move --enable-module-upgrades to meson
Posted by Marc-André Lureau 3 years, 9 months ago
On Wed, Apr 20, 2022 at 7:54 PM Paolo Bonzini <pbonzini@redhat.com> wrote:

> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>

Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>


> ---
>  configure                     | 14 --------------
>  meson.build                   |  7 ++++++-
>  meson_options.txt             |  2 ++
>  scripts/meson-buildoptions.sh |  4 ++++
>  4 files changed, 12 insertions(+), 15 deletions(-)
>
> diff --git a/configure b/configure
> index 75e8b1e7aa..d4d51eff06 100755
> --- a/configure
> +++ b/configure
> @@ -310,7 +310,6 @@ fortify_source="$default_feature"
>  gcov="no"
>  EXESUF=""
>  modules="no"
> -module_upgrades="no"
>  prefix="/usr/local"
>  qemu_suffix="qemu"
>  softmmu="yes"
> @@ -762,10 +761,6 @@ for opt do
>    --disable-modules)
>        modules="no"
>    ;;
> -  --disable-module-upgrades) module_upgrades="no"
> -  ;;
> -  --enable-module-upgrades) module_upgrades="yes"
> -  ;;
>    --cpu=*)
>    ;;
>    --target-list=*) target_list="$optarg"
> @@ -1218,7 +1213,6 @@ cat << EOF
>    bsd-user        all BSD usermode emulation targets
>    pie             Position Independent Executables
>    modules         modules support (non-Windows)
> -  module-upgrades try to load modules from alternate paths for upgrades
>    debug-tcg       TCG debugging (default is disabled)
>    debug-info      debugging information
>    lto             Enable Link-Time Optimization.
> @@ -1487,11 +1481,6 @@ if test "$modules" = "yes" && test "$mingw32" =
> "yes" ; then
>    error_exit "Modules are not available for Windows"
>  fi
>
> -# module_upgrades is only reasonable if modules are enabled
> -if test "$modules" = "no" && test "$module_upgrades" = "yes" ; then
> -  error_exit "Can't enable module-upgrades as Modules are not enabled"
> -fi
> -
>  # Static linking is not possible with plugins, modules or PIE
>  if test "$static" = "yes" ; then
>    if test "$modules" = "yes" ; then
> @@ -2563,9 +2552,6 @@ if test "$modules" = "yes"; then
>    echo "CONFIG_STAMP=_$( (echo $qemu_version; echo $pkgversion; cat $0) |
> $shacmd - | cut -f1 -d\ )" >> $config_host_mak
>    echo "CONFIG_MODULES=y" >> $config_host_mak
>  fi
> -if test "$module_upgrades" = "yes"; then
> -  echo "CONFIG_MODULE_UPGRADES=y" >> $config_host_mak
> -fi
>  echo "CONFIG_TLS_PRIORITY=\"$tls_priority\"" >> $config_host_mak
>
>  if test "$xen" = "enabled" ; then
> diff --git a/meson.build b/meson.build
> index 84156df809..3c47d82180 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -1548,6 +1548,11 @@ endif
>
>  config_host_data.set('HOST_' + host_arch.to_upper(), 1)
>
> +if get_option('module_upgrades') and not enable_modules
> +  error('Cannot enable module-upgrades as modules are not enabled')
> +endif
> +config_host_data.set('CONFIG_MODULE_UPGRADES',
> get_option('module_upgrades'))
> +
>  config_host_data.set('CONFIG_ATTR', libattr.found())
>  config_host_data.set('CONFIG_BDRV_WHITELIST_TOOLS',
> get_option('block_drv_whitelist_in_tools'))
>  config_host_data.set('CONFIG_BRLAPI', brlapi.found())
> @@ -3563,7 +3568,7 @@ summary_info += {'block layer':       have_block}
>  summary_info += {'Install blobs':     get_option('install_blobs')}
>  summary_info += {'module support':
> config_host.has_key('CONFIG_MODULES')}
>  if config_host.has_key('CONFIG_MODULES')
> -  summary_info += {'alternative module path':
> config_host.has_key('CONFIG_MODULE_UPGRADES')}
> +  summary_info += {'alternative module path':
> get_option('module_upgrades')}
>  endif
>  summary_info += {'fuzzing support':   get_option('fuzzing')}
>  if have_system
> diff --git a/meson_options.txt b/meson_options.txt
> index d140c0ef89..cf18663833 100644
> --- a/meson_options.txt
> +++ b/meson_options.txt
> @@ -34,6 +34,8 @@ option('fuzzing', type : 'boolean', value: false,
>         description: 'build fuzzing targets')
>  option('gettext', type : 'feature', value : 'auto',
>         description: 'Localization of the GTK+ user interface')
> +option('module_upgrades', type : 'boolean', value : false,
> +       description: 'try to load modules from alternate paths for
> upgrades')
>  option('install_blobs', type : 'boolean', value : true,
>         description: 'install provided firmware blobs')
>  option('sparse', type : 'feature', value : 'auto',
> diff --git a/scripts/meson-buildoptions.sh b/scripts/meson-buildoptions.sh
> index 92be3e6187..a269534394 100644
> --- a/scripts/meson-buildoptions.sh
> +++ b/scripts/meson-buildoptions.sh
> @@ -19,6 +19,8 @@ meson_options_help() {
>    printf "%s\n" '  --disable-install-blobs  install provided firmware
> blobs'
>    printf "%s\n" '  --enable-malloc=CHOICE   choose memory allocator to
> use [system] (choices:'
>    printf "%s\n" '                           jemalloc/system/tcmalloc)'
> +  printf "%s\n" '  --enable-module-upgrades try to load modules from
> alternate paths for'
> +  printf "%s\n" '                           upgrades'
>    printf "%s\n" '  --enable-profiler        profiler support'
>    printf "%s\n" '  --enable-qom-cast-debug  cast debugging support'
>    printf "%s\n" '  --enable-rng-none        dummy RNG, avoid using
> /dev/(u)random and'
> @@ -268,6 +270,8 @@ _meson_option_parse() {
>      --disable-malloc-trim) printf "%s" -Dmalloc_trim=disabled ;;
>      --enable-membarrier) printf "%s" -Dmembarrier=enabled ;;
>      --disable-membarrier) printf "%s" -Dmembarrier=disabled ;;
> +    --enable-module-upgrades) printf "%s" -Dmodule_upgrades=true ;;
> +    --disable-module-upgrades) printf "%s" -Dmodule_upgrades=false ;;
>      --enable-mpath) printf "%s" -Dmpath=enabled ;;
>      --disable-mpath) printf "%s" -Dmpath=disabled ;;
>      --enable-multiprocess) printf "%s" -Dmultiprocess=enabled ;;
> --
> 2.35.1
>
>
>
>

-- 
Marc-André Lureau