Am 2014-08-05 23:45, schrieb Stephen Warren: > On 08/05/2014 03:41 PM, Stefan Agner wrote: >> Am 2014-08-01 04:13, schrieb Masahiro Yamada: >>> Hi Stephen, >>> >>> >>> On Thu, 31 Jul 2014 11:48:05 -0600 >>> Stephen Warren <swarren@xxxxxxxxxxxxx> wrote: >>> >>>> From: Stephen Warren <swarren@xxxxxxxxxx> >>>> >>>> U-Boot commit 51148790f26e "kconfig: switch to Kconfig" changed the >>>> commands required to configure U-Boot. Adapt the flasher build script >>>> to those changes, in a way that automatically works with either old or >>>> new U-Boot source trees. >>>> >>>> Cc: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> >>>> Signed-off-by: Stephen Warren <swarren@xxxxxxxxxx> >>>> --- >>>> build | 12 +++++++++++- >>>> 1 file changed, 11 insertions(+), 1 deletion(-) >>>> >>>> diff --git a/build b/build >>>> index af863dd3b395..e61cac8ea4c7 100755 >>>> --- a/build >>>> +++ b/build >>>> @@ -186,7 +186,17 @@ def build_uboot_one_board(boardname): >>>> out_board_dir = gen_out_board_dir(boardname) >>>> mkdir(out_board_dir) >>>> >>>> - run(uboot_dir, 'make O=' + build_uboot_dir + ' ' + boardname + '_config') >>>> + # U-Boot commit 51148790f26e "kconfig: switch to Kconfig" changed the >>>> + # build commands from "make ${board}_config; make" to >>>> + # "make ${board}_defconfig; make". That commit also added file >>>> + # scripts/multiconfig.py, so we happen to have an easy way to check for >>>> + # the existence of that file to tell how to compile U-Boot:-/ >>>> + new_build_commands_file = os.path.join(uboot_dir, "scripts/multiconfig.py") >>>> + if os.path.exists(new_build_commands_file): >>>> + config_target_suffix = '_defconfig' >>>> + else: >>>> + config_target_suffix = '_config' >>>> + run(uboot_dir, 'make O=' + build_uboot_dir + ' ' + boardname + config_target_suffix) >>>> run(uboot_dir, 'make O=' + build_uboot_dir + ' -s ' + makejobs) >>>> >>>> import_uboot_one_board(boardname, build_uboot_dir) >> >> Funny discovered and tried to fix that on Thursday too. Stephens >> upstream change now just created a merge conflict on my local changes >> :-) >> >>> >>> >>> IMHO, this way depends on how Kconfig is implemented in U-Boot, right? >>> >>> >>> Maybe you can check the returncode of >>> >>> make help 2>/dev/null | grep -q 'Configuration targets' >>> >> >> IMHO the check now depends on the help message, which easily might >> change. >> >> My approach was to simple check if the file Kconfig is in the root >> folder. Since the change to switch to defconfig was done at the same >> time the kernel build system was introduced, this works perfectly and >> matches the reasons behind the renaming (align with the kernel)... >> os.path.isfile(os.path.join(uboot_dir, "Kconfig") >> >> I bet U-Boot will not change the build system anytime soon, especially >> not before they move to another build system :-) Regarding the help >> message, I'm not so sure about that... > > Unfortunately, the specific commit which changed the commands required > to build U-Boot wasn't the one that added the Kconfig file. Checking > for the Kconfig file would work fine for a bunch of release commits, > but not arbitrary points in the development history. > Ok, didn't catch that. Well then, I guess this solution is more appropriate... -- Stefan -- To unsubscribe from this list: send the line "unsubscribe linux-tegra" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html