[U-Boot] [PATCH v3 0/9] tools: Support building U-Boot host tools for Windows via MSYS2

Bin Meng bmeng.cn at gmail.com
Mon Oct 28 12:34:58 UTC 2019


Hi Tom,

On Sun, Oct 27, 2019 at 8:20 PM Bin Meng <bmeng.cn at gmail.com> wrote:
>
> Per current U-Boot README, building Windows versions of the utilities
> in the tools directory is done via the MinGW toolchain. But testing
> shows that it is broken and actually it must have been broken for
> quite a long time.
>
> Fixing MinGW build seems quite amount of work as developers of
> U-Boot normally work on Linux boxes hence codes written are mainly
> for Linux or POSIX OSes. We must investigate another way of building
> host tools for Windows, and now we have MSYS2, a software distro and
> building platform for Windows, to build POSIX compliant software on
> Windows using an emulation layer.
>
> This small series fixes several issues in current U-Boot tools codes,
> that only assume a Linux host is used. Cases are using standard C
> typedefs whenever possbile, or using compiler builtin functions to
> improve portability, etc.
>
> A reST document for how to build U-Boot host tools for both platforms
> is added.
>
> A new CI pipeline configuration for Microsoft Azure Pipelines is added
> for U-Boot. We rely on it to ensure future host tools for Windows build
> does not break.
>
> I've also investigated putting what we have for now on GitLab-CI and
> Travis-CI to Azure Pipelines, and it turns out there are several issues
> that should be fixed. I will post a follow-up patch series for enabling
> full CI testing on Azure Pipelines.
>
> Changes in v3:
> - new patch: tools: ifwitool: Define __packed when it is not defined
> - rename to .azure-pipelines.yml
> - correct typo in the commit summary
>

If there is no issue, could we get this series applied in v2020.01-rc1?

> Changes in v2:
> - new patch: Add .gitattributes for line endings
> - new patch: tools: Avoid creating symbolic links for tools/version.h
> - new patch: Add Microsoft Azure pipelines configuration
>
> Bin Meng (9):
>   tools: image.h: Use portable uint32_t instead of linux-specific __be32
>   tools: mtk_image.h: Use portable uintXX_t instead of linux-specific
>     __leXX
>   tools: zynqmpbif: Use compiler builtin instead of linux-specific
>     __swab32
>   linux/types.h: Surround 'struct ustat' with __linux__
>   tools: ifwitool: Define __packed when it is not defined
>   doc: Add documentation for how to build U-Boot host tools
>   Add .gitattributes for line endings
>   tools: Avoid creating symbolic links for tools/version.h
>   Add Microsoft Azure Pipelines configuration
>
>  .azure-pipelines.yml  | 38 +++++++++++++++++++++++
>  .gitattributes        |  2 ++
>  Makefile              |  9 ++++--
>  doc/build/index.rst   |  9 ++++++
>  doc/build/tools.rst   | 47 ++++++++++++++++++++++++++++
>  doc/index.rst         | 11 +++++++
>  include/image.h       | 14 ++++-----
>  include/linux/types.h |  2 ++
>  tools/.gitignore      |  1 +
>  tools/ifwitool.c      |  2 ++
>  tools/mtk_image.h     | 86 +++++++++++++++++++++++++--------------------------
>  tools/version.h       |  1 -
>  tools/zynqmpbif.c     |  2 +-
>  13 files changed, 169 insertions(+), 55 deletions(-)
>  create mode 100644 .azure-pipelines.yml
>  create mode 100644 .gitattributes
>  create mode 100644 doc/build/index.rst
>  create mode 100644 doc/build/tools.rst
>  delete mode 120000 tools/version.h

Regards,
Bin


More information about the U-Boot mailing list