Releases: danupsher/tiger-ppc-builds
PPC Tiger Cross-Compiler v1.3 — G3-safe runtime libraries
v1.3 — G3-safe runtime libraries (archive format fix)
Fixed GNU ar vs Mach-O ar archive format issue. The GCC build system's libtool was using system ar instead of cctools ar, producing GNU-format archives that ld64 couldn't properly search for symbols. This caused missing symbol errors at runtime.
What was fixed
- Root cause:
libtoolin the libstdc++ build dir hadAR="ar"hardcoded, overridingAR_FOR_TARGET. Fixed to use/mnt/media/claude_cross/toolchain/bin/powerpc-apple-darwin8-ar. - Rebuilt
libstdc++.afrom GCC 15.2.0 with-mcpu=G3— now produces proper BSD/Mach-O archive directly - All Makefiles + libtool in libstdc++ build tree updated to use cctools ar/ranlib
- Added
-fpermissiveto c++20/format.lo build rule (Tiger iconvconst char**mismatch) - Zero G5 instructions across all 316 objects in 5 runtime libraries
Libraries verified clean
| Library | Objects | G5 instructions |
|---|---|---|
| libgcc.a | 109 | 0 |
| libstdc++.a | 191 | 0 |
| libtiger_runtime.a | 11 | 0 |
| libef_ppc.a | 3 | 0 |
| libemutls_w.a | 2 | 0 |
PPC Tiger Cross-Compiler (GCC 15.2.0 + ld64) v1.2
Standalone GCC 15 Cross-Compiler for Tiger PPC — v1.2
Fully self-contained cross-compilation toolchain. Runs entirely on x86_64 Linux — no Mac needed, no SSH.
What's New (v1.2)
- -force_cpusubtype_ALL on ld64 link step: Output binaries now have CPU_SUBTYPE_POWERPC_ALL instead of ppc_970. Fixes not compatible with System type errors on G3/G4 Macs.
What's New (v1.1)
- expandlibs .list file support for large project builds (Mozilla)
- tiger-compat.h updates: CGGradient stubs, NSTrackingArea stubs, NSWindowCollectionBehavior, MOZ_CAN_DRAW_IN_TITLEBAR undef
- fix_exc_ld64.py: Fixed RTTI weak definition handling
- All paths are now relative — no hardcoded paths in wrapper scripts
Quick Start
tar xf ppc-tiger-gcc15-xcompiler.tar.gz
export PATH="$PWD/ppc-tiger-xcompiler/bin:$PATH"
# C
ppc-ld64-gcc -O2 hello.c -o hello
# C++ with exceptions and STL
ppc-ld64-g++ -std=c++17 -O2 program.cpp -o programCopy the output binary to your Tiger PPC Mac and run it.
Pipeline
- GCC 15.2.0 cc1/cc1plus — C/C++ to PPC assembly (native x86_64)
- fix_exc_ld64.py — exception handling fixup
- ppc-darwin-fixup.py — Darwin PPC assembly patches
- cctools assembler — Mach-O object files
- ld64-97.17 — Apple's linker, built for Linux
Features
- C11/C17, C++11/14/17/20/23
- Full C++ exception handling
- Complete STL
- Static linking (no runtime deps beyond Tiger system libs)
-mcpu=G3default — runs on any PPC Mac (G3/G4/G5)- Mac OS X 10.4u SDK included
- Mozilla/large project build support (expandlibs .list files)
- tiger-compat.h: comprehensive 10.5+ API shims for Tiger SDK
Requirements
- x86_64 Linux, Python 3, ~250 MB disk space
Tested
137/137 compiler tests passing. Successfully builds a full Mozilla-based browser (Basilisk/UXP) from source.
Contents (66 MB)
ppc-tiger-xcompiler/
bin/ cc1, cc1plus, ld64, assembler, wrapper scripts
lib/ libgcc.a, libstdc++.a, runtime libs
include/ GCC headers, C++ STL, tiger-compat.h
scripts/ fix_exc_ld64.py, ppc-darwin-fixup.py
sdk/ Mac OS X 10.4u SDK
Python 3.13.12 (GCC 15 / ld64)
Python 3.13.12 for Mac OS X Tiger PPC
Full Python 3.13 installation with SSL, sqlite3, threading, compression, and more.
What's New (vs previous releases)
- Compiled with GCC 15.2.0 (previous releases used GCC 7.5.0)
- Built with fully local ld64 pipeline on Linux — no Mac needed for compilation
- 309/309 validation tests passing
Features
- 105 tests verified: core language, 48+ stdlib modules, file I/O, subprocess, threading, sqlite3, zlib/gzip/bz2, ssl/HTTPS, ctypes
- Match statements, walrus operator, dataclasses, f-strings, all Python 3.13 features
Installation
cd / && sudo tar xzf python-3.13.12-ld64.tar.gz
Installs to /usr/local/bin/python3.13 with libraries in /usr/local/lib/python3.13/.
Environment Setup
export PYTHONHOME=/usr/local
export SSL_CERT_FILE=/usr/local/etc/ssl/cert.pemTarget
- PowerPC Mac OS X 10.4 Tiger (G3/G4/G5 compatible,
-mcpu=G3)
Note
For GCC 7.5 builds, see python-3.13.12 (G5) and python-3.13.12-g3 releases.
OpenSSL 3.6.1 (GCC 15 / ld64)
OpenSSL 3.6.1 for Mac OS X Tiger PPC
Static libraries (libcrypto.a + libssl.a) and headers for Tiger PPC development.
What's New (vs previous releases)
- Compiled with GCC 15.2.0 (previous releases used GCC 7.5.0)
- Built with fully local ld64 pipeline on Linux — no Mac needed for compilation
- 309/309 validation tests passing
Contents
libcrypto.a— static crypto librarylibssl.a— static SSL/TLS libraryinclude/openssl/— development headers
Target
- PowerPC Mac OS X 10.4 Tiger (G3/G4/G5 compatible,
-mcpu=G3)
Note
For GCC 7.5 builds, see openssl-3.6.1 (G5) and openssl-3.6.1-g3 releases.
git 2.48.1 (GCC 15 / ld64)
git 2.48.1 for Mac OS X Tiger PPC
Full git installation with HTTPS support (via curl + OpenSSL 3.6.1).
What's New (vs previous releases)
- Compiled with GCC 15.2.0 (previous releases used GCC 7.5.0)
- Built with fully local ld64 pipeline on Linux — no Mac needed for compilation
- 309/309 validation tests passing
Features
- All core git operations (init, add, commit, branch, merge, rebase, stash, etc.)
- HTTPS clone/push/pull via curl
- Archive (tar/zip), blame, cherry-pick, format-patch
Installation
cd / && sudo tar xzf git-2.48.1-ld64.tar.gz
Installs to /usr/local/bin/git and /usr/local/libexec/git-core/.
Environment Setup
export GIT_EXEC_PATH=/usr/local/libexec/git-core
export SSL_CERT_FILE=/usr/local/etc/ssl/cert.pemTarget
- PowerPC Mac OS X 10.4 Tiger (G3/G4/G5 compatible,
-mcpu=G3)
Note
For GCC 7.5 builds, see git-2.48.1 (G5) and git-2.48.1-g3 releases.
PPC Tiger Cross-Compiler (GCC 15.2.0 + ld64)
Standalone GCC 15 Cross-Compiler for Tiger PPC
Fully self-contained cross-compilation toolchain. Runs entirely on x86_64 Linux — no Mac needed, no SSH.
Quick Start
tar xf ppc-tiger-gcc15-xcompiler.tar.gz
export PATH="$PWD/ppc-tiger-xcompiler/bin:$PATH"
# C
ppc-ld64-gcc -O2 hello.c -o hello
# C++ with exceptions and STL
ppc-ld64-g++ -std=c++17 -O2 program.cpp -o programCopy the output binary to your Tiger PPC Mac and run it.
Pipeline
- GCC 15.2.0 cc1/cc1plus — C/C++ to PPC assembly (native x86_64)
- fix_exc_ld64.py — exception handling fixup (handles both zPL and zPLR assembly formats)
- ppc-darwin-fixup.py — Darwin PPC assembly patches
- cctools assembler — Mach-O object files
- ld64-97.17 — Apple's linker, built for Linux
Features
- C11/C17, C++11/14/17, C++20, C++23
- Full C++ exception handling (throw/catch/rethrow, class exceptions, deep unwind, multi-catch, RAII cleanup)
- Complete STL (vector, map, unordered_map, string, iostream, algorithm, optional, variant, any, regex, chrono, etc.)
- C++20: concepts, spaceship operator, ranges, span, consteval/constinit, coroutines (compile), source_location
- C++23: deducing this, if consteval, static operator(), std::optional monadic ops, std::print (compile)
- Static linking (no runtime deps beyond Tiger system libs)
-mcpu=G3default — binaries run on any PPC Mac (G3/G4/G5)- Mac OS X 10.4u SDK included
- Bundle mode support (
-bundle) - Framework linking (
-framework CoreFoundation, etc.) - Old C++11 ABI compatibility (g++ wrapper passes
-D_GLIBCXX_USE_CXX11_ABI=0)
Requirements
- x86_64 Linux (tested on Ubuntu 24.04)
- Python 3 (for assembly post-processing)
- ~250 MB disk space
Tested
137/137 comprehensive tests passing on a real iMac G5 running Mac OS X 10.4 Tiger:
- 17 C language tests (C11 features, I/O, recursion, VLA, etc.)
- 23 C++ basics (C++11/14/17: auto, lambdas, templates, STL containers, smart pointers)
- 10 exception tests (throw/catch all types, deep unwind, multi-catch, RAII cleanup)
- 22 C++20 tests (concepts, spaceship, consteval, span, coroutines, etc.)
- 11 C++23 tests (deducing this, if consteval, static operator(), etc.)
- 8 optimization level tests (-O0 through -Os, G3/G4/G5 targeting)
- 3 multi-file + linking tests (static archives, C/C++ mixed)
- 10 STL container + algorithm tests (vector, set, deque, priority_queue, regex, etc.)
- 11 advanced feature tests (CRTP, type erasure, SFINAE, perfect forwarding, etc.)
- 4 preprocessor + diagnostic tests
- 8 compiler flag tests (-mcpu=native, -Wall, -fPIC, etc.)
- 5 real-world pattern tests (JSON parser, builder/observer patterns, state machine)
All 5 packages on this repo (Python 3.13, curl, git, ffmpeg, OpenSSL) were built with this toolchain and pass 309/309 tests.
Contents (68 MB)
ppc-tiger-xcompiler/
bin/ cc1, cc1plus, ld64, assembler, ar, ranlib, wrapper scripts
lib/ libgcc.a, libstdc++.a, libemutls_w.a, libef_ppc.a
include/ GCC built-in headers + C++ STL headers (GCC 15)
scripts/ fix_exc_ld64.py, ppc-darwin-fixup.py
sdk/ Mac OS X 10.4u SDK
Changes (2026-03-02)
- fix_exc_ld64.py: dual format support (zPL + zPLR), fixed .isra.0 clone regex, local_defs exclusion
- g++ wrapper:
-D_GLIBCXX_USE_CXX11_ABI=0(old ABI compatibility with bundled libstdc++.a) __throw_bad_array_new_lengthstub in libgcc.a (new headers + old library compatibility)- ppc-darwin-fixup.py:
.align 2after __textcoal_nt section switch - DEFAULT_CFLAGS ordering fix (caller flags now override defaults)
Note
For the GCC 7.5 SSH-based cross-compiler, see cross-compiler-1.0.
GCC 15.2.0 (G3/G4/G5)
GCC 15.2.0 for Tiger PPC — G3/G4/G5
Native GCC 15 C/C++ compiler that runs on any PowerPC Mac — G3, G4, and G5.
Built with the ld64 cross-compiler pipeline, CPU subtype patched to ALL.
Install
tar xzf gcc-15.2.0-tiger-ppc-all.tar.gz -C /Installs to /usr/local/bin/gcc, /usr/local/bin/g++, with cc1/cc1plus in /usr/local/libexec/gcc/.
Features
- C11/C17, C++11/14/17, C++20, C++23
- Full C++ exception handling (throw/catch, deep unwind, multi-catch, RAII cleanup)
- Complete STL (vector, map, unordered_map, string, regex, chrono, optional, variant, any, etc.)
- C++20: concepts, spaceship operator, span, consteval/constinit, source_location, coroutines (compile)
- C++23: deducing this, if consteval, static operator(), std::optional monadic ops
- Assembly fixup script (fix_exc.py) handles both zPL and zPLR eh_frame formats
- g++ wrapper:
-D_GLIBCXX_USE_CXX11_ABI=0for old ABI compatibility - GCC 15 libstdc++ headers (856 files, full C++20/23 support)
__throw_bad_array_new_lengthstub in libgcc.a
Requirements
- Mac OS X 10.4 Tiger, PowerPC (G3/G4/G5)
- Apple Developer Tools (system assembler and linker at /usr/bin/as and /usr/bin/ld)
- Python 3 at /usr/local/bin/python3 (for fix_exc.py)
- Important: /usr/bin/ld must be the original cctools ld, not ld64
Tested
137/137 comprehensive tests passing on iMac G5 Tiger (480 seconds):
- 17 C, 23 C++ basics, 10 exceptions, 22 C++20, 11 C++23
- 8 optimization levels, 3 multi-file/linking, 10 STL, 11 advanced
- 4 preprocessor, 8 compiler flags, 5 real-world patterns
Note
For the older G5-only build, see gcc-15.2.0. For the Linux cross-compiler, see gcc15-xcompiler-1.0.
ffmpeg 7.1.1 (GCC 15 / ld64)
ffmpeg 7.1.1 for Mac OS X Tiger PPC
ffmpeg and ffprobe binaries with audio/video codec support.
What's New (vs previous releases)
- Compiled with GCC 15.2.0 (previous releases used GCC 7.5.0)
- Built with fully local ld64 pipeline on Linux — no Mac needed for compilation
- Includes ffprobe (previous releases had ffmpeg only)
- 309/309 validation tests passing
Features
- Audio: WAV, FLAC, AAC, PCM (s16/s32/f32/u8), AIFF, AU, CAF
- Video: rawvideo, mpeg4, AVI, MKV, MOV, MPEGTS
- Filters: volume, lowpass, highpass, fade, concat, trim
Installation
sudo cp ffmpeg ffprobe /usr/local/bin/
Target
- PowerPC Mac OS X 10.4 Tiger (G3/G4/G5 compatible,
-mcpu=G3)
Note
For GCC 7.5 builds, see ffmpeg-7.1.1 (G5) and ffmpeg-7.1.1-g3 releases.
curl 8.12.1 (GCC 15 / ld64)
curl 8.12.1 for Mac OS X Tiger PPC
Statically linked curl with HTTPS support.
What's New (vs previous releases)
- Compiled with GCC 15.2.0 (previous releases used GCC 7.5.0)
- Built with fully local ld64 pipeline on Linux — no Mac needed for compilation
- 309/309 validation tests passing
Features
- HTTP/HTTPS with OpenSSL 3.6.1 (TLS 1.3)
- All standard protocols
Installation
sudo cp curl /usr/local/bin/curl
SSL Certificate Setup
Set SSL_CERT_FILE=/usr/local/etc/ssl/cert.pem in your shell profile.
Target
- PowerPC Mac OS X 10.4 Tiger (G3/G4/G5 compatible,
-mcpu=G3)
Note
For GCC 7.5 builds, see curl-8.12.1 (G5) and curl-8.12.1-g3 releases.
Python 3.13.12 (G3/G4/G5)
Python 3.13.12 for Mac OS X Tiger PPC (G3/G4/G5)
Statically linked Python 3.13.12 for any PowerPC Mac running Mac OS X 10.4 Tiger.
Compiled with -mcpu=G3 for universal PPC compatibility (G3, G4, G5).
Features
- Full standard library including ssl, sqlite3, hashlib, json, subprocess
- OpenSSL 3.6.1 support (TLS 1.3)
Installation
# Extract to /usr/local
sudo tar xzf python-3.13.12-tiger-ppc-g3.tar.gz -C /usr/local
Setup
Set PYTHONHOME=/usr/local in your shell profile.
Note
For G5-only builds, see the python-3.13.12 release.