Message ID | 1572178788-26246-1-git-send-email-bmeng.cn@gmail.com |
---|---|
Headers | show |
Series | tools: Support building U-Boot host tools for Windows via MSYS2 | expand |
Hi Tom, On Sun, Oct 27, 2019 at 8:20 PM Bin Meng <bmeng.cn@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
On Mon, Oct 28, 2019 at 08:34:58PM +0800, Bin Meng wrote: > Hi Tom, > > On Sun, Oct 27, 2019 at 8:20 PM Bin Meng <bmeng.cn@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? Yes, I would like to, and I think I've gotten far enough along with my account setup that I should be able to test this as well.