configure, meson: remove target OS symbols from config-host.mak
Stop applying config-host.mak to the sourcesets, since it does not
have any more CONFIG_* symbols coming from the command line.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
diff --git a/Makefile b/Makefile
index 118c28e..bfc4b2c 100644
--- a/Makefile
+++ b/Makefile
@@ -313,7 +313,7 @@
@echo 'Documentation targets:'
$(call print-help,html man,Build documentation in specified format)
@echo ''
-ifdef CONFIG_WIN32
+ifneq ($(filter msi, $(ninja-targets)),)
@echo 'Windows targets:'
$(call print-help,installer,Build NSIS-based installer for QEMU)
$(call print-help,msi,Build MSI-based installer for qemu-ga)
diff --git a/chardev/meson.build b/chardev/meson.build
index fb630b4..6d56ad3 100644
--- a/chardev/meson.build
+++ b/chardev/meson.build
@@ -26,7 +26,7 @@
'char-win.c',
))
-chardev_ss = chardev_ss.apply(config_host, strict: false)
+chardev_ss = chardev_ss.apply(config_targetos, strict: false)
system_ss.add(files(
'char-hmp-cmds.c',
diff --git a/configure b/configure
index a76bdd7..ef08537 100755
--- a/configure
+++ b/configure
@@ -1683,32 +1683,14 @@
echo all: >> $config_host_mak
if test "$targetos" = "windows"; then
- echo "CONFIG_WIN32=y" >> $config_host_mak
echo "QEMU_GA_MANUFACTURER=${QEMU_GA_MANUFACTURER-QEMU}" >> $config_host_mak
echo "QEMU_GA_DISTRO=${QEMU_GA_DISTRO-Linux}" >> $config_host_mak
echo "QEMU_GA_VERSION=${QEMU_GA_VERSION-$(cat "$source_path"/VERSION)}" >> $config_host_mak
-else
- echo "CONFIG_POSIX=y" >> $config_host_mak
-fi
-
-if test "$targetos" = "linux" ; then
- echo "CONFIG_LINUX=y" >> $config_host_mak
-fi
-
-if test "$targetos" = "darwin" ; then
- echo "CONFIG_DARWIN=y" >> $config_host_mak
fi
echo "SRC_PATH=$source_path" >> $config_host_mak
echo "TARGET_DIRS=$target_list" >> $config_host_mak
-# XXX: suppress that
-case $targetos in
- gnu/kfreebsd | freebsd | dragonfly | netbsd | openbsd | darwin)
- echo "CONFIG_BSD=y" >> $config_host_mak
- ;;
-esac
-
if test -n "$gdb_bin"; then
gdb_version=$($gdb_bin --version | head -n 1)
if version_ge ${gdb_version##* } 9.1; then
diff --git a/docs/devel/kconfig.rst b/docs/devel/kconfig.rst
index e3a544e..73f52de 100644
--- a/docs/devel/kconfig.rst
+++ b/docs/devel/kconfig.rst
@@ -316,6 +316,6 @@
host_kconfig = \
(have_tpm ? ['CONFIG_TPM=y'] : []) + \
- ('CONFIG_LINUX' in config_host ? ['CONFIG_LINUX=y'] : []) + \
+ (targetos == 'linux' ? ['CONFIG_LINUX=y'] : []) + \
(have_ivshmem ? ['CONFIG_IVSHMEM=y'] : []) + \
...
diff --git a/gdbstub/meson.build b/gdbstub/meson.build
index 77762e0..9500b9d 100644
--- a/gdbstub/meson.build
+++ b/gdbstub/meson.build
@@ -14,8 +14,8 @@
gdb_user_ss.add(files('gdbstub.c', 'user.c'))
gdb_system_ss.add(files('gdbstub.c', 'softmmu.c'))
-gdb_user_ss = gdb_user_ss.apply(config_host, strict: false)
-gdb_system_ss = gdb_system_ss.apply(config_host, strict: false)
+gdb_user_ss = gdb_user_ss.apply(config_targetos, strict: false)
+gdb_system_ss = gdb_system_ss.apply(config_targetos, strict: false)
libgdb_user = static_library('gdb_user',
gdb_user_ss.sources() + genh,
diff --git a/meson.build b/meson.build
index a7470b5..16f0475 100644
--- a/meson.build
+++ b/meson.build
@@ -2069,10 +2069,15 @@
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())
+config_host_data.set('CONFIG_BSD', targetos in bsd_oses)
config_host_data.set('CONFIG_COCOA', cocoa.found())
+config_host_data.set('CONFIG_DARWIN', targetos == 'darwin')
config_host_data.set('CONFIG_FUZZ', get_option('fuzzing'))
config_host_data.set('CONFIG_GCOV', get_option('b_coverage'))
config_host_data.set('CONFIG_LIBUDEV', libudev.found())
+config_host_data.set('CONFIG_LINUX', targetos == 'linux')
+config_host_data.set('CONFIG_POSIX', targetos != 'windows')
+config_host_data.set('CONFIG_WIN32', targetos == 'windows')
config_host_data.set('CONFIG_LZO', lzo.found())
config_host_data.set('CONFIG_MPATH', mpathpersist.found())
config_host_data.set('CONFIG_BLKIO', blkio.found())
@@ -2799,6 +2804,18 @@
########################
minikconf = find_program('scripts/minikconf.py')
+config_targetos = {
+ (targetos == 'windows' ? 'CONFIG_WIN32' : 'CONFIG_POSIX'): 'y'
+}
+if targetos == 'darwin'
+ config_targetos += {'CONFIG_DARWIN': 'y'}
+elif targetos == 'linux'
+ config_targetos += {'CONFIG_LINUX': 'y'}
+endif
+if targetos in bsd_oses
+ config_targetos += {'CONFIG_BSD': 'y'}
+endif
+
config_all = {}
config_all_devices = {}
config_all_disas = {}
@@ -2842,7 +2859,7 @@
(have_vhost_vdpa ? ['CONFIG_VHOST_VDPA=y'] : []) + \
(have_vhost_kernel ? ['CONFIG_VHOST_KERNEL=y'] : []) + \
(have_virtfs ? ['CONFIG_VIRTFS=y'] : []) + \
- ('CONFIG_LINUX' in config_host ? ['CONFIG_LINUX=y'] : []) + \
+ (targetos == 'linux' ? ['CONFIG_LINUX=y'] : []) + \
(have_pvrdma ? ['CONFIG_PVRDMA=y'] : []) + \
(multiprocess_allowed ? ['CONFIG_MULTIPROCESS_ALLOWED=y'] : []) + \
(vfio_user_server_allowed ? ['CONFIG_VFIO_USER_SERVER_ALLOWED=y'] : [])
@@ -2863,7 +2880,7 @@
endif
config_target += { 'CONFIG_LINUX_USER': 'y' }
elif target.endswith('bsd-user')
- if 'CONFIG_BSD' not in config_host
+ if targetos not in bsd_oses
if default_targets
continue
endif
@@ -2994,7 +3011,7 @@
# pseudo symbol replaces it.
config_all += config_all_devices
-config_all += config_host
+config_all += config_targetos
config_all += config_all_disas
config_all += {
'CONFIG_XEN': xen.found(),
@@ -3341,7 +3358,7 @@
modulecommon = declare_dependency(link_whole: libmodulecommon, compile_args: '-DBUILD_DSO')
endif
-qom_ss = qom_ss.apply(config_host, strict: false)
+qom_ss = qom_ss.apply(config_targetos, strict: false)
libqom = static_library('qom', qom_ss.sources() + genh,
dependencies: [qom_ss.dependencies()],
name_suffix: 'fa')
@@ -3515,7 +3532,7 @@
foreach target : target_dirs
if target.endswith('-softmmu')
config_target = config_target_mak[target]
- config_target += config_host
+ config_target += config_targetos
target_inc = [include_directories('target' / config_target['TARGET_BASE_ARCH'])]
c_args = ['-DNEED_CPU_H',
'-DCONFIG_TARGET="@0@-config-target.h"'.format(target),
@@ -3576,7 +3593,7 @@
capture: true,
command: [undefsym, nm, '@INPUT@'])
-authz_ss = authz_ss.apply(config_host, strict: false)
+authz_ss = authz_ss.apply(config_targetos, strict: false)
libauthz = static_library('authz', authz_ss.sources() + genh,
dependencies: [authz_ss.dependencies()],
name_suffix: 'fa',
@@ -3585,7 +3602,7 @@
authz = declare_dependency(link_whole: libauthz,
dependencies: qom)
-crypto_ss = crypto_ss.apply(config_host, strict: false)
+crypto_ss = crypto_ss.apply(config_targetos, strict: false)
libcrypto = static_library('crypto', crypto_ss.sources() + genh,
dependencies: [crypto_ss.dependencies()],
name_suffix: 'fa',
@@ -3594,7 +3611,7 @@
crypto = declare_dependency(link_whole: libcrypto,
dependencies: [authz, qom])
-io_ss = io_ss.apply(config_host, strict: false)
+io_ss = io_ss.apply(config_targetos, strict: false)
libio = static_library('io', io_ss.sources() + genh,
dependencies: [io_ss.dependencies()],
link_with: libqemuutil,
@@ -3610,7 +3627,7 @@
dependencies: [zlib, qom, io])
system_ss.add(migration)
-block_ss = block_ss.apply(config_host, strict: false)
+block_ss = block_ss.apply(config_targetos, strict: false)
libblock = static_library('block', block_ss.sources() + genh,
dependencies: block_ss.dependencies(),
link_depends: block_syms,
@@ -3621,7 +3638,7 @@
link_args: '@block.syms',
dependencies: [crypto, io])
-blockdev_ss = blockdev_ss.apply(config_host, strict: false)
+blockdev_ss = blockdev_ss.apply(config_targetos, strict: false)
libblockdev = static_library('blockdev', blockdev_ss.sources() + genh,
dependencies: blockdev_ss.dependencies(),
name_suffix: 'fa',
@@ -3630,7 +3647,7 @@
blockdev = declare_dependency(link_whole: [libblockdev],
dependencies: [block, event_loop_base])
-qmp_ss = qmp_ss.apply(config_host, strict: false)
+qmp_ss = qmp_ss.apply(config_targetos, strict: false)
libqmp = static_library('qmp', qmp_ss.sources() + genh,
dependencies: qmp_ss.dependencies(),
name_suffix: 'fa',
@@ -3645,7 +3662,7 @@
chardev = declare_dependency(link_whole: libchardev)
-hwcore_ss = hwcore_ss.apply(config_host, strict: false)
+hwcore_ss = hwcore_ss.apply(config_targetos, strict: false)
libhwcore = static_library('hwcore', sources: hwcore_ss.sources() + genh,
name_suffix: 'fa',
build_by_default: false)
@@ -3702,7 +3719,7 @@
'-DCONFIG_DEVICES="@0@-config-devices.h"'.format(target)]
link_args = emulator_link_args
- config_target += config_host
+ config_target += config_targetos
target_inc = [include_directories('target' / config_target['TARGET_BASE_ARCH'])]
if targetos == 'linux'
target_inc += include_directories('linux-headers', is_system: true)
diff --git a/qga/meson.build b/qga/meson.build
index dd18092..59cae0c 100644
--- a/qga/meson.build
+++ b/qga/meson.build
@@ -85,7 +85,7 @@
'vss-win32.c'
))
-qga_ss = qga_ss.apply(config_host, strict: false)
+qga_ss = qga_ss.apply(config_targetos, strict: false)
gen_tlb = []
qga_libs = []
@@ -180,7 +180,7 @@
# the leak detector in build-oss-fuzz Gitlab CI test. we should re-enable
# this when an alternative is implemented or when the underlying glib
# issue is identified/fix
-#if 'CONFIG_POSIX' in config_host
+#if targetos != 'windows'
if false
srcs = [files('commands-posix-ssh.c')]
i = 0
diff --git a/storage-daemon/meson.build b/storage-daemon/meson.build
index 49c9d2e..5e90cd3 100644
--- a/storage-daemon/meson.build
+++ b/storage-daemon/meson.build
@@ -5,7 +5,7 @@
subdir('qapi')
if have_tools
- qsd_ss = qsd_ss.apply(config_host, strict: false)
+ qsd_ss = qsd_ss.apply(config_targetos, strict: false)
qsd = executable('qemu-storage-daemon',
qsd_ss.sources(),
dependencies: qsd_ss.dependencies(),
diff --git a/tcg/meson.build b/tcg/meson.build
index c0252c4..0014dca 100644
--- a/tcg/meson.build
+++ b/tcg/meson.build
@@ -22,7 +22,7 @@
tcg_ss.add(files('tci.c'))
endif
-tcg_ss = tcg_ss.apply(config_host, strict: false)
+tcg_ss = tcg_ss.apply(config_targetos, strict: false)
libtcg_user = static_library('tcg_user',
tcg_ss.sources() + genh,
diff --git a/tests/meson.build b/tests/meson.build
index c2528a8..debaa45 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -68,7 +68,7 @@
'test-qht-par': qht_bench,
}
-if have_tools and have_vhost_user and 'CONFIG_LINUX' in config_host
+if have_tools and have_vhost_user and targetos == 'linux'
executable('vhost-user-bridge',
sources: files('vhost-user-bridge.c'),
dependencies: [qemuutil, vhost_user])
diff --git a/tests/qtest/meson.build b/tests/qtest/meson.build
index df63909..383bdfe 100644
--- a/tests/qtest/meson.build
+++ b/tests/qtest/meson.build
@@ -38,8 +38,8 @@
# for the availability of the default NICs in the tests
qtests_filter = \
(get_option('default_devices') and slirp.found() ? ['test-netfilter'] : []) + \
- (get_option('default_devices') and config_host.has_key('CONFIG_POSIX') ? ['test-filter-mirror'] : []) + \
- (get_option('default_devices') and config_host.has_key('CONFIG_POSIX') ? ['test-filter-redirector'] : [])
+ (get_option('default_devices') and targetos != 'windows' ? ['test-filter-mirror'] : []) + \
+ (get_option('default_devices') and targetos != 'windows' ? ['test-filter-redirector'] : [])
qtests_i386 = \
(slirp.found() ? ['pxe-test'] : []) + \
@@ -48,7 +48,7 @@
(config_all_devices.has_key('CONFIG_ISA_TESTDEV') ? ['endianness-test'] : []) + \
(config_all_devices.has_key('CONFIG_SGA') ? ['boot-serial-test'] : []) + \
(config_all_devices.has_key('CONFIG_ISA_IPMI_KCS') ? ['ipmi-kcs-test'] : []) + \
- (config_host.has_key('CONFIG_LINUX') and \
+ (targetos == 'linux' and \
config_all_devices.has_key('CONFIG_ISA_IPMI_BT') and
config_all_devices.has_key('CONFIG_IPMI_EXTERN') ? ['ipmi-bt-test'] : []) + \
(config_all_devices.has_key('CONFIG_WDT_IB700') ? ['wdt_ib700-test'] : []) + \
@@ -74,7 +74,7 @@
(config_all_devices.has_key('CONFIG_SB16') ? ['fuzz-sb16-test'] : []) + \
(config_all_devices.has_key('CONFIG_SDHCI_PCI') ? ['fuzz-sdcard-test'] : []) + \
(config_all_devices.has_key('CONFIG_ESP_PCI') ? ['am53c974-test'] : []) + \
- (config_host.has_key('CONFIG_POSIX') and \
+ (targetos != 'windows' and \
config_all_devices.has_key('CONFIG_ACPI_ERST') ? ['erst-test'] : []) + \
(config_all_devices.has_key('CONFIG_PCIE_PORT') and \
config_all_devices.has_key('CONFIG_VIRTIO_NET') and \
@@ -275,7 +275,7 @@
qos_test_ss.add(files('virtio-serial-test.c'))
endif
-if config_host.has_key('CONFIG_POSIX')
+if targetos != 'windows'
qos_test_ss.add(files('e1000e-test.c'))
endif
if have_virtfs
@@ -308,7 +308,7 @@
'ivshmem-test': [rt, '../../contrib/ivshmem-server/ivshmem-server.c'],
'migration-test': migration_files,
'pxe-test': files('boot-sector.c'),
- 'qos-test': [chardev, io, qos_test_ss.apply(config_host, strict: false).sources()],
+ 'qos-test': [chardev, io, qos_test_ss.apply(config_targetos, strict: false).sources()],
'tpm-crb-swtpm-test': [io, tpmemu_files],
'tpm-crb-test': [io, tpmemu_files],
'tpm-tis-swtpm-test': [io, tpmemu_files, 'tpm-tis-util.c'],
diff --git a/tests/unit/meson.build b/tests/unit/meson.build
index 93977cc..0299ef6 100644
--- a/tests/unit/meson.build
+++ b/tests/unit/meson.build
@@ -98,7 +98,7 @@
}
if gnutls.found() and \
tasn1.found() and \
- 'CONFIG_POSIX' in config_host
+ targetos != 'windows'
tests += {
'test-crypto-tlscredsx509': ['crypto-tls-x509-helpers.c', 'pkix_asn1_tab.c',
tasn1, crypto, gnutls],
@@ -113,7 +113,7 @@
if xts == 'private'
tests += {'test-crypto-xts': [crypto, io]}
endif
- if 'CONFIG_POSIX' in config_host
+ if targetos != 'windows'
tests += {
'test-image-locking': [testblock],
'test-nested-aio-poll': [testblock],
@@ -148,7 +148,7 @@
# are not runnable under TSan due to a known issue.
# https://github.com/google/sanitizers/issues/1116
if not get_option('tsan')
- if 'CONFIG_POSIX' in config_host
+ if targetos != 'windows'
tests += {
'test-char': ['socket-helpers.c', qom, io, chardev]
}