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>
master
Stephen Warren 11 years ago committed by Tom Rini
parent 245d65b6e5
commit 501ebdf286
  1. 8
      Makefile
  2. 1
      config.mk
  3. 20
      tools/dtc-version.sh

@ -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...)

@ -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
Loading…
Cancel
Save