infra/pkg-download: make the DOWNLOAD macro fully parameterised
authorYann E. MORIN <yann.morin.1998@free.fr>
Mon, 15 Apr 2019 19:47:26 +0000 (21:47 +0200)
committerArnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Mon, 15 Apr 2019 21:21:54 +0000 (23:21 +0200)
Currently, the DOWNLOAD macro is context-dependent and expects
the PKG variable to be set to the current package.

This is not so nice.

Change the macro to expect the upper-case package name as a
parameter, rather than expect it from a variable.

Adapt the caller accordingly.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas De Schampheleire <patrickdepinguin@gmail.com>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Cc: Arnout Vandecappelle <arnout@mind.be>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
package/pkg-download.mk
package/pkg-generic.mk

index 96a12b1f2efef021a63b60612a6418a12a38a6f3..de619ba90a8576e1647668364f163e64f5ae14f7 100644 (file)
@@ -93,23 +93,24 @@ endif
 # source from the list returned by DOWNLOAD_URIS.
 #
 # Argument 1 is the source location
+# Argument 2 is the upper-case package name
 #
 ################################################################################
 
 define DOWNLOAD
-       $(Q)mkdir -p $($(PKG)_DL_DIR)
-       $(Q)$(EXTRA_ENV) flock $($(PKG)_DL_DIR)/ $(DL_WRAPPER) \
-               -c '$($(PKG)_DL_VERSION)' \
-               -d '$($(PKG)_DL_DIR)' \
+       $(Q)mkdir -p $($(2)_DL_DIR)
+       $(Q)$(EXTRA_ENV) flock $($(2)_DL_DIR)/ $(DL_WRAPPER) \
+               -c '$($(2)_DL_VERSION)' \
+               -d '$($(2)_DL_DIR)' \
                -D '$(DL_DIR)' \
                -f '$(notdir $(1))' \
-               -H '$($(PKG)_HASH_FILE)' \
-               -n '$($(PKG)_BASENAME_RAW)' \
-               -N '$($(PKG)_RAWNAME)' \
-               -o '$($(PKG)_DL_DIR)/$(notdir $(1))' \
-               $(if $($(PKG)_GIT_SUBMODULES),-r) \
-               $(foreach uri,$(call DOWNLOAD_URIS,$(1),$(PKG)),-u $(uri)) \
+               -H '$($(2)_HASH_FILE)' \
+               -n '$($(2)_BASENAME_RAW)' \
+               -N '$($(2)_RAWNAME)' \
+               -o '$($(2)_DL_DIR)/$(notdir $(1))' \
+               $(if $($(2)_GIT_SUBMODULES),-r) \
+               $(foreach uri,$(call DOWNLOAD_URIS,$(1),$(2)),-u $(uri)) \
                $(QUIET) \
                -- \
-               $($(PKG)_DL_OPTS)
+               $($(2)_DL_OPTS)
 endef
index a83813e28d14b36ef85beefac8820d028d631a6e..8ff8cff12d848f7686ae880bdfdcba3149784a8d 100644 (file)
@@ -149,7 +149,7 @@ $(BUILD_DIR)/%/.stamp_downloaded:
                        break ; \
                fi ; \
        done
-       $(foreach p,$($(PKG)_ALL_DOWNLOADS),$(call DOWNLOAD,$(p))$(sep))
+       $(foreach p,$($(PKG)_ALL_DOWNLOADS),$(call DOWNLOAD,$(p),$(PKG))$(sep))
        $(foreach hook,$($(PKG)_POST_DOWNLOAD_HOOKS),$(call $(hook))$(sep))
        $(Q)mkdir -p $(@D)
        @$(call step_end,download)
@@ -158,7 +158,7 @@ $(BUILD_DIR)/%/.stamp_downloaded:
 # Retrieve actual source archive, e.g. for prebuilt external toolchains
 $(BUILD_DIR)/%/.stamp_actual_downloaded:
        @$(call step_start,actual-download)
-       $(call DOWNLOAD,$($(PKG)_ACTUAL_SOURCE_SITE)/$($(PKG)_ACTUAL_SOURCE_TARBALL))
+       $(call DOWNLOAD,$($(PKG)_ACTUAL_SOURCE_SITE)/$($(PKG)_ACTUAL_SOURCE_TARBALL),$(PKG))
        $(Q)mkdir -p $(@D)
        @$(call step_end,actual-download)
        $(Q)touch $@