Expand description
The value runtime a C program links when the exact extension reaches it: logicaffeine-data’s C ABI
over the compiled value model (logos_rt_value_*, see logicaffeine_data::abi), built on demand as
one static library, so both C backends compute with the compiler’s own values. A program the
extension never reaches declares nothing and links nothing more than it did.
The library is a two-line crate over logicaffeine-data with its c-abi feature, built in release
under a scratch directory of its own: path-depending on this checkout’s logicaffeine_data inside
the monorepo, on the crates.io release of this compiler’s own version anywhere else. Each build’s
archive is copied to a file named by its content, which is never written again, so a link always
reads a whole archive however many processes build at once. It is built for the machine a program
runs on (Target): the host for the C backends, RV64GC Linux for the RISC-V tier.
Structs§
- Archive
- The built library.
Enums§
- Target
- The machine a library is built for.
Functions§
- archive
- The library for the host, built once per process.
- archive_
for - The library for
target, built once per process. - archive_
link_ args - The archive built for
targetand the system libraries it calls, as a link line names them. - link_
args - What
codeputs on its link line after its own source: the value runtime’s archive and the system libraries the archive calls, when the program links it; nothing otherwise. - links
- Whether the emitted C program
codelinks the value runtime.