|
RADLib
RADical C++ application framework
|
RADLib is a modular C++20 application framework for Linux desktop, embedded Linux, instrumentation, media, networking, and UI applications. The stable SDK includes public headers, shared libraries, examples, package metadata, and this searchable API reference.
RADLib 0.2.1 also provides the RADpm package-manager executable used by RadBuild and RADPx package flows. RADpm is built as a RADLib-owned tool so package resolution, packagegroup handling, sysroot staging, and future RADPx live-package operations share the same library foundation.
The documentation below is written for application developers consuming the RADLib SDK. It does not require access to RADLib implementation source files.
External builds must define RADLIB_LICENSE_ACCEPTED=1 and one license tier macro before including public RADLib headers. Valid tier macros are RADLIB_LICENSE_TIER_COMMUNITY, RADLIB_LICENSE_TIER_SMALL_BUSINESS, RADLIB_LICENSE_TIER_COMMERCIAL, and RADLIB_LICENSE_TIER_PARTNER. Commercial applications should verify signed node-locked license files at runtime with RADSecurity::LicenseManager. Expose RADLicense::compileAuditStamp() in diagnostics or about dialogs so compiled license tier declarations are easy to audit on running systems.
RADLib runtime binaries also expose an edition stamp through RADCore::runtimeAuditStamp(). Public stable packages are Community Edition and report RADLIB_EDITION=community-edition; future paid packages should report RADLIB_EDITION=paid-edition and verify signed licenses with RADSecurity::LicenseManager.
Crimson releases can include a signed universal community license file under licenses/. License documents include a public issuer key_id so applications can select the correct trusted public key. Commercial licenses should be customer-specific and node-locked. Issuer private keys are never part of the SDK.
RADLib 0.2.1 is the current stable Crimson SDK line for host Linux application development. Because RADLib is still pre-1.0, ABI compatibility is not yet guaranteed across future minor releases; pin the 0.2 ABI packages when a deployment needs a fixed runtime line.
Host Linux packages are published as Debian packages through RadicalPackages. RADPx image builds consume RADLib through .radpm metadata and RADPx-specific payloads. For normal RADPx image creation, select RADLib through the radpx-terminal-base or radpx-desktop-base packagegroups rather than adding individual RADLib packages by hand.