[Caml-list] compiling static preprocessors

Thomas Gazagnaire
2012-03-01T19:58:48Z

Dear camlp4 experts,

I'm trying to compile a static version of a preprocessor built from type-conv and sexplib.

I've tried:

ocamlc dynlink.cma unix.cma \
-I +camlp4 camlp4lib.cma -linkall \
Camlp4Parsers/Camlp4OCamlRevisedParser.cmo \
Camlp4Parsers/Camlp4OCamlParser.cmo \
Camlp4Parsers/Camlp4OCamlRevisedParserParser.cmo \
Camlp4Parsers/Camlp4OCamlParserParser.cmo \
Camlp4Printers/Camlp4AutoPrinter.cmo \
Camlp4Bin.cmo \
-I +site-lib/type-conv pa_type_conv.cma \
-I +site-lib/sexplib pa_sexp_conv.cma \
-o sexppp

I've taken the first lines by greping camlp4o.native in ocaml-3.12.1/_build/_log and I've appended what normally follows camlp4o when using sexplib.

The command succeeds at building sexppp, but unfortunately, the preprocessor doesn't work as expected: "./my_pp foo.ml" gives: "Parse error: [semi] expected after [str_item] (in [implem])" for any type followed by "with sexp" in foo.ml.

I am trying to do something crazy or is there a chance to make it work?

Cheers,
Thomas