diff options
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`. |
