
Hi Stephen,
On Mon, Jun 24, 2013 at 8:43 AM, Stephen Warren swarren@wwwdotorg.orgwrote:
From: Stephen Warren swarren@nvidia.com
Subsequent patches assume that dtc supports various recent features. These are available in dtc 1.4.0. Validate that dtc is at least that version.
Signed-off-by: Stephen Warren swarren@nvidia.com
v2: New patch.
Acked-by: Simon Glass sjg@chromium.org
See note below.
Makefile | 8 +++++++- config.mk | 1 + tools/dtc-version.sh | 20 ++++++++++++++++++++ 3 files changed, 28 insertions(+), 1 deletion(-) create mode 100755 tools/dtc-version.sh
diff --git a/Makefile b/Makefile index 50880c9..f167458 100644 --- a/Makefile +++ b/Makefile @@ -428,7 +428,7 @@ endif
all: $(ALL-y) $(SUBDIR_EXAMPLES)
-$(obj)u-boot.dtb: $(obj)u-boot +$(obj)u-boot.dtb: checkdtc $(obj)u-boot
Any reason this is not in dts/Makefile? Still this is fine.
$(MAKE) -C dts binary mv $(obj)dts/dt.dtb $@
@@ -686,6 +686,12 @@ checkgcc4: false; \ fi
+checkdtc:
@if test $(call dtc-version) -lt 0104; then \
echo '*** Your dtc is too old, please upgrade to dtc 1.4
or newer'; \
false; \
fi
# # Auto-generate the autoconf.mk file (which is included by all makefiles) # diff --git a/config.mk b/config.mk index 6e17ed8..32643ec 100644 --- a/config.mk +++ b/config.mk @@ -136,6 +136,7 @@ endif # Usage gcc-ver := $(call cc-version) cc-version = $(shell $(SHELL) $(SRCTREE)/tools/gcc-version.sh $(CC)) binutils-version = $(shell $(SHELL) $(SRCTREE)/tools/binutils-version.sh $(AS)) +dtc-version = $(shell $(SHELL) $(SRCTREE)/tools/dtc-version.sh $(DTC))
# # Include the make variables (CC, etc...) diff --git a/tools/dtc-version.sh b/tools/dtc-version.sh new file mode 100755 index 0000000..e8c94d3 --- /dev/null +++ b/tools/dtc-version.sh @@ -0,0 +1,20 @@ +#!/bin/sh +# +# dtc-version dtc-command +# +# Prints the dtc version of `dtc-command' in a canonical 4-digit form +# such as `0222' for binutils 2.22 +#
+dtc="$*"
+if [ ${#dtc} -eq 0 ]; then
echo "Error: No dtc command specified."
printf "Usage:\n\t$0 <dtc-command>\n"
exit 1
+fi
+MAJOR=$($dtc -v | head -1 | awk '{print $NF}' | cut -d . -f 1) +MINOR=$($dtc -v | head -1 | awk '{print $NF}' | cut -d . -f 2)
+printf "%02d%02d\n" $MAJOR $MINOR
1.8.1.5