From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Petazzoni Date: Mon, 6 Apr 2015 12:20:20 +0200 Subject: [Buildroot] [PATCH 2/3] Transformation of package 'at91bootstrap3' to KConfig style. In-Reply-To: <1425850629-14725-2-git-send-email-mc5686@mclink.it> References: <1425850629-14725-1-git-send-email-mc5686@mclink.it> <1425850629-14725-2-git-send-email-mc5686@mclink.it> Message-ID: <20150406122020.5ea2e6df@free-electrons.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: buildroot@busybox.net Dear Mauro Condarelli, Adding our kconfig-package guys Yann and Thomas DS in Cc. See below for some comments. On Sun, 8 Mar 2015 22:37:08 +0100, Mauro Condarelli wrote: > > Signed-off-by: Mauro Condarelli > --- > boot/at91bootstrap3/at91bootstrap3.mk | 9 ++++++++- > 1 file changed, 8 insertions(+), 1 deletion(-) > > diff --git a/boot/at91bootstrap3/at91bootstrap3.mk b/boot/at91bootstrap3/at91bootstrap3.mk > index 098e7bf..37e1bdd 100644 > --- a/boot/at91bootstrap3/at91bootstrap3.mk > +++ b/boot/at91bootstrap3/at91bootstrap3.mk > @@ -46,7 +46,14 @@ define AT91BOOTSTRAP3_INSTALL_IMAGES_CMDS > cp $(@D)/binaries/*.bin $(BINARIES_DIR) > endef > > -$(eval $(generic-package)) > +ifeq ($(BR2_TARGET_AT91BOOTSTRAP3_USE_DEFCONFIG),y) > +AT91BOOTSTRAP3_KCONFIG_FILE = $(call qstrip,$(AT91BOOTSTRAP3_DEFCONFIG)) > +else ifeq ($(BR2_TARGET_AT91BOOTSTRAP3_USE_CUSTOM_CONFIG),y) > +AT91BOOTSTRAP3_KCONFIG_FILE = $(call qstrip,$(BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_CONFIG_FILE)) > +endif > +AT91BOOTSTRAP3_KCONFIG_EDITORS = menuconfig xconfig gconfig > +AT91BOOTSTRAP3_KCONFIG_OPTS = $(AT91BOOTSTRAP3_MAKE_OPTS) > +$(eval $(kconfig-package)) This is not going far enough: the kconfig-package infra is taking care of implementing the _CONFIGURE_CMDS for you. So the following chunk of code should go away: ifeq ($(BR2_TARGET_AT91BOOTSTRAP3_USE_DEFCONFIG),y) define AT91BOOTSTRAP3_CONFIGURE_CMDS $(MAKE) $(AT91BOOTSTRAP3_MAKE_OPTS) -C $(@D) $(AT91BOOTSTRAP3_DEFCONFIG)_defconfig endef else ifeq ($(BR2_TARGET_AT91BOOTSTRAP3_USE_CUSTOM_CONFIG),y) define AT91BOOTSTRAP3_CONFIGURE_CMDS cp $(BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_CONFIG_FILE) $(@D)/.config endef endif and be replaced by a chunk of code that sets AT91BOOTSTRAP3_KCONFIG_FILE. However, while this is reasy to do for the BR2_TARGET_AT91BOOTSTRAP3_USE_CUSTOM_CONFIG case, it is much more complicated for the BR2_TARGET_AT91BOOTSTRAP3_USE_DEFCONFIG case. This is because we do not know the path to the defconfig file in the at91bootstrap3 source tree. For the linux and barebox package, when a defconfig name is passed, its path in the linux or barebox source tree is easily found: it's arch//configs/_defconfig. But for at91bootstrap3, defconfig files are spread throughout the tree, in directories named after the board. There is no real way of inferring the location of the defconfig file just by looking at its name. Therefore, I am not sure how we can initialize AT91BOOTSTRAP3_KCONFIG_FILE in such a situation. Thomas DS, Yann, am I missing something? Best regards, Thomas -- Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com