Message ID | 20200929224355.1224017-3-philmd@redhat.com |
---|---|
State | New |
Headers | show |
Series | Support disabling TCG on ARM (part 2) | expand |
On 9/30/20 12:43 AM, Philippe Mathieu-Daudé wrote: > Extend the generic Meson script to pass optional target Kconfig > file to the minikconf script. > > Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> > --- > We could use fs.exists() but is_file() is more specific > (can not be a directory). > > Cc: Paolo Bonzini <pbonzini@redhat.com> > Cc: Claudio Fontana <cfontana@suse.de> > --- > meson.build | 8 +++++++- > 1 file changed, 7 insertions(+), 1 deletion(-) > > diff --git a/meson.build b/meson.build > index d36dd085b5..9ab5d514d7 100644 > --- a/meson.build > +++ b/meson.build > @@ -529,6 +529,7 @@ kconfig_external_symbols = [ > ] > ignored = ['TARGET_XML_FILES', 'TARGET_ABI_DIR', 'TARGET_DIRS'] > > +fs = import('fs') > foreach target : target_dirs > config_target = keyval.load(meson.current_build_dir() / target / 'config-target.mak') > > @@ -569,8 +570,13 @@ foreach target : target_dirs > endforeach > > config_devices_mak = target + '-config-devices.mak' > + target_kconfig = 'target' / config_target['TARGET_BASE_ARCH'] / 'Kconfig' > + minikconf_input = ['default-configs' / target + '.mak', 'Kconfig'] > + if fs.is_file(target_kconfig) > + minikconf_input += [target_kconfig] > + endif > config_devices_mak = configure_file( > - input: ['default-configs' / target + '.mak', 'Kconfig'], > + input: minikconf_input, > output: config_devices_mak, > depfile: config_devices_mak + '.d', > capture: true, > I can't say I understand it, but the general idea seems right to me. Ciao, Claudio
On 9/29/20 5:43 PM, Philippe Mathieu-Daudé wrote: > +++ b/meson.build > @@ -529,6 +529,7 @@ kconfig_external_symbols = [ > ] > ignored = ['TARGET_XML_FILES', 'TARGET_ABI_DIR', 'TARGET_DIRS'] > > +fs = import('fs') Note that I have this in the capstone update, and I placed it closer to the top of the file with some other imports. > foreach target : target_dirs > config_target = keyval.load(meson.current_build_dir() / target / 'config-target.mak') > > @@ -569,8 +570,13 @@ foreach target : target_dirs > endforeach > > config_devices_mak = target + '-config-devices.mak' > + target_kconfig = 'target' / config_target['TARGET_BASE_ARCH'] / 'Kconfig' > + minikconf_input = ['default-configs' / target + '.mak', 'Kconfig'] > + if fs.is_file(target_kconfig) Missing a meson.current_source_dir()? Leastwise that was a comment that Paolo had for me. r~
On 03/10/20 11:13, Richard Henderson wrote: >> + target_kconfig = 'target' / config_target['TARGET_BASE_ARCH'] / 'Kconfig' >> + minikconf_input = ['default-configs' / target + '.mak', 'Kconfig'] >> + if fs.is_file(target_kconfig) > Missing a meson.current_source_dir()? > Leastwise that was a comment that Paolo had for me. Not sure, but it was the only way I thought the BSD build could fail; unless the capstone submodule really was not present in Peter's checkout and submodule update was disabled. Paolo
diff --git a/meson.build b/meson.build index d36dd085b5..9ab5d514d7 100644 --- a/meson.build +++ b/meson.build @@ -529,6 +529,7 @@ kconfig_external_symbols = [ ] ignored = ['TARGET_XML_FILES', 'TARGET_ABI_DIR', 'TARGET_DIRS'] +fs = import('fs') foreach target : target_dirs config_target = keyval.load(meson.current_build_dir() / target / 'config-target.mak') @@ -569,8 +570,13 @@ foreach target : target_dirs endforeach config_devices_mak = target + '-config-devices.mak' + target_kconfig = 'target' / config_target['TARGET_BASE_ARCH'] / 'Kconfig' + minikconf_input = ['default-configs' / target + '.mak', 'Kconfig'] + if fs.is_file(target_kconfig) + minikconf_input += [target_kconfig] + endif config_devices_mak = configure_file( - input: ['default-configs' / target + '.mak', 'Kconfig'], + input: minikconf_input, output: config_devices_mak, depfile: config_devices_mak + '.d', capture: true,
Extend the generic Meson script to pass optional target Kconfig file to the minikconf script. Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> --- We could use fs.exists() but is_file() is more specific (can not be a directory). Cc: Paolo Bonzini <pbonzini@redhat.com> Cc: Claudio Fontana <cfontana@suse.de> --- meson.build | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)