[PATCH 10/24] configure, meson: move CONFIG_HOST_DSOSUF to Meson

Paolo Bonzini posted 24 patches 4 years, 4 months ago
Maintainers: "Daniel P. Berrangé" <berrange@redhat.com>, Eduardo Habkost <ehabkost@redhat.com>, Jason Wang <jasowang@redhat.com>, Alexander Bulekov <alxndr@bu.edu>, Bandan Das <bsd@redhat.com>, Igor Mammedov <imammedo@redhat.com>, Ani Sinha <ani@anisinha.ca>, Cleber Rosa <crosa@redhat.com>, Thomas Huth <thuth@redhat.com>, Hanna Reitz <hreitz@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>, Stefan Hajnoczi <stefanha@redhat.com>, "Michael S. Tsirkin" <mst@redhat.com>, Laurent Vivier <lvivier@redhat.com>, Darren Kenny <darren.kenny@oracle.com>, Kevin Wolf <kwolf@redhat.com>, Qiuhao Li <Qiuhao.Li@outlook.com>
There is a newer version of this series
[PATCH 10/24] configure, meson: move CONFIG_HOST_DSOSUF to Meson
Posted by Paolo Bonzini 4 years, 4 months ago
This is just a constant string, there is no need to pass it in config-host.mak.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 configure   |  6 ------
 meson.build | 10 +++++-----
 2 files changed, 5 insertions(+), 11 deletions(-)

diff --git a/configure b/configure
index 4bfc5e350d..f91b8e1f0d 100755
--- a/configure
+++ b/configure
@@ -351,7 +351,6 @@ bigendian="no"
 mingw32="no"
 gcov="no"
 EXESUF=""
-HOST_DSOSUF=".so"
 modules="no"
 module_upgrades="no"
 prefix="/usr/local"
@@ -594,9 +593,6 @@ fi
 # cross-compiling to one of these OSes then you'll need to specify
 # the correct CPU with the --cpu option.
 case $targetos in
-Darwin)
-  HOST_DSOSUF=".dylib"
-  ;;
 SunOS)
   # $(uname -m) returns i86pc even on an x86_64 box, so default based on isainfo
   if test -z "$cpu" && test "$(isainfo -k)" = "amd64"; then
@@ -785,7 +781,6 @@ fi
 
 if test "$mingw32" = "yes" ; then
   EXESUF=".exe"
-  HOST_DSOSUF=".dll"
   # MinGW needs -mthreads for TLS and macro _MT.
   CONFIGURE_CFLAGS="-mthreads $CONFIGURE_CFLAGS"
   write_c_skeleton;
@@ -4636,7 +4631,6 @@ echo "GLIB_LIBS=$glib_libs" >> $config_host_mak
 echo "QEMU_LDFLAGS=$QEMU_LDFLAGS" >> $config_host_mak
 echo "LD_I386_EMULATION=$ld_i386_emulation" >> $config_host_mak
 echo "EXESUF=$EXESUF" >> $config_host_mak
-echo "HOST_DSOSUF=$HOST_DSOSUF" >> $config_host_mak
 echo "LIBS_QGA=$libs_qga" >> $config_host_mak
 if test "$gcov" = "yes" ; then
   echo "CONFIG_GCOV=y" >> $config_host_mak
diff --git a/meson.build b/meson.build
index 98fa4b68d9..6842402a60 100644
--- a/meson.build
+++ b/meson.build
@@ -250,6 +250,7 @@ iokit = []
 emulator_link_args = []
 nvmm =not_found
 hvf = not_found
+host_dsosuf = '.so'
 if targetos == 'windows'
   socket = cc.find_library('ws2_32')
   winmm = cc.find_library('winmm')
@@ -258,9 +259,11 @@ if targetos == 'windows'
   version_res = win.compile_resources('version.rc',
                                       depend_files: files('pc-bios/qemu-nsis.ico'),
                                       include_directories: include_directories('.'))
+  host_dsosuf = '.dll'
 elif targetos == 'darwin'
   coref = dependency('appleframeworks', modules: 'CoreFoundation')
   iokit = dependency('appleframeworks', modules: 'IOKit', required: false)
+  host_dsosuf = '.dylib'
 elif targetos == 'sunos'
   socket = [cc.find_library('socket'),
             cc.find_library('nsl'),
@@ -1460,6 +1463,7 @@ config_host_data.set('QEMU_VERSION_MAJOR', meson.project_version().split('.')[0]
 config_host_data.set('QEMU_VERSION_MINOR', meson.project_version().split('.')[1])
 config_host_data.set('QEMU_VERSION_MICRO', meson.project_version().split('.')[2])
 
+config_host_data.set_quoted('CONFIG_HOST_DSOSUF', host_dsosuf)
 config_host_data.set('HAVE_HOST_BLOCK_DEVICE', have_host_block_device)
 
 # has_header
@@ -1606,10 +1610,9 @@ config_host_data.set('HAVE_BROKEN_SIZE_MAX', not cc.compiles('''
         return printf("%zu", SIZE_MAX);
     }''', args: ['-Werror']))
 
-
 ignored = ['CONFIG_QEMU_INTERP_PREFIX'] # actually per-target
 arrays = ['CONFIG_BDRV_RW_WHITELIST', 'CONFIG_BDRV_RO_WHITELIST']
-strings = ['HOST_DSOSUF', 'CONFIG_IASL']
+strings = ['CONFIG_IASL']
 foreach k, v: config_host
   if ignored.contains(k)
     # do nothing
@@ -1621,9 +1624,6 @@ foreach k, v: config_host
   elif k == 'ARCH'
     config_host_data.set('HOST_' + v.to_upper(), 1)
   elif strings.contains(k)
-    if not k.startswith('CONFIG_')
-      k = 'CONFIG_' + k.to_upper()
-    endif
     config_host_data.set_quoted(k, v)
   elif k.startswith('CONFIG_') or k.startswith('HAVE_') or k.startswith('HOST_')
     config_host_data.set(k, v == 'y' ? 1 : v)
-- 
2.31.1



Re: [PATCH 10/24] configure, meson: move CONFIG_HOST_DSOSUF to Meson
Posted by Philippe Mathieu-Daudé 4 years, 4 months ago
On 10/7/21 15:08, Paolo Bonzini wrote:
> This is just a constant string, there is no need to pass it in config-host.mak.
> 
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
>  configure   |  6 ------
>  meson.build | 10 +++++-----
>  2 files changed, 5 insertions(+), 11 deletions(-)

Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>


Re: [PATCH 10/24] configure, meson: move CONFIG_HOST_DSOSUF to Meson
Posted by Marc-André Lureau 4 years, 4 months ago
On Thu, Oct 7, 2021 at 5:14 PM Paolo Bonzini <pbonzini@redhat.com> wrote:

> This is just a constant string, there is no need to pass it in
> config-host.mak.
>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>

I am surprised not to find a way for meson to return it, but I am not sure
where it would fit either. compiler.get_{lib,exe}_suffix()? Or maybe a fake
build/lib target and check the path()..

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


> ---
>  configure   |  6 ------
>  meson.build | 10 +++++-----
>  2 files changed, 5 insertions(+), 11 deletions(-)
>
> diff --git a/configure b/configure
> index 4bfc5e350d..f91b8e1f0d 100755
> --- a/configure
> +++ b/configure
> @@ -351,7 +351,6 @@ bigendian="no"
>  mingw32="no"
>  gcov="no"
>  EXESUF=""
> -HOST_DSOSUF=".so"
>  modules="no"
>  module_upgrades="no"
>  prefix="/usr/local"
> @@ -594,9 +593,6 @@ fi
>  # cross-compiling to one of these OSes then you'll need to specify
>  # the correct CPU with the --cpu option.
>  case $targetos in
> -Darwin)
> -  HOST_DSOSUF=".dylib"
> -  ;;
>  SunOS)
>    # $(uname -m) returns i86pc even on an x86_64 box, so default based on
> isainfo
>    if test -z "$cpu" && test "$(isainfo -k)" = "amd64"; then
> @@ -785,7 +781,6 @@ fi
>
>  if test "$mingw32" = "yes" ; then
>    EXESUF=".exe"
> -  HOST_DSOSUF=".dll"
>    # MinGW needs -mthreads for TLS and macro _MT.
>    CONFIGURE_CFLAGS="-mthreads $CONFIGURE_CFLAGS"
>    write_c_skeleton;
> @@ -4636,7 +4631,6 @@ echo "GLIB_LIBS=$glib_libs" >> $config_host_mak
>  echo "QEMU_LDFLAGS=$QEMU_LDFLAGS" >> $config_host_mak
>  echo "LD_I386_EMULATION=$ld_i386_emulation" >> $config_host_mak
>  echo "EXESUF=$EXESUF" >> $config_host_mak
> -echo "HOST_DSOSUF=$HOST_DSOSUF" >> $config_host_mak
>  echo "LIBS_QGA=$libs_qga" >> $config_host_mak
>  if test "$gcov" = "yes" ; then
>    echo "CONFIG_GCOV=y" >> $config_host_mak
> diff --git a/meson.build b/meson.build
> index 98fa4b68d9..6842402a60 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -250,6 +250,7 @@ iokit = []
>  emulator_link_args = []
>  nvmm =not_found
>  hvf = not_found
> +host_dsosuf = '.so'
>  if targetos == 'windows'
>    socket = cc.find_library('ws2_32')
>    winmm = cc.find_library('winmm')
> @@ -258,9 +259,11 @@ if targetos == 'windows'
>    version_res = win.compile_resources('version.rc',
>                                        depend_files:
> files('pc-bios/qemu-nsis.ico'),
>                                        include_directories:
> include_directories('.'))
> +  host_dsosuf = '.dll'
>  elif targetos == 'darwin'
>    coref = dependency('appleframeworks', modules: 'CoreFoundation')
>    iokit = dependency('appleframeworks', modules: 'IOKit', required: false)
> +  host_dsosuf = '.dylib'
>  elif targetos == 'sunos'
>    socket = [cc.find_library('socket'),
>              cc.find_library('nsl'),
> @@ -1460,6 +1463,7 @@ config_host_data.set('QEMU_VERSION_MAJOR',
> meson.project_version().split('.')[0]
>  config_host_data.set('QEMU_VERSION_MINOR',
> meson.project_version().split('.')[1])
>  config_host_data.set('QEMU_VERSION_MICRO',
> meson.project_version().split('.')[2])
>
> +config_host_data.set_quoted('CONFIG_HOST_DSOSUF', host_dsosuf)
>  config_host_data.set('HAVE_HOST_BLOCK_DEVICE', have_host_block_device)
>
>  # has_header
> @@ -1606,10 +1610,9 @@ config_host_data.set('HAVE_BROKEN_SIZE_MAX', not
> cc.compiles('''
>          return printf("%zu", SIZE_MAX);
>      }''', args: ['-Werror']))
>
> -
>  ignored = ['CONFIG_QEMU_INTERP_PREFIX'] # actually per-target
>  arrays = ['CONFIG_BDRV_RW_WHITELIST', 'CONFIG_BDRV_RO_WHITELIST']
> -strings = ['HOST_DSOSUF', 'CONFIG_IASL']
> +strings = ['CONFIG_IASL']
>  foreach k, v: config_host
>    if ignored.contains(k)
>      # do nothing
> @@ -1621,9 +1624,6 @@ foreach k, v: config_host
>    elif k == 'ARCH'
>      config_host_data.set('HOST_' + v.to_upper(), 1)
>    elif strings.contains(k)
> -    if not k.startswith('CONFIG_')
> -      k = 'CONFIG_' + k.to_upper()
> -    endif
>      config_host_data.set_quoted(k, v)
>    elif k.startswith('CONFIG_') or k.startswith('HAVE_') or
> k.startswith('HOST_')
>      config_host_data.set(k, v == 'y' ? 1 : v)
> --
> 2.31.1
>
>
>
>

-- 
Marc-André Lureau