[U-Boot] [PATCH 0/34] Switch over to real Kbuild

Simon Glass sjg at chromium.org
Fri Dec 13 23:35:51 CET 2013


Hi Masahiro,

On 12 December 2013 16:39, Simon Glass <sjg at chromium.org> wrote:
> Hi Masahiro,
>
>
> On 11 December 2013 19:53, Masahiro Yamada <yamada.m at jp.panasonic.com> wrote:
>> Hello Simon
>>
>>> > You need to apply above patches beforehand to use this series.
>>> > They are simple patches, so I hope they will be reviewed and applied first.
>>>
>>> Can you please push a branch somewhere with all of these and kbuild?
>>
>> Sure.
>>
>> u-boot/master was updated after posting this series.
>> (Prerequisite [1] was merged into the mainline.)
>> I rebased my local branch and push it to my GitHub space.
>>
>>
>> Please try this:
>> git clone git://github.com/masahir0y/u-boot-kbuild.git
>> cd u-boot-kbuild
>> git checktout kbuild
>
> Thank you, that is much easier.
>
> I'm very impressed with your efforts here - the commits are clean and
> easy to understand. I have been through them in turn. I have a few
> minor comments...
>
> I see this error turn up in commit 34 (it is fixed in 38):
>
> 34: Kbuild: change out-of-tree building
>    sandbox: +   sandbox
> +/usr/local/google/c/cosarm/src/third_party/u-boot/try-kbuild2/.bm-work/00/arch/sandbox/cpu/os.c:6:20:
> fatal error: dirent.h: No such file or directory
> +compilation terminated.
> 35: Kbuild: add dummy obj-y to create built-in.o
> 36: Makefile: rename scripts/Makefile.build to scripts/Makefile.build.tmp
> 37: Kbuild: import more build scripts from Linux v3.12 tag
> 38: Kbuild: use Linux Kernel build scripts
>    sandbox:    sandbox
> -/usr/local/google/c/cosarm/src/third_party/u-boot/try-kbuild2/.bm-work/00/arch/sandbox/cpu/os.c:6:20:
> fatal error: dirent.h: No such file or directory
> -compilation terminated.
> 39: Kbuild: delete temporary build scripts

Further to this one - here is my full buildman output. There are a few
PPC problems also:

./tools/buildman/buildman -b try-kbuild2 -s
Summary of 51 commits for 1194 boards (32 threads, 1 job per thread)
01: powerpc/mpc85xx: Update CONFIG_SYS_FSL_TBCLK_DIV for T1040
  blackfin: +   bf561-acvilon cm-bf561 blackstamp br4 bct-brettl2
cm-bf527 dnp5370 bf506f-ezkit ip04 bf527-sdp bf609-ezkit bf537-stamp
bf527-ezkit-v2 cm-bf537e tcm-bf518 cm-bf537u bf537-pnav cm-bf533 pr1
bf533-ezkit ibf-dsp561 bf537-srv1 cm-bf548 bf537-minotaur bf538f-ezkit
bf548-ezkit bf525-ucr2 blackvme bf527-ezkit tcm-bf537 bf533-stamp
bf518f-ezbrd bf527-ad7160-eval bf526-ezbrd bf561-ezkit
      m68k: +   M54455EVB_a66 M5329AFEE M5249EVB idmr M5208EVBE
eb_cpu5282 M5475FFE M54451EVB astro_mcf5373l M54418TWR_serial_rmii
M54455EVB_intel M5282EVB M54455EVB_i66 M5475GFE M5253DEMO
M54455EVB_stm33 M5485BFE M5485DFE TASREG M5329BFEE M52277EVB M5475EFE
M5475CFE cobra5272 M5485AFE M53017EVB M5485HFE M5235EVB M5253EVBE
M54418TWR_nand_mii M54418TWR_nand_rmii_lowfreq M5475BFE M5475DFE
M5275EVB M52277EVB_stmicro eb_cpu5282_internal M54451EVB_stmicro
M5271EVB M5485GFE M5373EVB M5485EFE M5485FFE M54418TWR
M5235EVB_Flash32 M54418TWR_nand_rmii M54418TWR_serial_mii M5485CFE
M54455EVB M5475AFE M5272C3
   powerpc: +   MVBLM7 linkstation_HGLAN MVSMR lcd4_lwmon5
     sparc: +   grsim grsim_leon2 gr_cpci_ax2000 gr_xc3s_1500 gr_ep2s60
        sh: +   rsk7269 rsk7264 rsk7203
microblaze: +   microblaze-generic
  openrisc: +   openrisc-generic
       arm: +   pm9g45 qong nitrogen6dl2g palmtc zipitz2 omap3_zoom2
omap3_zoom1 omap3_overo goflexhome mx6slevk nitrogen6s nitrogen6q
wandboard_solo davinci_sonata VCMA9 mini2440 iconnect km_kirkwood_pci
titanium ib62x0 lubbock ethernut5 zynq_dcc vpac270_nor_128
nitrogen6q2g colibri_pxa270 sheevaplug wandboard_dl wandboard_quad
am3517_crane mx6dlsabresd zynq tnetv107x_evm xaeniax devkit8000
nitrogen6dl mx6qarm2 magnesium mx6qsabrelite mx6qsabresd palmtreo680
kmsuv31 polaris omap3_sdp3430 imx27lite mgcoge3un mx6qsabreauto
vpac270_nor_256 pxa255_idp udoo_quad kmnusa kmcoge5un am3517_evm
nhk8815_onenand openrd_client openrd_base nhk8815 km_kirkwood dns325
mcx lp8x4x vpac270_ond_256 smdk2410 cam_enc_4xx h2200 nitrogen6s1g
scb9328 jornada cgtqmx6qeval balloon3 omap3_evm omap3_logic dockstar
portl2 palmld openrd_ultimate trizepsiv pogo_e02 pm9263 mx1ads
02: sandbox: Use system headers first for sandbox's os.c in a different way
03: .gitignore: ignore spl/ and tpl/ directories except spl/Makefile
04: Makefile: delete a make rule of $(LDSCRIPT)
05: post: descend only when CONFIG_HAS_POST is defined
06: Makefile: Select objects by CONFIG_ rather than $(ARCH) or $(CPU)
07: drivers/usb/gadget: select objects by obj-$(CONFIG-...)
08: drivers/mtd: descend into sub directories only when it is necessary
09: Makefile: Move some scripts imported from Linux
10: Makefile: delete unnecessary CPPFLAGS settings
11: Makefile: delete unnecessary lines
12: Makefile: Do not create empty autoconf.mk on error
13: Makefile: use two double-quotations as a pair
14: Makefile: correct dependencies of asm-offsets.[hs]
15: examples: x86: delete 82559_eeprom
16: Makefile,.gitignore: Cleanup non-existing binaries
17: spl/Makefile: merge LIBS-y += arch/$(ARCH)/imx-common
18: .gitignore: ingore files generated by Kbuild
19: Makefile.host.tmp: add a new script to refactor tools
20: tools: convert makefiles to kbuild style
21: board: samsung: refactor host programs
22: examples: Use scripts/Makefile.build
23: nand-spl: Use scripts/Makefile.build
24: Makfile: move suffix rules to Makefile.build
25: Makefile: move some variable definitions to the top Makefile
26: Makefile: move BFD_ROOT_DIR to tools/gdb/Makefile
27: Kbuild: import Kbuild.include from linux v3.12 tag
28: Kbuild: Use Kbuild.include
29: Makefile: move more flags to the top Makefile
   powerpc: +   rainier_nand glacier_nand canyonlands_nand
sequoia_nand haleakala_nand kilauea_nand acadia_nand bamboo_nand
30: Makefile: refactor include path settings
31: Makefile: move more stuff to top Makefile
   powerpc:    rainier_nand glacier_nand canyonlands_nand sequoia_nand
haleakala_nand kilauea_nand acadia_nand bamboo_nand
32: Makefile: move some flags to spl/Makefile
33: Makefile: move some flags to examples makefiles
34: Kbuild: change out-of-tree building
   sandbox: +   sandbox
  blackfin:    bf561-acvilon cm-bf537u
35: Kbuild: add dummy obj-y to create built-in.o
36: Makefile: rename scripts/Makefile.build to scripts/Makefile.build.tmp
37: Kbuild: import more build scripts from Linux v3.12 tag
38: Kbuild: use Linux Kernel build scripts
   sandbox:    sandbox
  blackfin: +   bf561-acvilon cm-bf537u
39: Kbuild: delete temporary build scripts
40: Kbuild: move some lines to more suitable place
41: Kbuild: convert some make rules to Kbuild style
42: Kbuild: move include directives of board configuration files
43: Kbuild: generate {spl,tpl}-autoconf.mk only when it is necessary
44: Makefile: remove a cleaning target "tidy"
45: Kbuild: change the top Makefile to more Kbuild-ish structure
46: examples: move api/ and standalone/ to examples/Makefile
47: Kbuild: refactor Makefile and spl/Makefile more
48: Makefile: Do not pass MTD_VERSION from the top Makefile
49: Makefile: refactor tools-all targets
50: Kbuild: use scripts/Makefile.clean
51: Kbuild: support simultaneous board configuration and "make all"

- Simon

>
> What will happen with the 'FIX ME's that are generated? e.g.:
>
> +# FIX ME
> +ifneq ($(filter lib lib/lzma lib/zlib, $(obj)),)
> +ccflags-y := -O2
> +endif
>
>
> Have you done any comparison on build times?
>
> Regards,
> Simon


More information about the U-Boot mailing list