[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: OOC Package Tool: Repositories
> Date: Sat, 10 Apr 1999 16:17:19 -0400
> From: Michael Griebling <mgriebling@inspired.to>
>
> This is all sounds nifty. I'm still a bit fuzzy about the
> uses of these repositories. It's clear they would be used
> to hold object, modules, symbol files, etc. Would these
> repositories replace the existing libraries?
I assume you mean the support for shared and static library files in
oo2c. To use such a library in a development environment, you need a
set of .Sym files, a .Lib file, and the shared library itself. The
repository stuff I am rambling about merely defines where all these
files are stored.
> I take it they could also be used for distributing source and code.
That's what the "WWW repository" tries to hint at. It's more likely
that packages will be used mostly, though.
> Would they also automatically be able to install a program with
> files scattered throughout a system? I'd help out with something
> like this.
I don't understand this statement. A repository is a set of files.
To build a program you invoke the compiler directly, or tell the
package tool to install something.
> It also seems that we are getting closer to defining a loadable
> system of modules (ala the Oberon systems). Is this something
> that has been envisioned for these repositories? If so, this
> is something worthwhile which I wouldn't mind helping out
> on.
With a structured file naming loadable modules get much easier. Under
such a scheme the corresponding symbol file for an object file is
located by simply exchanging a single part of the object's file name.
This makes it _much_ easier for oo2c to deal with dynamically added
program code and interfaces.
Any help is appreciated. For starters you could do a survey which
features we can use to implement dynamic loading under various
systems. We have ELF dlopen(), HP-UX shl_load(), GNU DLD, and
libtool. Should we use the low-level interfaces, or could we use
DLD/libtool as an abstraction layer?
-- mva