sdk-ng
sdk-ng copied to clipboard
Re-purpose 'sdk-ng' repository as 'Zephyr SDK bundle' repository
As per the Multi-platform package-based Zephyr SDK Proposal: Proposed change (technical) no. 5-ii and 2021-08-10 Toolchain WG meeting notes no. 3, all Zephyr SDK components will be compiled into single directory tree and released as a "cumulative distribution archive" (aka. Zephyr SDK bundle/tarballs). For the purpose of simplification, such a release format shall be referred to as "Zephyr SDK bundle" in this document.
Based on the proposal and the Toolchain WG discussion, a Zephyr SDK bundle shall:
- contain all the Zephyr SDK components including "toolchains" and "host tools."
- support all three major operating systems: Linux, macOS and Windows.
- provide Linux cross-distro compatibility for the "host tools" through Yocto.
This is essentially what sdk-ng is today, so it only makes sense to re-purpose the existing sdk-ng repository for building the Zephyr SDK bundle.
The following changes shall be implemented:
- A new universal build script that supports Linux, macOS and Windows hosts shall be implemented (basically
go.sh
, but better). - The existing
meta-zephyr-sdk
(Yocto) build process shall be used for building Linux host tools. - A new build process/script for building the host tools for macOS and Windows shall be implemented.
- The
meta-zephyr-sdk
build process may be refactored to invoke these scripts (this provides more central build config management).
- The