Re: findlib: todo list
On Wed, Feb 21, 2001 at 10:02:12PM +0100, Gerd Stolpmann wrote:
> Hi,
>
> from our discussion I have compiled the following todo list (regarding what
> must be modified in findlib to simplify/improve your work):
>
> ======================================================================
> Planned changes for findlib 0.5
> ======================================================================
>
> *** Features with priority 1: ***
>
> - Configuration file: defines the default search path & the default
> installation directory (for ocamlfind install) & perhaps some other
> things
>
> The location of the config file can be configured at findlib build time.
> (Do we need an environment variable $OCAML_FINDLIB_CONF to override that
> at runtime? Such that a user can have (temporarily) another configuration?)
Yes, an environment variable would be nice, or/and also a way to tell it on
the commandline, some kind of findlib --conffile /etc/ocaml/findlib.conf or
something such. Should be easy to do with the Args module anyway.
> The actually used search path is $OCAMLPATH + default search path.
So $OCAMLPATH +defualt goes in first, what about priorities and multiple path
?
> - ocamlfind install: accepts a new -destdir option & the
> OCAML_DESTDIR variable, both overriding the default installation directory
> from the config file.
Yes, ...
> - ocamlfind list: lists the installed packages
A nice addition i would think, not really all that needed for debian though.
> - Allow an alternate way of looking up packages: To find a package p,
> ocamlfind will iterate over all directories d of the search path
> and check:
> - if d/p/META exists, d/p is the package directory and META the
> description (old behaviour)
> - if d/p.META exists, this file is the description which must contain
> a directive "directory=xxx", and this directory is taken as the
> package directory. This feature makes a central META directory
> possible
Ok ...
> - Interpret +package_name in the directory directive (to have the same
> syntax as ocaml 3.01)
Ok, ...
> - Update docs
>
> *** Features with priority 2: ***
>
> - develop a shell script: ocamlfind-fake which emulates primitive
> usage of ocamlfind. This script can be easily distributed with
> packages that don't need the advanced features.
>
> The script should emulate:
> - ocamlfind install, but there must be a -destdir or OCAML_DESTDIR
> - ocamlfind (ocamlc|ocamlopt): searches for packages by some heuristics;
> no support for dependency analysis
mmm, this second point may be difficult to achieve, at least i think so,
unless you have some preprocessing tool putting the modules in the right
order. Nto sure though.
> Then I can say $(MAKE) OCAMLFIND=ocamlfind-fake which makes build
> possible for users without findlib
>
> - Check whether there are two packages with the same name in the
> search path
What would you do here ? use the first of those ?
>
> - Check whether there are two modules with the same name in the resulting
> include path (BTW, that's what I meant with "conflict report")
Yes, this would be a usefull feature.
Yes, this seems to a ok TODO list to me, i hope the discution we have had on
this subject was fruitfull for you too, especially as i have not the time to
invest in coding for this myself.
Friendly,
Sven Luther
Reply to: