[Buildroot] [v4 09/13] pkg-generic: introduce _SAME_SOURCE_AS

Maxime Hadjinlian maxime.hadjinlian at gmail.com
Mon Apr 2 08:14:30 UTC 2018


This per package variable can be used to specify that a package shares
the same sources as another package.

The use case here is for example linux-headers and linux, which share
the same sources (because they are the same upstream project), so we
don't want to download twice the kernel, nor store it multiple times
either.

Make will automatically try to help by introducing leading and trailing
spaces when replacing a line-continuation '\', so we need to call
$(strip) on the variable.

Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian at gmail.com>
---
 package/pkg-generic.mk | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk
index c84b1eb4a2..a034c7ea02 100644
--- a/package/pkg-generic.mk
+++ b/package/pkg-generic.mk
@@ -432,7 +432,10 @@ endif
 
 $(2)_BASENAME	= $$(if $$($(2)_VERSION),$(1)-$$($(2)_VERSION),$(1))
 $(2)_BASENAME_RAW = $$(if $$($(2)_VERSION),$$($(2)_RAWNAME)-$$($(2)_VERSION),$$($(2)_RAWNAME))
-$(2)_DL_DIR 	=  $$(DL_DIR)/$$($(2)_RAWNAME)
+$(2)_DL_DIR = $$(strip $$(if $$($(2)_SAME_SOURCE_AS), \
+		$$($$(call UPPERCASE,$$($(2)_SAME_SOURCE_AS))_DL_DIR), \
+		$$(DL_DIR)/$$($(2)_RAWNAME)) \
+	)
 $(2)_DIR	=  $$(BUILD_DIR)/$$($(2)_BASENAME)
 
 ifndef $(2)_SUBDIR
-- 
2.16.2



More information about the buildroot mailing list