[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