No description
  • C++ 39.3%
  • Shell 38.2%
  • C 10.7%
  • Python 10.5%
  • Assembly 0.7%
  • Other 0.6%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
memsom db17651edb Add --beos delegation and a BeOS CMake application helper
build-toolchain.bash gains --beos, which delegates to
build-retro68-beos.sh (or $RETRO68_BEOS_BUILD) with the current work and
prefix directories.  build-retro68-beos.sh accepts --workdir/--prefix as
well as the positional form.

Add cmake/add_beos_application.cmake and include it from the toolchain
file; the CMake smoke project now uses add_beos_application and still
builds and runs.  Patch 0026 records the submodule change.

Cross suite: passed 38, failed 0.  Native suite passes, including
native-rlink and native-realapp with stock=1.
2026-11-14 07:26:57 +00:00
cmake Add --beos delegation and a BeOS CMake application helper 2026-11-14 07:26:57 +00:00
docs Finish the pulse field test and toolchain polish 2026-11-14 07:03:53 +00:00
extraction Phase 0: measure the GCC/Metrowerks C++ ABI 2026-11-09 15:07:12 +00:00
patches Add --beos delegation and a BeOS CMake application helper 2026-11-14 07:26:57 +00:00
Retro68@020896fbcc Add --beos delegation and a BeOS CMake application helper 2026-11-14 07:26:57 +00:00
runtime Finish the pulse field test and toolchain polish 2026-11-14 07:03:53 +00:00
tests Add --beos delegation and a BeOS CMake application helper 2026-11-14 07:26:57 +00:00
tools Finish the pulse field test and toolchain polish 2026-11-14 07:03:53 +00:00
.gitignore Phase 0: measure the GCC/Metrowerks C++ ABI 2026-11-09 15:07:12 +00:00
.gitmodules set the correct submodule 2026-11-10 18:11:30 +00:00
AGENT-BRIEF.md Add --beos delegation and a BeOS CMake application helper 2026-11-14 07:26:57 +00:00
build-all.sh Docs and build-script follow-ups for the native/shared work 2026-11-11 08:51:49 +00:00
build-cxx-runtime.sh Add field tests for applications, messaging and add-ons 2026-11-12 22:48:59 +00:00
build-host-libs.sh Phase 6: host GMP/MPFR/MPC and the alloca stack-frame fix 2026-11-10 10:23:59 +00:00
build-import-libs.sh Finish the pulse field test and toolchain polish 2026-11-14 07:03:53 +00:00
build-native-binutils.sh Docs: native toolchain build and test sequence 2026-11-10 14:27:54 +00:00
build-native-gcc.sh Install Metrowerks vtables for GCC subclasses 2026-11-11 16:19:38 +00:00
build-native-pef.sh Add PEF pattern data and reject virtual Metrowerks bases 2026-11-13 00:23:19 +00:00
build-native-rewriter.sh Cover every R5 kit in the Metrowerks symbol database 2026-11-14 00:21:06 +00:00
build-retro68-beos.sh Add --beos delegation and a BeOS CMake application helper 2026-11-14 07:26:57 +00:00
extract-r5-sdk.sh Stage 1: extract the BeOS R5 SDK 2026-11-09 13:47:21 +00:00
package-native-toolchain.sh Native toolchain: libbe rewriter, PEF libraries, tests and packaging 2026-11-11 08:19:20 +00:00
README.md Native toolchain: libbe rewriter, PEF libraries, tests and packaging 2026-11-11 08:19:20 +00:00
RETRO68-BUILD-NOTES.md Support multiple inheritance with a Metrowerks primary base 2026-11-11 22:41:58 +00:00
stage-native-toolchain.sh Fix the -O2 MakePEF crash and the Metrowerks destructor flag 2026-11-11 13:17:01 +00:00
test-all-r5.sh Finish the pulse field test and toolchain polish 2026-11-14 07:03:53 +00:00
test-native-r5.sh Finish the pulse field test and toolchain polish 2026-11-14 07:03:53 +00:00
test-on-r5.sh Stage 3: run GCC-built PEFs on BeOS R5 2026-11-09 14:25:09 +00:00

Compiler side project

This directory contains everything for the "Retro68 as a BeOS PowerPC compiler" side project, separate from the emulator work.

Start with:

  • AGENT-BRIEF.md — mission, current status, remaining work, media layout and extraction instructions.
  • RETRO68-BUILD-NOTES.md — the exact build findings, errors and fixes.
  • Retro68/ — the Retro68 fork with the BeOS PowerPC work, vendored as a git submodule pinned to its beos branch. After a fresh clone: git submodule update --init --recursive (or clone with --recurse-submodules).
  • build-retro68-beos.sh — reproducible toolchain build (binutils, GCC, MakePEF/MakeImport).
  • build-all.sh — runs the full cross → C++ runtime → host libs → native binutils/MakePEF/GCC → rewriter → staged tree sequence; --test runs both R5 suites and --package writes the distribution archive.
  • extract-r5-sdk.sh — extracts the R5 headers, development libraries and system libraries into work/beos-r5/.
  • build-import-libs.sh — generates XCOFF import libraries from the R5 system .so files for -lroot, -lbe, ...
  • build-cxx-runtime.sh — builds the hosted libstdc++/libsupc++ and the BeOS C++ runtime.
  • build-host-libs.sh — static GMP/MPFR/MPC for the native GCC.
  • build-native-binutils.sh, build-native-pef.sh, build-native-gcc.sh, build-native-rewriter.sh — the native tools that run on R5.
  • stage-native-toolchain.sh — installs the native tree under boot/home/toolchain.
  • package-native-toolchain.sh — writes distro/beos-powerpc-toolchain-9.1.0.tar and a SHA256 manifest.
  • runtime/ — beos-crt0.s (__main and the vtable resolver), the startup code, the C++ runtime, the printf shim, and the gcc/g++ wrappers that run MakePEF (and, natively, the Metrowerks symbol rewriter).
  • test-on-r5.sh, test-all-r5.sh, test-native-r5.sh — the R5 regression and native toolchain suites.
  • tools/ — the Metrowerks symbol demangler/audit, the C++ ABI probes (tools/cxx-abi/), the call-only bridge (tools/bridge/), the Itanium→Metrowerks symbol rewriter (tools/mw-rewrite.py, tools/rewriter/, runtime/mw-rewrite.c) and tools/reset-r5-work.sh for reclaiming the QCOW2 test overlays. See docs/MW-ABI-NOTES.md.
  • patches/ — the source patches the build needs (also recorded by the vendored submodule commit).
  • docs/ — snapshots of the relevant emulator documents (boot ROM spec, hardware map, emulator design), plus the C++ interop plan.
  • extraction/ — standalone bfspull tool and the BFS/CD reader sources, for getting files out of the R5 install CD and installed disk.

Build outputs are ignored by compiler/.gitignore; the toolchain and any extracted BeOS files stay out of the repository.