linux: provide symlink dtc->linux-dtc is there is no dtc yet
authorThomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Fri, 8 Jan 2016 11:30:19 +0000 (12:30 +0100)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tue, 31 May 2016 20:40:34 +0000 (22:40 +0200)
Commit ab74e09eb4e28dab8bed8d783c5f0464d39a32e7 renamed the dtc host tool
provided by linux to linux-dtc to avoid clashes with the dtc host tool
provided by host-dtc.

However, external scripting may well rely on the existence of a device tree
compiler as $(HOST_DIR)/usr/bin/dtc, regardless of its source. Changing
these external scripts to use linux-dtc means that the scripts need to be
aware of the buildroot release they are working with, which is not very
nice.

Add a symlink dtc->linux-dtc when no $(HOST_DIR)/usr/bin/dtc is present.
When host-dtc is not enabled, the end result will be dtc and
linux-dtc representing the same thing.
When host-dtc is enabled, either it is build before linux and no symlink
is created at any time, or it is build after linux, and the 'install'
command in host-dtc will overwrite the symlink with a proper dtc. In both
cases, the end result will be dtc and linux-dtc representing a different
thing.

Cc: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
linux/linux.mk

index d88060e09cb77b41365e85df7c46b580b7f13215..4f4f80239ee23f02bb48734a1da58a0aa0622598 100644 (file)
@@ -351,6 +351,9 @@ define LINUX_INSTALL_HOST_TOOLS
        # Installing dtc (device tree compiler) as host tool, if selected
        if grep -q "CONFIG_DTC=y" $(@D)/.config; then   \
                $(INSTALL) -D -m 0755 $(@D)/scripts/dtc/dtc $(HOST_DIR)/usr/bin/linux-dtc ;     \
+               if [ ! -e $(HOST_DIR)/usr/bin/dtc ]; then       \
+                       ln -sf linux-dtc $(HOST_DIR)/usr/bin/dtc ;      \
+               fi      \
        fi
 endef