meson: make target endianneess available to Kconfig

Some targets use "default y" for boards to filter out those that require
TCG.  For consistency we are switching all other targets to do the same.
MIPS boards may only be available for big-endian or only for
little-endian emulators, add a symbol so that this can be described
with a "depends on" clause.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
Paolo Bonzini 2024-01-29 11:53:17 +01:00
parent a75b180f41
commit bae3e3a5c6
2 changed files with 10 additions and 5 deletions

View file

@ -3005,7 +3005,7 @@ foreach target : target_dirs
} }
endif endif
accel_kconfig = [] target_kconfig = []
foreach sym: accelerators foreach sym: accelerators
if sym == 'CONFIG_TCG' or target in accelerator_targets.get(sym, []) if sym == 'CONFIG_TCG' or target in accelerator_targets.get(sym, [])
config_target += { sym: 'y' } config_target += { sym: 'y' }
@ -3015,10 +3015,10 @@ foreach target : target_dirs
else else
config_target += { 'CONFIG_TCG_BUILTIN': 'y' } config_target += { 'CONFIG_TCG_BUILTIN': 'y' }
endif endif
accel_kconfig += [ sym + '=y' ] target_kconfig += [ sym + '=y' ]
endif endif
endforeach endforeach
if accel_kconfig.length() == 0 if target_kconfig.length() == 0
if default_targets if default_targets
continue continue
endif endif
@ -3078,6 +3078,9 @@ foreach target : target_dirs
configuration: config_target_data)} configuration: config_target_data)}
if target.endswith('-softmmu') if target.endswith('-softmmu')
target_kconfig += 'CONFIG_' + config_target['TARGET_ARCH'].to_upper() + '=y'
target_kconfig += 'CONFIG_TARGET_BIG_ENDIAN=' + config_target['TARGET_BIG_ENDIAN']
config_input = meson.get_external_property(target, 'default') config_input = meson.get_external_property(target, 'default')
config_devices_mak = target + '-config-devices.mak' config_devices_mak = target + '-config-devices.mak'
config_devices_mak = configure_file( config_devices_mak = configure_file(
@ -3088,8 +3091,7 @@ foreach target : target_dirs
command: [minikconf, command: [minikconf,
get_option('default_devices') ? '--defconfig' : '--allnoconfig', get_option('default_devices') ? '--defconfig' : '--allnoconfig',
config_devices_mak, '@DEPFILE@', '@INPUT@', config_devices_mak, '@DEPFILE@', '@INPUT@',
host_kconfig, accel_kconfig, host_kconfig, target_kconfig])
'CONFIG_' + config_target['TARGET_ARCH'].to_upper() + '=y'])
config_devices_data = configuration_data() config_devices_data = configuration_data()
config_devices = keyval.load(config_devices_mak) config_devices = keyval.load(config_devices_mak)

View file

@ -17,3 +17,6 @@ source sh4/Kconfig
source sparc/Kconfig source sparc/Kconfig
source tricore/Kconfig source tricore/Kconfig
source xtensa/Kconfig source xtensa/Kconfig
config TARGET_BIG_ENDIAN
bool