uboot-tools: disable libfdt swig wrapper

The current tools build assumes the host system when trying to detect if
swig/python are present.  It then uses those tools from the path.

The upstream RFC included this commit set's patch but offered up
discussion on how to cleanly introduce a better method for detecting
swig and using the tools.  The tools build really needs to be sysroot
and prefix/host dir tools aware.

Upsteam submission for RFC:
https://lists.denx.de/pipermail/u-boot/2017-May/289520.html

Workaround for:
http://autobuild.buildroot.net/results/6d52ac8bb71012aea6fc4c679691b31a3366728b

Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
Matt Weber 2017-05-01 23:01:17 -05:00 committed by Thomas Petazzoni
parent a598a7109c
commit f4891c398e
2 changed files with 49 additions and 0 deletions

View file

@ -0,0 +1,44 @@
From 4dc3139cc9fa12882792053bdce7b69aca9b91bf Mon Sep 17 00:00:00 2001
From: Matt Weber <matthew.weber@rockwellcollins.com>
Date: Mon, 1 May 2017 22:19:57 -0500
Subject: [PATCH] tools: conditionally disable python libfdt wrapper
Not all host systems want the default swig to be
used when building the tools. Allow for the
disabling of the wrapper to enable cross-compiling
of the tools on a host system with swig.
Upsteam submission for RFC:
https://lists.denx.de/pipermail/u-boot/2017-May/289520.html
Workaround for:
http://autobuild.buildroot.net/results/6d5/6d52ac8bb71012aea6fc4c679691b31a3366728b
Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com>
---
tools/Makefile | 2 ++
1 file changed, 2 insertions(+)
diff --git a/tools/Makefile b/tools/Makefile
index 2fc4a58..7f6c29d 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -114,6 +114,7 @@ fit_check_sign-objs := $(dumpimage-mkimage-objs) fit_check_sign.o
# Build a libfdt Python module if swig is available
# Use 'sudo apt-get install swig libpython-dev' to enable this
+ifndef CONFIG_TOOLS_PYTHON_WRAPPER_DISABLE
hostprogs-y += \
$(if $(shell which swig 2> /dev/null),_libfdt.so)
_libfdt.so-sharedobjs += $(LIBFDT_OBJS)
@@ -126,6 +127,7 @@ tools/_libfdt.so: $(patsubst %.o,%.c,$(LIBFDT_OBJS)) tools/libfdt_wrap.c
tools/libfdt_wrap.c: $(srctree)/lib/libfdt/libfdt.swig
swig -python -o $@ $<
+endif
# TODO(sjg@chromium.org): Is this correct on Mac OS?
--
1.9.1

View file

@ -21,6 +21,11 @@ UBOOT_TOOLS_MAKE_OPTS = CROSS_COMPILE="$(TARGET_CROSS)" \
LDFLAGS="$(TARGET_LDFLAGS)" \
STRIP=$(TARGET_STRIP)
# This option was added through an additional patch
# and allows the disabling of a host python swig
# detect which as of 2017.5 assumes the host systems swig.
UBOOT_TOOLS_MAKE_OPTS += CONFIG_TOOLS_PYTHON_WRAPPER_DISABLE=y
ifeq ($(BR2_PACKAGE_UBOOT_TOOLS_FIT_SUPPORT),y)
UBOOT_TOOLS_MAKE_OPTS += CONFIG_FIT=y
UBOOT_TOOLS_DEPENDENCIES += dtc