uboot-tools: disable libfdt swig wrapper
authorMatt Weber <matthew.weber@rockwellcollins.com>
Tue, 2 May 2017 04:01:17 +0000 (23:01 -0500)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Thu, 4 May 2017 15:11:56 +0000 (17:11 +0200)
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>
package/uboot-tools/0005-tools-conditionally-disable-python-libfdt-wrapper.patch [new file with mode: 0644]
package/uboot-tools/uboot-tools.mk

diff --git a/package/uboot-tools/0005-tools-conditionally-disable-python-libfdt-wrapper.patch b/package/uboot-tools/0005-tools-conditionally-disable-python-libfdt-wrapper.patch
new file mode 100644 (file)
index 0000000..e48f72b
--- /dev/null
@@ -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
+
index 2585c7b60ad0e104a1e3109aaa03445ad2e769d4..352f53d6905d142c944223348671866572134b17 100644 (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