uboot-sunxi: do not depend on dtc being install on host
authorHauke Mehrtens <hauke@hauke-m.de>
Wed, 19 Jul 2017 20:46:34 +0000 (22:46 +0200)
committerHauke Mehrtens <hauke@hauke-m.de>
Mon, 18 Sep 2017 16:36:26 +0000 (18:36 +0200)
make mkimage check the DTC environment variable first.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
package/boot/uboot-sunxi/patches/200-mkimage-check-environment-for-dtc-binary-location.patch [new file with mode: 0644]

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 (file)
index 0000000..d61895a
--- /dev/null
@@ -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",