From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Warren Date: Fri, 28 Dec 2012 16:47:43 -0700 Subject: [U-Boot] [PATCH 01/15] fdt: Use sed instead of cpp to pre-process the dtc In-Reply-To: References: <1356560913-2205-1-git-send-email-sjg@chromium.org> <50DCE1DF.7040206@wwwdotorg.org> <201212281142.05186.vapier@gentoo.org> Message-ID: <50DE2F9F.9000706@wwwdotorg.org> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 12/28/2012 11:07 AM, Simon Glass wrote: > Hi, > > On Fri, Dec 28, 2012 at 8:42 AM, Mike Frysinger wrote: >> On Friday 28 December 2012 09:55:52 Simon Glass wrote: >>> On Thu, Dec 27, 2012 at 4:03 PM, Stephen Warren wrote: >>>> On 12/26/2012 03:28 PM, Simon Glass wrote: >>>>> Include file support in dtc is still not available in common >>>>> distributions so we need to keep our preprocessing arrangement around >>>>> for a little longer. >>>>> >>>>> But # is commonly used in FDT files, so use sed instead of cpp for this >>>>> preprocessing. >>>> >>>> This sounds like the wrong approach to me. I'd suggest using what I >>>> >>>> proposed for the kernel: >>>>> cmd_dtc_cpp = $(CPP) $(cpp_flags) -D__DTS__ -x assembler-with-cpp -o >>>>> $(dtc-tmp) $< ; \ >>>>> >>>>> $(objtree)/scripts/dtc/dtc -O dtb -o $@ -b 0 $(DTC_FLAGS) >>>>> $(dtc-tmp) >>>> >>>> The "-x assembler-with-cpp" is what solves the # problem IIRC. >>> >>> I originally used CPP as an expedient means of converting the >>> ARCH_CPU_DTS symbol until we all have a dtc with include path support. >>> >>> Are you saying that we want to actually use the CPP on tthe device >>> tree and (presumably) use U-Boot include files within the FDT? Yes, I'd explicitly like to be able to use C-style header files to define named constants etc. >> sounds reasonable to me. we already do it with linker scripts, and if the >> kernel is doing it, it means we can (possibly) share more. > > OK. Stephen, what is the kernel actually doing with the preprocessor? > Have you given up on the dtc symbol stuff for now and plan to use CPP > instead? Yes, I've given up on getting any kind of pre-processor or macro language into dtc itself. I haven't managed to get the kernel to accept the logic I quoted above either yet; this has all been a very long and tortuous process. I hope to repost the patch that implements this in the kernel within the next week or so.