[PATCH 2/3] binman: Use target-specific tools when cross-compiling
Simon Glass
sjg at chromium.org
Sun Sep 6 02:17:52 CEST 2020
Hi Alper,
On Sat, 5 Sep 2020 at 17:04, Alper Nebi Yasak <alpernebiyasak at gmail.com> wrote:
>
> 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'.
OK I did look at that function thinking you might have done that, but
was expecting the same code...so this seems OK to me.
Reviewed-by: Simon Glass <sjg at chromium.org>
Regards,
Simon
More information about the U-Boot
mailing list