[PATCH 22/34] meson, configure: move --interp-prefix 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 22/34] meson, configure: move --interp-prefix to meson
Posted by Paolo Bonzini 3 years, 9 months ago
This is the last CONFIG_* entry in config-host.mak that had to be
special cased.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 configure                     | 6 ------
 meson.build                   | 6 ++----
 meson_options.txt             | 2 ++
 scripts/meson-buildoptions.sh | 3 +++
 4 files changed, 7 insertions(+), 10 deletions(-)

diff --git a/configure b/configure
index 5bf0a7d69b..200ef3be23 100755
--- a/configure
+++ b/configure
@@ -231,7 +231,6 @@ fi
 
 # default parameters
 cpu=""
-interp_prefix="/usr/gnemul/qemu-%M"
 static="no"
 cross_compile="no"
 cross_prefix=""
@@ -696,8 +695,6 @@ for opt do
   ;;
   --prefix=*) prefix="$optarg"
   ;;
-  --interp-prefix=*) interp_prefix="$optarg"
-  ;;
   --cross-prefix=*)
   ;;
   --cc=*)
@@ -1090,8 +1087,6 @@ Options: [defaults in brackets after descriptions]
 Standard options:
   --help                   print this message
   --prefix=PREFIX          install in PREFIX [$prefix]
-  --interp-prefix=PREFIX   where to find shared libraries, etc.
-                           use %M for cpu name [$interp_prefix]
   --target-list=LIST       set target list (default: build all)
 $(echo Available targets: $default_target_list | \
   fold -s -w 53 | sed -e 's/^/                           /')
@@ -2289,7 +2284,6 @@ for target in $target_list; do
     esac
 done
 
-echo "CONFIG_QEMU_INTERP_PREFIX=$interp_prefix" | sed 's/%M/@0@/' >> $config_host_mak
 if test "$default_targets" = "yes"; then
   echo "CONFIG_DEFAULT_TARGETS=y" >> $config_host_mak
 fi
diff --git a/meson.build b/meson.build
index 424ff454d2..869cc10128 100644
--- a/meson.build
+++ b/meson.build
@@ -2226,10 +2226,8 @@ if targetos == 'windows' and link_language == 'cpp'
 endif
 config_host_data.set('HAVE_VSS_SDK', have_vss_sdk)
 
-ignored = ['CONFIG_QEMU_INTERP_PREFIX', # actually per-target
-    'HAVE_GDB_BIN']
 foreach k, v: config_host
-  if k.startswith('CONFIG_') and not ignored.contains(k)
+  if k.startswith('CONFIG_')
     config_host_data.set(k, v == 'y' ? 1 : v)
   endif
 endforeach
@@ -2323,7 +2321,7 @@ foreach target : target_dirs
     config_target += {
       'CONFIG_USER_ONLY': 'y',
       'CONFIG_QEMU_INTERP_PREFIX':
-        config_host['CONFIG_QEMU_INTERP_PREFIX'].format(config_target['TARGET_NAME'])
+        get_option('interp_prefix').replace('%M', config_target['TARGET_NAME'])
     }
   endif
 
diff --git a/meson_options.txt b/meson_options.txt
index dc6fb796c6..848426460c 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -27,6 +27,8 @@ option('block_drv_rw_whitelist', type : 'string', value : '',
        description: 'set block driver read-write whitelist (by default affects only QEMU, not tools like qemu-img)')
 option('block_drv_ro_whitelist', type : 'string', value : '',
        description: 'set block driver read-only whitelist (by default affects only QEMU, not tools like qemu-img)')
+option('interp_prefix', type : 'string', value : '/usr/gnemul/qemu-%M',
+       description: 'where to find shared libraries etc., use %M for cpu name')
 option('fuzzing_engine', type : 'string', value : '',
        description: 'fuzzing engine library for OSS-Fuzz')
 option('trace_file', type: 'string', value: 'trace',
diff --git a/scripts/meson-buildoptions.sh b/scripts/meson-buildoptions.sh
index bf9878e24f..a0c86db116 100644
--- a/scripts/meson-buildoptions.sh
+++ b/scripts/meson-buildoptions.sh
@@ -41,6 +41,8 @@ meson_options_help() {
   printf "%s\n" '                           Set available tracing backends [log] (choices:'
   printf "%s\n" '                           dtrace/ftrace/log/nop/simple/syslog/ust)'
   printf "%s\n" '  --iasl=VALUE             Path to ACPI disassembler'
+  printf "%s\n" '  --interp-prefix=VALUE    where to find shared libraries etc., use %M for'
+  printf "%s\n" '                           cpu name [/usr/gnemul/qemu-%M]'
   printf "%s\n" '  --sphinx-build=VALUE     Use specified sphinx-build for building document'
   printf "%s\n" '  --tls-priority=VALUE     Default TLS protocol/cipher priority string'
   printf "%s\n" '                           [NORMAL]'
@@ -252,6 +254,7 @@ _meson_option_parse() {
     --disable-iconv) printf "%s" -Diconv=disabled ;;
     --enable-install-blobs) printf "%s" -Dinstall_blobs=true ;;
     --disable-install-blobs) printf "%s" -Dinstall_blobs=false ;;
+    --interp-prefix=*) quote_sh "-Dinterp_prefix=$2" ;;
     --enable-jack) printf "%s" -Djack=enabled ;;
     --disable-jack) printf "%s" -Djack=disabled ;;
     --enable-keyring) printf "%s" -Dkeyring=enabled ;;
-- 
2.35.1
Re: [PATCH 22/34] meson, configure: move --interp-prefix to meson
Posted by Marc-André Lureau 3 years, 9 months ago
Hi

On Wed, Apr 20, 2022 at 7:48 PM Paolo Bonzini <pbonzini@redhat.com> wrote:

> This is the last CONFIG_* entry in config-host.mak that had to be
> special cased.
>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>

A strange option, I wonder if it is really useful... anyway, for the move:

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



> ---
>  configure                     | 6 ------
>  meson.build                   | 6 ++----
>  meson_options.txt             | 2 ++
>  scripts/meson-buildoptions.sh | 3 +++
>  4 files changed, 7 insertions(+), 10 deletions(-)
>
> diff --git a/configure b/configure
> index 5bf0a7d69b..200ef3be23 100755
> --- a/configure
> +++ b/configure
> @@ -231,7 +231,6 @@ fi
>
>  # default parameters
>  cpu=""
> -interp_prefix="/usr/gnemul/qemu-%M"
>  static="no"
>  cross_compile="no"
>  cross_prefix=""
> @@ -696,8 +695,6 @@ for opt do
>    ;;
>    --prefix=*) prefix="$optarg"
>    ;;
> -  --interp-prefix=*) interp_prefix="$optarg"
> -  ;;
>    --cross-prefix=*)
>    ;;
>    --cc=*)
> @@ -1090,8 +1087,6 @@ Options: [defaults in brackets after descriptions]
>  Standard options:
>    --help                   print this message
>    --prefix=PREFIX          install in PREFIX [$prefix]
> -  --interp-prefix=PREFIX   where to find shared libraries, etc.
> -                           use %M for cpu name [$interp_prefix]
>    --target-list=LIST       set target list (default: build all)
>  $(echo Available targets: $default_target_list | \
>    fold -s -w 53 | sed -e 's/^/                           /')
> @@ -2289,7 +2284,6 @@ for target in $target_list; do
>      esac
>  done
>
> -echo "CONFIG_QEMU_INTERP_PREFIX=$interp_prefix" | sed 's/%M/@0@/' >>
> $config_host_mak
>  if test "$default_targets" = "yes"; then
>    echo "CONFIG_DEFAULT_TARGETS=y" >> $config_host_mak
>  fi
> diff --git a/meson.build b/meson.build
> index 424ff454d2..869cc10128 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -2226,10 +2226,8 @@ if targetos == 'windows' and link_language == 'cpp'
>  endif
>  config_host_data.set('HAVE_VSS_SDK', have_vss_sdk)
>
> -ignored = ['CONFIG_QEMU_INTERP_PREFIX', # actually per-target
> -    'HAVE_GDB_BIN']
>  foreach k, v: config_host
> -  if k.startswith('CONFIG_') and not ignored.contains(k)
> +  if k.startswith('CONFIG_')
>      config_host_data.set(k, v == 'y' ? 1 : v)
>    endif
>  endforeach
> @@ -2323,7 +2321,7 @@ foreach target : target_dirs
>      config_target += {
>        'CONFIG_USER_ONLY': 'y',
>        'CONFIG_QEMU_INTERP_PREFIX':
> -
> config_host['CONFIG_QEMU_INTERP_PREFIX'].format(config_target['TARGET_NAME'])
> +        get_option('interp_prefix').replace('%M',
> config_target['TARGET_NAME'])
>      }
>    endif
>
> diff --git a/meson_options.txt b/meson_options.txt
> index dc6fb796c6..848426460c 100644
> --- a/meson_options.txt
> +++ b/meson_options.txt
> @@ -27,6 +27,8 @@ option('block_drv_rw_whitelist', type : 'string', value
> : '',
>         description: 'set block driver read-write whitelist (by default
> affects only QEMU, not tools like qemu-img)')
>  option('block_drv_ro_whitelist', type : 'string', value : '',
>         description: 'set block driver read-only whitelist (by default
> affects only QEMU, not tools like qemu-img)')
> +option('interp_prefix', type : 'string', value : '/usr/gnemul/qemu-%M',
> +       description: 'where to find shared libraries etc., use %M for cpu
> name')
>  option('fuzzing_engine', type : 'string', value : '',
>         description: 'fuzzing engine library for OSS-Fuzz')
>  option('trace_file', type: 'string', value: 'trace',
> diff --git a/scripts/meson-buildoptions.sh b/scripts/meson-buildoptions.sh
> index bf9878e24f..a0c86db116 100644
> --- a/scripts/meson-buildoptions.sh
> +++ b/scripts/meson-buildoptions.sh
> @@ -41,6 +41,8 @@ meson_options_help() {
>    printf "%s\n" '                           Set available tracing
> backends [log] (choices:'
>    printf "%s\n" '
>  dtrace/ftrace/log/nop/simple/syslog/ust)'
>    printf "%s\n" '  --iasl=VALUE             Path to ACPI disassembler'
> +  printf "%s\n" '  --interp-prefix=VALUE    where to find shared
> libraries etc., use %M for'
> +  printf "%s\n" '                           cpu name
> [/usr/gnemul/qemu-%M]'
>    printf "%s\n" '  --sphinx-build=VALUE     Use specified sphinx-build
> for building document'
>    printf "%s\n" '  --tls-priority=VALUE     Default TLS protocol/cipher
> priority string'
>    printf "%s\n" '                           [NORMAL]'
> @@ -252,6 +254,7 @@ _meson_option_parse() {
>      --disable-iconv) printf "%s" -Diconv=disabled ;;
>      --enable-install-blobs) printf "%s" -Dinstall_blobs=true ;;
>      --disable-install-blobs) printf "%s" -Dinstall_blobs=false ;;
> +    --interp-prefix=*) quote_sh "-Dinterp_prefix=$2" ;;
>      --enable-jack) printf "%s" -Djack=enabled ;;
>      --disable-jack) printf "%s" -Djack=disabled ;;
>      --enable-keyring) printf "%s" -Dkeyring=enabled ;;
> --
> 2.35.1
>
>
>
>

-- 
Marc-André Lureau