[U-Boot] device tree compilation problems.

Simon Glass sjg at chromium.org
Fri Apr 13 19:45:04 CEST 2012


Hi Wolfgang,

On Mon, Jan 23, 2012 at 12:08 AM, Wolfgang Denk <wd at denx.de> wrote:
> Dear Simon Glass,
>
> In message <CAPnjgZ3s2+w0PPyUh8c4JqgSEmSbZwWDeqBqUWKz_Bf1O0O6UQ at mail.gmail.com> you wrote:
>>
>> >  $(DT_BIN): $(TOPDIR)/board/$(VENDOR)/dts/$(DEVICE_TREE).dts
>> > -       cat $< | $(CPP) -P $(DTS_CPPFLAGS) - >$@.tmp
>> > -       $(DTC) -R 4 -p 0x1000 -O dtb -o ${DT_BIN} $@.tmp
>> > -       rm $@.tmp
> ...
>> The lines above are running the .dts file through the C proprocessor
>> to create a tmp file, which is then compiled. It is only really used
>> to get the name of the SOC's device tree include file - see the
>> definition of DTS_CPPFLAGS.
>
> Is there actually any reason for the "cat" (the UUOCA seems to be
> extinct these days, cf. http://partmaps.org/era/unix/award.html) and
> the tmp file?
>
> Why not rewriting as
>
>        $(CPP) -P $(DTS_CPPFLAGS) < $< | \
>        $(DTC) -R 4 -p 0x1000 -O dtb -o ${DT_BIN} -

Any errors produce messages with line numbers, and it is nice for
people to be able to look up the file, go to the right line and see
what is actually being compiled. So that's why I did this - although I
certainly could use tee.

But instead I have been working on getting rid of the need for the CPP
step - the -i flag (include path) has now made it into dtc so before
long I will submit a patch to tidy up this logic and remove the
problem.

>
> ?

Regards,
Simon

>
> Best regards,
>
> Wolfgang Denk
>
> --
> DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
> Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
> ######## This message was made from 100% recycled electrons. ########


More information about the U-Boot mailing list