[PATCH 2/3] binman: Use target-specific tools when cross-compiling
Alper Nebi Yasak
alpernebiyasak at gmail.com
Sun Sep 6 01:04:02 CEST 2020
On 05/09/2020 19:37, Simon Glass wrote:
> This looks good, but it drops the use of DTC to specify the
> device-tree compiler. Can you add it back?
I think you're referring to this hunk:
> # If we don't have a directory, put it in the tools tempdir
> search_list = []
> for path in search_paths:
> search_list.extend(['-i', path])
> - args = ['-I', 'dts', '-o', dtb_output, '-O', 'dtb',
> + dtc, args = tools.GetTargetCompileTool('dtc')
> + args += ['-I', 'dts', '-o', dtb_output, '-O', 'dtb',
> '-W', 'no-unit_address_vs_reg']
> args.extend(search_list)
> args.append(dts_input)
> - dtc = os.environ.get('DTC') or 'dtc'
> command.Run(dtc, *args, capture_stderr=capture_stderr)
> return dtb_output
where I removed the os.environ.get('DTC'). Instead of that, I get the
command for dtc from GetTargetCompileTool('dtc'), which does check the
'DTC' environment variable:
> +def GetTargetCompileTool(name, cross_compile=None):
> [...]
> + env = dict(os.environ)
> +
> + target_name = None
> + extra_args = []
> + if name in ('as', 'ld', 'cc', 'cpp', 'ar', 'nm', 'ldr', 'strip',
> + 'objcopy', 'objdump', 'dtc'):
> + target_name, *extra_args = env.get(name.upper(), '').split(' ')
> +
> + if target_name:
> + return target_name, extra_args
If that's not convincing enough: running 'DTC=false binman test' gets me
a lot of test errors that I don't get without the 'DTC=false'.
More information about the U-Boot
mailing list