hn.today

Free Pascal Compiler Now Supports Dynamic Packages

getlazarus.org117 points24 comments
Screenshot of Free Pascal Compiler Now Supports Dynamic Packages

Free Pascal Compiler and the Lazarus IDE now provide full dynamic package support: packages are standard shared libraries for Linux, Windows, and macOS that include compiler-generated metadata enabling inspection and runtime management. The runtime and RTL were extended (including a new DynPkgTypes.pas unit) to enumerate, load, search and unload packages, and to safely preserve thread variables and dynamic types such as strings and dynamic arrays across package boundaries. Applications can either be bundled into a single executable or split into replaceable dynamic packages to build plugin systems. There are constraints: package unit names must be unique and a package’s source file is auto-renamed to append “Package”; dynamic packages are larger because of embedded maps and cannot be stripped without losing required metadata.

The Lazarus IDE received workflow enhancements to exploit packages: an external progress window for rebuilds, a dockable Packages window that persists recent packages, near-instant updates of installed components when a package is recompiled, and improved add/remove behavior that often avoids full IDE rebuilds. Package options can restrict platform or widgetset visibility, and a form/frame-to-control conversion feature creates installable visual components. The changes are available on GitLab branches for FPC and Lazarus with issue trackers for bugs; the project requests moderators and seeks access to an M1 mac for macOS builds.

Read on getlazarus.org24 comments on Hacker News

Summary generated by AI from the linked article. hn.today is not affiliated with Hacker News or Y Combinator.

More in Programming

The daily digest

Today's best Hacker News stories, summarized and screenshotted, one email a day.

Free Pascal Compiler Now Supports Dynamic Packages · hn.today