Martin Gasbichler <gasbichl@informatik.uni-tuebingen.de> writes:
[...]
> I think this shows that it's indeed worthwhile to talk about dynamic
> libraries in the packaging standard.
Interesting. From your example, I gather the following:
- For packages which link to dynamic libraries, some code *has* to be
executed before the package can be used (at least a call to
dynamic-load). That is, simply loading some file in the config
package is not sufficient. Thus, if we still want to make it easy
for script authors to use a package, it seems that scsh needs to be
extended like you suggested in a previous message, i.e. with a way
to lookup (in SCSH_LIB_DIRS) and load files in *any* package. (I
like your proposal, by the way).
- We might also want to specify a standard location for shared
objects. I think using a sub-directory called "lib" as you did in
your example is fine. It will create a slight conflict with sunet,
which currently has some Scheme code in "lib" but that can certainly
be changed.
Another point to keep in mind is that these shared objects (.so
files) are platform-dependent. So if we want to make it possible to
install shared objects for several platforms in a single directory
(e.g. on a server), we need to put the name of the platform
somewhere. We could imagine something like one sub-directory per
platform, i.e. lib/<platform>. The name of the platform should be
taken from autoconf, I guess.
Are there other things to think about?
As a side note, I worked these days on a small library to install
packages, and wrote (scsh) install scripts for pgscsh, sunet and
sunterlib. I'll post another message here today or tomorrow about
that. I'm sorry that it takes me so long, but I have little spare time
these days.
Michel.
|