aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md46
1 files changed, 40 insertions, 6 deletions
diff --git a/README.md b/README.md
index 9ab0765..19f6a44 100644
--- a/README.md
+++ b/README.md
@@ -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`.