[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 32/46] meson: move program checks together
From: |
Paolo Bonzini |
Subject: |
[PULL 32/46] meson: move program checks together |
Date: |
Sun, 31 Dec 2023 09:44:48 +0100 |
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
meson.build | 107 +++++++++++++++++++++++++++-------------------------
1 file changed, 56 insertions(+), 51 deletions(-)
diff --git a/meson.build b/meson.build
index c437e9f55e6..3a1f4cbb90f 100644
--- a/meson.build
+++ b/meson.build
@@ -19,21 +19,8 @@ ss = import('sourceset')
fs = import('fs')
targetos = host_machine.system()
-sh = find_program('sh')
config_host = keyval.load(meson.current_build_dir() / 'config-host.mak')
-cc = meson.get_compiler('c')
-all_languages = ['c']
-if targetos == 'windows' and add_languages('cpp', required: false, native:
false)
- all_languages += ['cpp']
- cxx = meson.get_compiler('cpp')
-endif
-if targetos == 'darwin' and \
- add_languages('objc', required: get_option('cocoa'), native: false)
- all_languages += ['objc']
- objc = meson.get_compiler('objc')
-endif
-
# Temporary directory used for files created while
# configure runs. Since it is in the build directory
# we can safely blow away any previous version of it
@@ -65,6 +52,62 @@ supported_cpus = ['ppc', 'ppc64', 's390x', 'riscv32',
'riscv64', 'x86', 'x86_64'
cpu = host_machine.cpu_family()
target_dirs = config_host['TARGET_DIRS'].split()
+
+############
+# Programs #
+############
+
+sh = find_program('sh')
+python = import('python').find_installation()
+
+cc = meson.get_compiler('c')
+all_languages = ['c']
+if targetos == 'windows' and add_languages('cpp', required: false, native:
false)
+ all_languages += ['cpp']
+ cxx = meson.get_compiler('cpp')
+endif
+if targetos == 'darwin' and \
+ add_languages('objc', required: get_option('cocoa'), native: false)
+ all_languages += ['objc']
+ objc = meson.get_compiler('objc')
+endif
+
+dtrace = not_found
+stap = not_found
+if 'dtrace' in get_option('trace_backends')
+ dtrace = find_program('dtrace', required: true)
+ stap = find_program('stap', required: false)
+ if stap.found()
+ # Workaround to avoid dtrace(1) producing a file with 'hidden' symbol
+ # visibility. Define STAP_SDT_V2 to produce 'default' symbol visibility
+ # instead. QEMU --enable-modules depends on this because the SystemTap
+ # semaphores are linked into the main binary and not the module's shared
+ # object.
+ add_global_arguments('-DSTAP_SDT_V2',
+ native: false, language: all_languages)
+ endif
+endif
+
+if get_option('iasl') == ''
+ iasl = find_program('iasl', required: false)
+else
+ iasl = find_program(get_option('iasl'), required: true)
+endif
+
+edk2_targets = [ 'arm-softmmu', 'aarch64-softmmu', 'i386-softmmu',
'x86_64-softmmu' ]
+unpack_edk2_blobs = false
+foreach target : edk2_targets
+ if target in target_dirs
+ bzip2 = find_program('bzip2', required: get_option('install_blobs'))
+ unpack_edk2_blobs = bzip2.found()
+ break
+ endif
+endforeach
+
+#####################
+# Option validation #
+#####################
+
have_linux_user = false
have_bsd_user = false
have_system = false
@@ -90,12 +133,6 @@ enable_modules = get_option('modules') \
.allowed()
have_block = have_system or have_tools
-############
-# Programs #
-############
-
-python = import('python').find_installation()
-
#######################################
# Variables for host and accelerators #
#######################################
@@ -167,38 +204,6 @@ if targetos != 'darwin'
modular_tcg = ['i386-softmmu', 'x86_64-softmmu']
endif
-edk2_targets = [ 'arm-softmmu', 'aarch64-softmmu', 'i386-softmmu',
'x86_64-softmmu' ]
-unpack_edk2_blobs = false
-foreach target : edk2_targets
- if target in target_dirs
- bzip2 = find_program('bzip2', required: get_option('install_blobs'))
- unpack_edk2_blobs = bzip2.found()
- break
- endif
-endforeach
-
-dtrace = not_found
-stap = not_found
-if 'dtrace' in get_option('trace_backends')
- dtrace = find_program('dtrace', required: true)
- stap = find_program('stap', required: false)
- if stap.found()
- # Workaround to avoid dtrace(1) producing a file with 'hidden' symbol
- # visibility. Define STAP_SDT_V2 to produce 'default' symbol visibility
- # instead. QEMU --enable-modules depends on this because the SystemTap
- # semaphores are linked into the main binary and not the module's shared
- # object.
- add_global_arguments('-DSTAP_SDT_V2',
- native: false, language: all_languages)
- endif
-endif
-
-if get_option('iasl') == ''
- iasl = find_program('iasl', required: false)
-else
- iasl = find_program(get_option('iasl'), required: true)
-endif
-
##################
# Compiler flags #
##################
--
2.43.0
- [PULL 19/46] target/i386: move operand load and writeback out of gen_cmovcc1, (continued)
- [PULL 19/46] target/i386: move operand load and writeback out of gen_cmovcc1, Paolo Bonzini, 2023/12/31
- [PULL 21/46] target/i386: introduce flags writeback mechanism, Paolo Bonzini, 2023/12/31
- [PULL 20/46] target/i386: adjust decoding of J operand, Paolo Bonzini, 2023/12/31
- [PULL 34/46] meson: move accelerator dependency checks together, Paolo Bonzini, 2023/12/31
- [PULL 29/46] configure: remove unnecessary subshell, Paolo Bonzini, 2023/12/31
- [PULL 28/46] Makefile: clean qemu-iotests output, Paolo Bonzini, 2023/12/31
- [PULL 38/46] meson: move subdirs to "Collect sources" section, Paolo Bonzini, 2023/12/31
- [PULL 22/46] target/i386: implement CMPccXADD, Paolo Bonzini, 2023/12/31
- [PULL 25/46] meson: fix type of "relocatable" option, Paolo Bonzini, 2023/12/31
- [PULL 31/46] meson: add more sections to main meson.build, Paolo Bonzini, 2023/12/31
- [PULL 32/46] meson: move program checks together,
Paolo Bonzini <=
- [PULL 23/46] target/i386: the sgx_epc_get_section stub is reachable, Paolo Bonzini, 2023/12/31
- [PULL 24/46] esp: check for NULL result from scsi_device_find(), Paolo Bonzini, 2023/12/31
- [PULL 39/46] meson: always probe u2f and canokey if the option is enabled, Paolo Bonzini, 2023/12/31
- [PULL 33/46] meson: move option validation together, Paolo Bonzini, 2023/12/31
- [PULL 27/46] meson: use version_compare() to compare version, Paolo Bonzini, 2023/12/31
- [PULL 30/46] configure: unify again the case arms in probe_target_compiler, Paolo Bonzini, 2023/12/31
- [PULL 44/46] meson: rename config_all, Paolo Bonzini, 2023/12/31
- [PULL 43/46] meson: remove CONFIG_ALL, Paolo Bonzini, 2023/12/31
- [PULL 45/46] configure, meson: rename targetos to host_os, Paolo Bonzini, 2023/12/31
- [PULL 26/46] meson: remove unused variable, Paolo Bonzini, 2023/12/31