Hi all,
I'm trying to learn how to use ocamlfind with camlp4 syntax files.
The problem is that my syntax file uses extlib and I get an undefined
reference to ExtLib when I try to compile everything with ocamlfind.
Since now I've compiled it following these steps:
1) I generate the ocaml code from my example using my syntax (with str
and extlib)
# camlp4o $STDLIB/str.cma $DESTDIR/extlib/extLib.cma syntaxfile.cma pr_o.cmo myex.ml > myex-pp.ml
2) I compile the result using other packages and ocamlfind.
# ocamlfind ocamlc -package mypackages myex-pp.ml
now I'm trying to skip the intermediate step. Therefore I've created
my meta file that looks like this:
version = "0.1"
description = "syn file"
requires = "camlp4 extlib"
archive(syntax,preprocessor) = "syntaxfile.cma"
and I'm trying to link everything together with:
#ocamlfind ocamlc -package mypackages,syntaxfile -syntax syntaxfile myex.ml
but it complains that syntaxfile.cma has a Reference to undefined global `ExtLib'.
adding extlib to mypackages doesn't help...
how can I pass $STDLIB/str.cma $DESTDIR/extlib/extLib.cma to the preprocessor
via ocamlfind ?
:)
p
ps: my compilation infrastructure is more complex, but I think the
problem boils down to what I've described above.
--
++ Blog: http://blog.rsise.anu.edu.au/?q=pietro
++
++ "All great truths begin as blasphemies." -George Bernard Shaw
++ Please avoid sending me Word or PowerPoint attachments.
See http://www.fsf.org/philosophy/no-word-attachments.html