Skip to content

Latest commit

 

History

History
44 lines (32 loc) · 1.52 KB

File metadata and controls

44 lines (32 loc) · 1.52 KB

DarwinPrivateFrameworks

Private framework xcframeworks (AttributeGraph, RenderBox, CoreUI, BacklightServices, SFSymbols, CoreSVG) for Darwin platforms.

Build & Update

# Update xcframeworks after editing sources
./Scripts/update.sh

# Build
swift build

# Build without library evolution verification (if needed)
swift build -Xswiftc -no-verify-emitted-module-interface

Environment Variables

  • TARGET_RELEASE — Target release year (2024 default, 2021 supported)
  • BUILD_FOR_DARWIN_PLATFORM — Force Darwin platform build (1/0)
  • LIBRARY_EVOLUTION — Enable library evolution (1/0, defaults to 1 on Darwin)

Env keys are searched with domain prefixes DARWINPRIVATEFRAMEWORKS_ and OPENSWIFTUI_ first.

Structure

Directory Framework Notes
AG/ AttributeGraph 2021 + 2024 versions, includes DeviceSwiftShims
RB/ RenderBox 2024 only
CoreUI/ CoreUI 2024 only
BLS/ BacklightServices 2024 only
SF/ SFSymbols 2024 only
CoreSVG/ CoreSVG 2024 only
Scripts/ Build/install scripts SDK installation, framework generation
Plugins/ UpdateXCFrameworks SPM command plugin

Key Patterns

  • xcframeworks contain .tbd stub files (not full binaries) — requires Tuist >= 4.168.0
  • Package.swift uses EnvManager (generated by SPMManifestTool) for build configuration
  • Library evolution is enabled by default on Darwin to match system framework ABI
  • Swift language mode is v5 with C++20 interop