package/pkg-kconfig: handle KCONFIG_DEPENDENCIES with per-package directories
authorThomas Petazzoni <thomas.petazzoni@bootlin.com>
Tue, 5 Nov 2019 16:46:43 +0000 (17:46 +0100)
committerPeter Korsgaard <peter@korsgaard.com>
Fri, 29 Nov 2019 14:29:04 +0000 (15:29 +0100)
The pkg-kconfig infrastructure hijacks the regular chain of build
steps to insert its own step to prepare the configuration of kconfig
packages. This additional step may have dependencies of its own, such
as host-flex, host-bison or toolchain.

In the context of per-package directory support, those dependencies
must be copied to the per-package directory of the current package
prior to doing the config preparation. This commit implements this
logic by adding a call to prepare-per-package-directory at the right
spot.

Reported-by: Andreas Naumann <anaumann@ultratronik.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
package/pkg-kconfig.mk

index 86d7c14fdb55a9367c39ef78182991fc36ab15c4..e435b95bcf20e1ed9925e9a78ae15a9bb9da8633 100644 (file)
@@ -143,6 +143,7 @@ $(2)_KCONFIG_RULES = \
 # Since the file could be a defconfig file it needs to be expanded to a
 # full .config first.
 $$($(2)_DIR)/$$($(2)_KCONFIG_STAMP_DOTCONFIG): $$($(2)_KCONFIG_FILE) $$($(2)_KCONFIG_FRAGMENT_FILES)
+       $$(call prepare-per-package-directory,$$($(2)_KCONFIG_DEPENDENCIES))
        $$(call kconfig-package-merge-config,$(2),$$(@D)/$$($(2)_KCONFIG_DOTCONFIG),\
                $$($(2)_KCONFIG_FRAGMENT_FILES))
        $$(Q)touch $$(@D)/$$($(2)_KCONFIG_STAMP_DOTCONFIG)