Skip to content

Cross-platform binary releases for Zig 0.15.2 with Xtensa support #2

@idy

Description

@idy

Goal

Build and release pre-compiled Zig 0.15.2 binaries with Xtensa (ESP32) support for multiple platforms.

Target Platforms

  • aarch64-macos-none - macOS Apple Silicon
  • x86_64-macos-none - macOS Intel
  • x86_64-linux-gnu - Linux x86_64
  • aarch64-linux-gnu - Linux ARM64

Progress

Phase 1: Bootstrap Script Improvements ✅

  • Upgrade to Zig 0.15.2
  • Support Codeberg git clone (ziglang migrated from GitHub)
  • Add clean command
  • Support per-target build directories (.build-<target>-<mcpu>)
  • Fix patch application (patch -p1 instead of git apply)
  • Fix build script call (./build instead of ./build.sh)

Phase 2: macOS ARM64 Build & Test ✅

  • Bootstrap Zig 0.15.2 for aarch64-macos-none
  • Verify Xtensa architecture support
  • Compile example project (led_strip_flash)
  • Flash to ESP32S3
  • Verify serial output - LED toggling works!

Phase 3: Additional Platform Builds

  • Build x86_64-macos-none
  • Build x86_64-linux-gnu (cross-compile from macOS)
  • Build aarch64-linux-gnu (cross-compile from macOS)

Phase 4: Release

  • Package all binaries as .tar.xz
  • Create GitHub Release with gh release create
  • Add SHA256 checksums

Notes

  • Linux cross-compilation from macOS may have challenges with libstdc++ requirements
  • Consider using Docker/Podman for Linux builds if native cross-compilation fails

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions