forked from lei.chen/myxce
30 lines
903 B
Markdown
30 lines
903 B
Markdown
# XCE Shared Library (libxce)
|
|
|
|
## Overview
|
|
Shared C library providing common utilities, data structures, and IPC primitives used by the controller, worker, and scheduler daemons.
|
|
|
|
## Build
|
|
```bash
|
|
# From workspace root
|
|
nix develop
|
|
meson build && ninja -C build
|
|
```
|
|
|
|
## Architecture
|
|
- Produces `libxce.a` (static) and/or `libxce.so` (shared)
|
|
- Linked by all C/C++ system components: controller, worker, scheduler
|
|
- Public headers exposed via `src/include/xce/`
|
|
- Test suite in `src/lib/testsuite/`
|
|
|
|
## Conventions
|
|
- C standard: C99 or later
|
|
- Format with `clang-format` (config at repo root if present)
|
|
- All public API headers go in `src/include/xce/` — not in `src/lib/`
|
|
- Implementation files stay in `src/lib/`
|
|
|
|
## Key Files
|
|
- `src/include/xce/` — Public header files consumed by all components
|
|
- `src/lib/testsuite/` — Library unit tests
|
|
|
|
## See Also
|
|
- Root guidelines: `/workspace/CLAUDE.md`
|