[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: