CrusadingKNIGHT wrote:
> Hello, I recently noticed APR would be a good candidate for an
> abstraction library, since it's much smaller than almost all of
> the alternatives, and is quite mature. However, the UNIX
> compiling page mentions that "APR is not quite ready to be
> installed as a system-wide shared library". I'm just wondering
> why this is the case, and what, if any corner cases I should be
> prepared for if I attempt to use it as a shared library.
Provided you 1) ensure that your application does not install an older
version, and 2) doesn't install a version that is less capable, or has
fewer features enabled than the original one, then the current version
1.2.x -is- installed as a shared library on many platforms.
apr-1-config lets you determine these details of the current installation.
Right now apr and apr-1 are commonly installed as system libraries. The
trouble would come in if you have a build that is gpl-ed (by including
gdbm support, for example) and you rebuild without that support. Now,
if one of your APR apps supported it, you just broke a different app :)
That said, feel free to use it either in your own project's lib or on the
few platforms which support it already, as a system lib.
When we 'break it' significantly - and it's no longer binary compatible,
it will become libapr-2.so and gain a apr-2-config script :) So you
shouldn't ever have problems moving forwards, I suspect that warning is
reasonably out-of-date.
|