[U-Boot] [PATCH v3 0/9] tools: Support building U-Boot host tools for Windows via MSYS2
Bin Meng
bmeng.cn at gmail.com
Sun Oct 27 12:19:39 UTC 2019
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
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
--
2.7.4
More information about the U-Boot
mailing list