Linux builds now always use -fPIC

libgeneral build 93 changes the Linux build configuration so that -fPIC is always enabled. This compiler option produces position-independent code, which can be useful when software or libraries need code that is not tied to one fixed memory location.

The release note lists this as the only change in build 93. No additional behavioral or API changes are documented for this update.

A macro foundation for C and C++ projects

libgeneral is primarily a collection of macros used to support a consistent coding style across the developer’s projects. Its stated goals include reducing bugs, improving readability and maintainability, assisting debugging, tracking versions in Git-based projects, and unifying logging.

The project’s broader guidance covers error handling, initialization, resource cleanup, function and class organization, and logging in both C and C++. These guidelines provide context for the library, but they are not changes introduced by build 93.

Error reporting and cleanup support

The documented assure-style macros check operations and report failures with context. The library’s exception information can include the source file, line number, custom error message, build commit count, and build commit identifier, giving developers more detail when locating failures.

For raw memory and other acquired resources, libgeneral documents cleanup helpers and a scope-based cleanup pattern. The intended approach is to release resources in reverse order, including when a function exits because of an error. Its C guidance instead uses an error label and a single cleanup path before returning.

Common logging macros

The default configuration provides macros for informational, warning, error, and debug messages. Debug output is enabled for debug builds and omitted from release builds under that configuration. Projects can also provide a custom logging header through the documented customization mechanism.

The release notes do not report any logging changes in build 93, so these features remain background context for software using libgeneral rather than part of this update.

Archives for Ubuntu and macOS hosts

Release 93 includes buildroot_ubuntu-latest.zip and buildroot_macos-latest.zip. These are downloadable archives for Ubuntu and macOS host environments; the release information does not describe installation commands or runtime compatibility.

The exact release is identified in the metadata as 93-7b9aa03a9d25a98f1bcc0164affd722d5e0c275d. No benchmarks, game compatibility information, or further release changes are documented.

libgeneral editorial illustration
AI-generated editorial illustration; not an application screenshot.