Locating shared libraries
skaller at users.sourceforge.net
Fri Jun 15 21:33:19 EDT 2007
On Fri, 2007-06-15 at 19:40 -0500, Spencer Janssen wrote:
> On Sat, 16 Jun 2007 08:21:50 +1000
> skaller <skaller at users.sourceforge.net> wrote:
> > One way to measure this is: if you removed GHC and applications,
> > and there are (necessarily) no users of the remaining library
> > package .. the library package shouldn't be in the global public
> > place (/usr/lib+include etc).
> As I understand it, the entire point of this effort (shared libraries
> in GHC) is to allow dynamically linked Haskell executables. In this
> case, applications outside the GHC toolchain will in fact depend on
> these shared objects. As a concrete case, a binary darcs package could
> be a user of libghc66-base.so and libghc66-mtl.so -- with no
> dependencies on the GHC compiler package itself.
> Does this pass your litmus test?
Yes, it passes the separability test. My darcs wouldn't run otherwise!
And versioning the library filename as above is a good idea too.
Felix adds _dynamic for shared libs and _static for static link
archives to ensure the Linux linker doesn't get confused.
However, the libs still aren't fully public if the interfaces
are only private details of the GHC tool chain. Hmmm.
John Skaller <skaller at users dot sf dot net>
Felix, successor to C++: http://felix.sf.net
More information about the Glasgow-haskell-users