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

findlib: todo list



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?)

  The actually used search path is $OCAMLPATH + default search path.

- ocamlfind install: accepts a new -destdir option & the 
  OCAML_DESTDIR variable, both overriding the default installation directory
  from the config file.

- ocamlfind list: lists the installed packages

- 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

- Interpret +package_name in the directory directive (to have the same
  syntax as ocaml 3.01)

- 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

  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

- Check whether there are two modules with the same name in the resulting
  include path (BTW, that's what I meant with "conflict report")



-- 
----------------------------------------------------------------------------
Gerd Stolpmann      Telefon: +49 6151 997705 (privat)
Viktoriastr. 100             
64293 Darmstadt     EMail:   gerd@gerd-stolpmann.de
Germany                     
----------------------------------------------------------------------------



Reply to: