diff mbox series

Makefile: allow to override python3

Message ID 20210501201221.4936-1-andrey.zhizhikin@leica-geosystems.com
State Accepted
Commit f68ed0bcb8a7f86510fe932c4519366776b1671d
Delegated to: Tom Rini
Headers show
Series Makefile: allow to override python3 | expand

Commit Message

ZHIZHIKIN Andrey May 1, 2021, 8:12 p.m. UTC
Python3 taken from the PATH causes build issues when pylibfdt bindings are
generated with Yocto SDK.

Python3 provided as a part of SDK is not compatible with host Python3,
therefore binding build breaks with following errors:

scripts/dtc/pylibfdt/libfdt_wrap.c:154:11: fatal error: Python.h: No such file or directory
  154 | # include <Python.h>
      |           ^~~~~~~~~~

Do not enforce the python3 from the PATH and make it conditionally-assigned
so it can be overridden from outside of build system. Keep the default
assignment to point to version that is taken from the PATH.

Similar fix has been introduced in b48bfc74ee ("tools: allow to override
python"), where conditional assignment is used for python executable to
address similar build errors.

Signed-off-by: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
Cc: Simon Glass <sjg@chromium.org>
Fixes: e91610da7c ("kconfig: re-sync with Linux 4.17-rc4")
---
 Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Simon Glass May 4, 2021, 3:26 p.m. UTC | #1
On Sat, 1 May 2021 at 14:13, Andrey Zhizhikin
<andrey.zhizhikin@leica-geosystems.com> wrote:
>
> Python3 taken from the PATH causes build issues when pylibfdt bindings are
> generated with Yocto SDK.
>
> Python3 provided as a part of SDK is not compatible with host Python3,
> therefore binding build breaks with following errors:
>
> scripts/dtc/pylibfdt/libfdt_wrap.c:154:11: fatal error: Python.h: No such file or directory
>   154 | # include <Python.h>
>       |           ^~~~~~~~~~
>
> Do not enforce the python3 from the PATH and make it conditionally-assigned
> so it can be overridden from outside of build system. Keep the default
> assignment to point to version that is taken from the PATH.
>
> Similar fix has been introduced in b48bfc74ee ("tools: allow to override
> python"), where conditional assignment is used for python executable to
> address similar build errors.
>
> Signed-off-by: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
> Cc: Simon Glass <sjg@chromium.org>
> Fixes: e91610da7c ("kconfig: re-sync with Linux 4.17-rc4")
> ---
>  Makefile | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Reviewed-by: Simon Glass <sjg@chromium.org>
Tom Rini May 18, 2021, 10:26 p.m. UTC | #2
On Sat, May 01, 2021 at 10:12:21PM +0200, Andrey Zhizhikin wrote:

> Python3 taken from the PATH causes build issues when pylibfdt bindings are
> generated with Yocto SDK.
> 
> Python3 provided as a part of SDK is not compatible with host Python3,
> therefore binding build breaks with following errors:
> 
> scripts/dtc/pylibfdt/libfdt_wrap.c:154:11: fatal error: Python.h: No such file or directory
>   154 | # include <Python.h>
>       |           ^~~~~~~~~~
> 
> Do not enforce the python3 from the PATH and make it conditionally-assigned
> so it can be overridden from outside of build system. Keep the default
> assignment to point to version that is taken from the PATH.
> 
> Similar fix has been introduced in b48bfc74ee ("tools: allow to override
> python"), where conditional assignment is used for python executable to
> address similar build errors.
> 
> Signed-off-by: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
> Cc: Simon Glass <sjg@chromium.org>
> Fixes: e91610da7c ("kconfig: re-sync with Linux 4.17-rc4")
> Reviewed-by: Simon Glass <sjg@chromium.org>

Applied to u-boot/master, thanks!
diff mbox series

Patch

diff --git a/Makefile b/Makefile
index 404977efa5..f033ab39f2 100644
--- a/Makefile
+++ b/Makefile
@@ -408,7 +408,7 @@  AWK		= awk
 PERL		= perl
 PYTHON		?= python
 PYTHON2		= python2
-PYTHON3		= python3
+PYTHON3		?= python3
 DTC		?= $(objtree)/scripts/dtc/dtc
 CHECK		= sparse