I’ve been trying to make omp work with BuckleScript, but got stuck early in the process. I’m documenting it here with the hope it helps others, or someone can point out what I’m doing wrong.
The first thing I couldn’t make work is the preprocessing part of omp, that removes the
(*IF_CURRENT *) comments in the
Ast_40x.ml file that corresponds with the version of OCaml being used.
I managed to make bsb use omp
pp binary with
pp.exe is expecting to have the filename passed as argument, and with BuckleScript I only get arguments like
/var/folders/ss/97gmv_jn031f29dsvb600f280000gn/T/camlppxcbb8b1, which doesn’t contain the original file name. I’ve tried several things but not sure how to fix this.
The other main problem that I haven’t been able to solve is how to import
compiler-libs in a BuckleScript project. I have tried hacking around it by adding:
to bsconfig. But this just keeps erroring because dependencies are missing, until I reach a point where it asks for
config.ml but the
vendor/ocaml/utils folder has a
config.mlp which seems to need some preprocessing as well.
There must be easier ways to accomplish this, I wonder if @bobzhang has any ideas?
I’ve also been thinking this would be much easier if dune could be used with a BuckleScript project. I found out there is some work being done by @zploskey in https://github.com/zploskey/hello-esy-dune-bsb/ that seems to be starting, but is very promising See also https://github.com/ocaml/dune/issues/140.