aboutsummaryrefslogtreecommitdiff

RCC Project

RCC is a compiler collection under active development. The current implementation focuses on a standalone machine-code backend.

Repository layout

backend/    Standalone backend project
cmake/      Monorepo orchestration support
docs/       Architecture and implementation records

Future frontend, middle-end, and driver projects will be sibling components.

Build the enabled projects

RCC requires Clang and C++23. Both Ninja and Unix Makefiles are supported.

cmake -S . -B build -G Ninja \
  -DCMAKE_CXX_COMPILER=clang++ \
  -DRCC_ENABLE_PROJECTS=backend
cmake --build build
ctest --test-dir build --output-on-failure

Build the backend independently

cmake -S backend -B build-backend -G Ninja \
  -DCMAKE_CXX_COMPILER=clang++
cmake --build build-backend
ctest --test-dir build-backend --output-on-failure

Replace Ninja with Unix Makefiles to build with Make.

Developer checks are exposed as rcc-backend-format-check, rcc-backend-tidy, and rcc-backend-analyze in a standalone backend build. The monorepo exposes the aggregate format-check, tidy, and analyze targets.

License

RCC is free software distributed under GPL-3.0-or-later. See LICENSE.