[LEDE-DEV,05/13] uboot-sunxi: do not depend on dtc being install on host

Message ID 20170803213759.8875-6-hauke@hauke-m.de
State Accepted
Delegated to: Hauke Mehrtens
Headers show

Commit Message

Hauke Mehrtens Aug. 3, 2017, 9:37 p.m.
make mkimage check the DTC environment variable first.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
---
 ...check-environment-for-dtc-binary-location.patch | 35 ++++++++++++++++++++++
 1 file changed, 35 insertions(+)
 create mode 100644 package/boot/uboot-sunxi/patches/200-mkimage-check-environment-for-dtc-binary-location.patch

Patch

diff --git a/package/boot/uboot-sunxi/patches/200-mkimage-check-environment-for-dtc-binary-location.patch b/package/boot/uboot-sunxi/patches/200-mkimage-check-environment-for-dtc-binary-location.patch
new file mode 100644
index 0000000000..d61895a3f9
--- /dev/null
+++ b/package/boot/uboot-sunxi/patches/200-mkimage-check-environment-for-dtc-binary-location.patch
@@ -0,0 +1,35 @@ 
+From 5b707cdadb35d896daafff52983416e1c617745b Mon Sep 17 00:00:00 2001
+From: Hauke Mehrtens <hauke@hauke-m.de>
+Date: Wed, 19 Jul 2017 22:23:15 +0200
+Subject: [PATCH] mkimage: check environment for dtc binary location
+
+Currently mkimage assumes the dtc binary is in the path and fails
+otherwise. This patch makes it check the DTC environment variable first
+for the dtc binary and then fall back to the default path. This makes
+it possible to call the u-boot build with make DTC=... and build a fit
+image with the dtc binary not being the the default path.
+
+Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
+Cc: Simon Glass <sjg@chromium.org>
+---
+ tools/fit_image.c | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+--- a/tools/fit_image.c
++++ b/tools/fit_image.c
+@@ -647,9 +647,14 @@ static int fit_handle_file(struct image_
+ 		}
+ 		*cmd = '\0';
+ 	} else if (params->datafile) {
++		const char* dtc = getenv("DTC");
++
++		if (!dtc)
++			dtc = MKIMAGE_DTC;
++
+ 		/* dtc -I dts -O dtb -p 500 datafile > tmpfile */
+ 		snprintf(cmd, sizeof(cmd), "%s %s %s > %s",
+-			 MKIMAGE_DTC, params->dtc, params->datafile, tmpfile);
++			 dtc, params->dtc, params->datafile, tmpfile);
+ 		debug("Trying to execute \"%s\"\n", cmd);
+ 	} else {
+ 		snprintf(cmd, sizeof(cmd), "cp %s %s",