sdk-ng icon indicating copy to clipboard operation
sdk-ng copied to clipboard

Re-purpose 'sdk-ng' repository as 'Zephyr SDK bundle' repository

Open stephanosio opened this issue 3 years ago • 0 comments

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:

  1. contain all the Zephyr SDK components including "toolchains" and "host tools."
  2. support all three major operating systems: Linux, macOS and Windows.
  3. 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:

  1. A new universal build script that supports Linux, macOS and Windows hosts shall be implemented (basically go.sh, but better).
  2. The existing meta-zephyr-sdk (Yocto) build process shall be used for building Linux host tools.
  3. 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).

stephanosio avatar Aug 13 '21 10:08 stephanosio