diff options
| author | Richard-Qin-X <richard.qin.001@gmail.com> | 2026-08-01 04:30:34 +0800 |
|---|---|---|
| committer | Richard-Qin-X <richard.qin.001@gmail.com> | 2026-08-01 04:30:34 +0800 |
| commit | 81cf8b68eca2636574f3d0a9fa1cf0b428c163e9 (patch) | |
| tree | f3a83496e71358123cc5f838269dc134d02b63f6 /README.md | |
| parent | 72af0dedf9e18911da65b9a5c4906689e868d9fc (diff) | |
| download | rcc-project-81cf8b68eca2636574f3d0a9fa1cf0b428c163e9.tar.gz rcc-project-81cf8b68eca2636574f3d0a9fa1cf0b428c163e9.tar.xz | |
[Backend] Establish standalone build infrastructure
Add the thin monorepo CMake entry point and an independently configurable backend project. Enforce the Clang/C++23 toolchain, expose Make/Ninja-neutral tests and developer checks, export an installable RCCBackend package, and introduce the first Support error abstraction.
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 46 |
1 files changed, 40 insertions, 6 deletions
@@ -1,12 +1,46 @@ # RCC Project -Welcome to the RCC Project! +RCC is a compiler collection under active development. The current implementation +focuses on a standalone machine-code backend. -The RCC Project is free software. See the file LICENSE -for copying permission. +## Repository layout -This project aims to build a highly optimized compiler collection. -Obviously, its name comes from GNU Compiler Collection (GCC). +```text +backend/ Standalone backend project +cmake/ Monorepo orchestration support +docs/ Architecture and implementation records +``` -The development of RCC is ongoing. Your contribution is welcome. +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. + +```bash +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 + +```bash +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`. |
