Embedded vs shared libraries
What is the optimal way to package a compilation of Ace2-based mods: using embedded libraries included with the addons that provide them, or remove the lib directories from everything and use globally installed/shared libraries? Part of the reason for this question is that I am unfamiliar with how Lua treats libraries. If it is anything like a *nix dynamic linker, none of this would matter because only one instance of a particular method would be loaded and used by everything
There are obvious pros and cons for each method. Prod of embedded being that authors can control and test against particular versions of libraries. They do not have to worry about a library upgrade breaking their mod. The downside is that if any bugs are discovered in a given library, each mod has to be patched separately. Where, with shared libraries, you reduce the code duplication and allow every mod leveraging a library to receive the benefits/bugfixes of a new version.
I recently began maintaining a compilation and my latest release shares all the Ace2 libraries across Ace2-based mods. Basically, I removed the lib directories under each addon and installed everything globally. Everything works just fine, but I ask the question because I want to know what the preferred/recommend method actually is.
Developer input on this would be greatly appreciated
|