summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2023-08-31 11:20:52 -0600
committerBin Meng <bmeng@tinylab.org>2023-09-22 06:03:46 +0800
commit48bf738e3622a94b96a57055ff0f6466f5830bd4 (patch)
tree94b0dfb2f0fa09f8f6becd442d8db525e093111d
parent1a075d4e0de797ac2b25adcc27ea537fa01f89cb (diff)
downloadu-boot-48bf738e3622a94b96a57055ff0f6466f5830bd4.tar.gz
u-boot-48bf738e3622a94b96a57055ff0f6466f5830bd4.tar.bz2
u-boot-48bf738e3622a94b96a57055ff0f6466f5830bd4.zip
Allow Python packages to be dropped
When building in a portage chroot, we do not have the environment needed to build pylibfdt. It is instead build as a separate package. Provide a build option to tell U-Boot to skip this part of the build. We still need it to use binman, etc. but don't need it to build its dependencies. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Mike Frysinger <vapier@chromium.org> [s/build bytes/builds bytes in tools.rst] Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
-rw-r--r--Makefile9
-rw-r--r--doc/build/tools.rst9
-rw-r--r--scripts/dtc/Makefile2
3 files changed, 20 insertions, 0 deletions
diff --git a/Makefile b/Makefile
index 9be24c4ec6..efbaf434df 100644
--- a/Makefile
+++ b/Makefile
@@ -485,6 +485,15 @@ export RCS_FIND_IGNORE := \( -name SCCS -o -name BitKeeper -o -name .svn -o \
export RCS_TAR_IGNORE := --exclude SCCS --exclude BitKeeper --exclude .svn \
--exclude CVS --exclude .pc --exclude .hg --exclude .git
+export PYTHON_ENABLE
+
+# This is y if U-Boot should not build any Python tools or libraries. Typically
+# you would need to set this if those tools/libraries (typically binman and
+# pylibfdt) cannot be built by your environment and are provided separately.
+ifeq ($(NO_PYTHON),)
+PYTHON_ENABLE=y
+endif
+
# ===========================================================================
# Rules shared between *config targets and build targets
diff --git a/doc/build/tools.rst b/doc/build/tools.rst
index ec01722925..5bfa05b232 100644
--- a/doc/build/tools.rst
+++ b/doc/build/tools.rst
@@ -45,3 +45,12 @@ Launch the MSYS2 shell of the MSYS2 environment, and do the following::
$ make tools-only_defconfig
$ make tools-only
+
+
+Building without Python
+-----------------------
+
+The tools-only builds bytes pylibfdt by default. To disable this, use the
+NO_PYTHON variable::
+
+ NO_PYTHON=1 make tools-only_defconfig tools-only
diff --git a/scripts/dtc/Makefile b/scripts/dtc/Makefile
index 58d879dd11..faa72d95e2 100644
--- a/scripts/dtc/Makefile
+++ b/scripts/dtc/Makefile
@@ -19,4 +19,6 @@ HOSTCFLAGS_dtc-parser.tab.o := -I$(src)
$(obj)/dtc-lexer.lex.o: $(obj)/dtc-parser.tab.h
# Added for U-Boot
+ifeq ($(PYTHON_ENABLE),y)
subdir-$(CONFIG_PYLIBFDT) += pylibfdt
+endif