Repository navigation
Rcm cli 0.1.0
RCM CLI C/Rust Integration – Release Notes
Version 0.1.0 – Initial C/Rust FFI Integration
Date: 2025-08-09
This release introduces the C-callable Rust CLI for the Rust Cargo Manager (RCM), enabling both native Rust CLI usage and embedding into C programs or other FFI-compatible languages.
New Features
- C API:
rcm_run(argc, argv)– Runs the RCM CLI with standard argc/argv semantics.rcm_version()– Returns a static version string (null-terminated C string).
- C Front-End Binary:
- Minimal
RCM-cli.csource provided to wrap the Rust library and provide a standalone executable.
- Minimal
- Rust Library Entry:
RCM-cli.rscontains the full Rust CLI logic and FFI exports.- All existing RCM commands are available via the C API.
- Optional
letMacro Command:- If compiled with
--features let, supports imperatives such asrcm let cargo --deploy.
- If compiled with
Build Instructions
- Added
Cargo.toml[lib]entry to supportcdylibandrlibcrate types. - Provided platform-specific shared library outputs:
- Linux:
librcm_cli.so - macOS:
librcm_cli.dylib - Windows:
rcm_cli.dll
- Linux:
- Added example GCC/Clang build commands for the C front-end.
Known Limitations
- Memory Management:
rcm_version()returns a pointer valid for the process lifetime; do not free. - Thread Safety: CLI execution is not thread-safe when invoked from multiple threads simultaneously.
- No Real Cargo Execution: The
letmacro stubs do not yet call realcargocommands – planned for future.
Planned Enhancements
- Implement full
letmacro execution (realcargo vendor,cargo build, SBOM generation). - Add unit tests for
rcm_runin both Rust and C. - Provide pkg-config
.pcfile for easier linking from C projects. - Create GitHub Actions CI workflow to build both Rust and C artifacts.
License: GPL-3.0-only (same as core RCM)
Full Changelog: https://github.com/drQedwards/RCM/commits/0.1.0