Scripts to build Google ANGLE binaries for iOS (Metal), macOS (Metal), and Windows (D3D11).
Check the Releases page for prebuilt binaries. New releases are automatically created when a new ANGLE commit is detected by the daily build workflow.
Build from macOS:
./build-angle-ios.shThis will generate universal libEGL.xcframework and libGLESv2.xcframework for iOS devices (arm64) and simulator (arm64 + x86_64), configured to use Metal as backend.
Output will be in build/ios/universal/.
Build from macOS:
./build-angle-mac.shThis will generate universal libEGL.dylib and libGLESv2.dylib binaries (arm64 + x86_64), configured to use Metal as backend.
Output will be in build/mac/universal/lib/ and build/mac/universal/include/.
Build from Windows:
./build-angle-windows.batThis will generate Windows binaries for ARM64 and x64, configured to use D3D11 as backend.
Output will be in:
build/windows/x64/bin/- DLLsbuild/windows/x64/lib/- Import librariesbuild/windows/x64/include/- Headers
And similarly for ARM64.
By default, the build scripts will use the latest commit from ANGLE and depot_tools. If you want to use specific commits, set the following environment variables:
# macOS/Linux
export ANGLE_COMMIT=your-specific-commit-hash
export DEPOT_TOOLS_COMMIT=your-specific-depot-tools-hash
./build-angle-mac.sh # or build-angle-ios.sh:: Windows
set ANGLE_COMMIT=your-specific-commit-hash
set DEPOT_TOOLS_COMMIT=your-specific-depot-tools-hash
build-angle-windows.batTo remove all downloaded and built files:
./clean-angle.shThis repository uses GitHub Actions to automatically build ANGLE binaries:
- On every push to main that changes the build scripts
- Every 24 hours (to pick up new ANGLE commits)
- When manually triggered via workflow_dispatch
When a new ANGLE commit is detected, a new GitHub Release is automatically created with the binaries for all platforms.