Hi, On 10 November 2015 at 08:34, Nishanth Menon <n...@ti.com> wrote: > On 11/10/2015 08:55 AM, Nishanth Menon wrote: >> On 12:25-20151110, Masahiro Yamada wrote: >>> 2015-11-10 5:24 GMT+09:00 Simon Glass <s...@chromium.org>: >>>>>> I am unhappy because I was hoping >>>>>> we could stop creating symbolic links during building >>>>>> in a long run. >>>> >>>> But how? I don't see that it is possible if we want to have a sensible >>>> prefix for each include. >>> >>> >>> [step 1] move SoC-specific headers to arch/<arch>/mach-<soc>/include/mach >>> >>> [step 2] change #include <asm/arch/foo.h> to #include <mach/foo.h> >>> >>> [step 3] Drop CONFIG_CREATE_ARCH_SYMLINK >>> >>> >>> For example, mach-uniphier finished [1] and [2], >>> so it does not require the symbolic link. >>> (several ARM SoCs finished [1]) >>> >>> >>> I think this is the way ARM should do, at least. >>> >>> The topic of debate is PowerPC. Should we introduce mach-<soc> >>> directories or not? >>> >> >> OK: Option 4: >> >> How about this guys? include/board-common is an actual directory >> and instead of headers being located in board/$(VENDOR)/common or >> board/$(VENDOR)/common/include, we move the common headers to >> include/board/$(VENDOR)/ Directory. This will make the usage as follows: >> >> #include <$(VENDOR)/xyz.h> >> >> I know this does not exactly meet Simon's suggestion here of being >> identifiably board-common/xyz.h -> but at least knowing the prefix as >> vendor name implies a board common header. >> >> diff --git a/Makefile b/Makefile >> index 3c21f8ddf9e9..2bd684199512 100644 >> --- a/Makefile >> +++ b/Makefile >> @@ -620,6 +620,7 @@ c_flags := $(KBUILD_CFLAGS) $(cpp_flags) >> # U-Boot objects....order is important (i.e. start must be first) >> >> HAVE_VENDOR_COMMON_LIB = $(if $(wildcard >> $(srctree)/board/$(VENDOR)/common/Makefile),y,n) >> +UBOOTINCLUDE += $(if $(HAVE_VENDOR_COMMON_LIB:y=1), >> -I$(srctree)/include/board-common) >> >> libs-y += lib/ >> libs-$(HAVE_VENDOR_COMMON_LIB) += board/$(VENDOR)/common/ >> >> How does this sound? >> > Spin off from option 4 is option 5 -> where we dont have the Makefile > change. the board includes are located in > include/board-common/$(VENDOR)/ directory. > > > Usage will be: > > #include <board-common/$(VENDOR)/xyz.h> > > > Almost meets Simon's needs(identifiable as board common header) and I > think matches what Masahiro-san wants as well(no symlinks). > > > OK, i am out of ideas at least for now... Any other suggestions / opinions?
If we don't want a symlink then option 5 seems good to me. Thanks very much for looking into this in so much detail, Nishanth. Thoughts - Masahiro? Tom? Regards, Simon _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot