[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
| Date: | -- (:) |
| From: | Nicolas Pouillard <nicolas.pouillard@g...> |
| Subject: | Re: [Caml-list] Using findlib and a syntax extension with ocamlbuild |
Excerpts from Paolo Donadeo's message of Thu Nov 22 00:21:43 +0100 2007: > I'm fighting again with ocamlbuild. In the (excellent!) wiki I found > two useful recipes: how to use findlib with ocamlbuild and how to > compile source code using a syntax extension. Now it happens that I > have both these needs, and I'm not so sure how to mix the ingredients > and obtain a good dish. > > At the moment the solution I have discovered (by trial and error) > works well, but it doesn't seem very clean. > > The involved files in my source directory are these: > > ./xnuncc.ml > ./myocamlbuild.ml > ./ext_libs/openin-20070524/pa_openin.ml > ./_tags > > In xnuncc.ml I use the openin extension, and xnuncc.ml is the main > compilation unit. > > Here is the contents of _tags and the plugin for ocamlbuild: > > ======= 8< CUT HERE: _tags >8 ======= > <dom> or <files> or <fragment_composer> or <test> or <doc> : include > <ext_libs/openin-20070524> : include > true : dtypes > <**/pa_openin.ml> : camlp4of, use_camlp4of > "xnuncc.ml" : camlp4o, use_openin > ======= 8< END HERE: _tags >8 ======= <dom> (and many others) can be rewritten "dom" since it's constant. [...] > If I use "pa_openin.cmo", indeed, the result is an absurd (for me) > error message starting with: > [...] In a "dep" declaration include directories are not taken in account for building pathnames. > At the end of the story the question is: is this solution the best > possible for compiling a project with findlib and a syntax extension > present in a subdir of the project? Not yet (you can still factorise the "ext_libs/openin-20070524" and even compute it, since the plugin language is OCaml). -- Nicolas Pouillard aka Ertai