boot/uboot: support building U-Boot with Python 3.x
authorThomas Petazzoni <thomas.petazzoni@bootlin.com>
Sat, 2 May 2020 21:28:08 +0000 (23:28 +0200)
committerYann E. MORIN <yann.morin.1998@free.fr>
Fri, 15 May 2020 20:59:21 +0000 (22:59 +0200)
commitdf3d1f81770060cca452d3419e214e701ac24bc8
tree329e022b8b520d4a808442a41aefadc749f7aff6
parent0704168abf839cce688d342d86235ed8e27e76ad
boot/uboot: support building U-Boot with Python 3.x

U-Boot versions newer than 2020.01 use Python 3.x instead of Python
2.x in various scripts.

We already had the BR2_TARGET_UBOOT_NEEDS_PYLIBFDT and
BR2_TARGET_UBOOT_NEEDS_PYELFTOOLS options, but depending on the U-Boot
version, we now need to indicate if Python 2.x or Python 3.x should be
used.

In addition, it turns out that some U-Boot configurations need a
Python interpreter, without needing pylibfdt or pyelftools. Some of
our defconfigs were abusing the BR2_TARGET_UBOOT_NEEDS_PYLIBFDT option
to make sure a Python interpreter was built.

To solve this issue, we introduce a choice, that let the users specify
what, if any, host python version is needed. The default is 'no', to
preserve the previous behaviour, unless any of the pylibfdt or the
pyelftools options is enabled, in which case we hide the 'no' option,
and use python 2 by default. This dfault is guaranteed by the order of
options in the choice.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
[yann.morin.1998@free.fr:
  - explicitly make the choice a bool
  - make BR2_TARGET_UBOOT_NEEDS_PYTHON a blind option
  - introduce the 'no' option in the choice
  - reword the commit log accordingly
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
boot/uboot/Config.in
boot/uboot/uboot.mk