diff options
author | Stephen Warren <swarren@nvidia.com> | 2013-07-24 10:09:16 -0700 |
---|---|---|
committer | Tom Rini <trini@ti.com> | 2013-08-02 18:29:32 -0400 |
commit | 501ebdf28666b3142a27c4b4fe6b76a159564ffd (patch) | |
tree | 2d1b7cd2ee1ba1ec3469e7d48c6748fbf43d0b02 | |
parent | 245d65b6e503f3a159cffb3392ac3b2c25606d8e (diff) | |
download | u-boot-501ebdf28666b3142a27c4b4fe6b76a159564ffd.tar.gz u-boot-501ebdf28666b3142a27c4b4fe6b76a159564ffd.tar.xz u-boot-501ebdf28666b3142a27c4b4fe6b76a159564ffd.zip |
Validate dtc is new enough
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>
Acked-by: Simon Glass <sjg@chromium.org>
-rw-r--r-- | Makefile | 8 | ||||
-rw-r--r-- | config.mk | 1 | ||||
-rwxr-xr-x | tools/dtc-version.sh | 20 |
3 files changed, 28 insertions, 1 deletions
@@ -413,7 +413,7 @@ endif all: $(ALL-y) $(SUBDIR_EXAMPLES) -$(obj)u-boot.dtb: $(obj)u-boot +$(obj)u-boot.dtb: checkdtc $(obj)u-boot $(MAKE) -C dts binary mv $(obj)dts/dt.dtb $@ @@ -667,6 +667,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) # @@ -119,6 +119,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 0000000000..e8c94d390b --- /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 |