Merge Go frontend (apiserver + xcecli) into meson build
This commit is contained in:
parent
43dc12a36c
commit
c9dc8c4676
205 changed files with 30793 additions and 328 deletions
30
src/lib/CLAUDE.md
Normal file
30
src/lib/CLAUDE.md
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
# 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`
|
||||
|
|
@ -1,11 +1,13 @@
|
|||
capnp = find_program('capnp')
|
||||
packcc = find_program('packcc')
|
||||
|
||||
schema_dir = meson.current_source_dir() / '..' / 'schema'
|
||||
|
||||
gen_srcs = custom_target(
|
||||
'controllercapnp.[ch]',
|
||||
output:['controller.capnp.c', 'controller.capnp.h'],
|
||||
input: '../schema/controller.capnp',
|
||||
command: [capnp, 'compile','-o' ,'c:lib', '-I', '../schema','--src-prefix', '../schema', '@INPUT@']
|
||||
command: [capnp, 'compile','-o' ,'c:lib', '-I', schema_dir, '--src-prefix', schema_dir, '@INPUT@']
|
||||
)
|
||||
|
||||
section_parser = custom_target(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue