Ocamlbuild plugin to build with js_of_ocaml
Js_of_ocaml comes with a support for OCamlbuild.
Initialize the js_of_ocaml ocamlbuild plugin with the following code in myocamlbuild.ml:
let _ = Ocamlbuild_plugin.dispatch Ocamlbuild_js_of_ocaml.dispatcher
Side note: [root:Ocamlbuild_plugin].dispatch should be used only once. The last call will override previous ones.
If you use oasis, myocamlbuild.ml should look like:
let _ =
Ocamlbuild_plugin.dispatch
(fun hook ->
dispatch_default hook;
Ocamlbuild_js_of_ocaml.dispatcher
~oasis_executables:["src/yourprogram.byte"]
hook;
)
Build a JavaScript program myprog.js by calling the command:
ocamlbuild -use-ocamlfind -plugin-tag "package(js_of_ocaml.ocamlbuild)" myprog.js
It will first build the bytecode myprog.byte and finally produce myprog.js (in _build).
One can pass option to the Js_of_ocaml compiler using tags. See <<a_manual chapter="options" |Options>>.
Available tags:
In the _tags file:
<myprog.js>:pretty, opt(3)
The main dispatcher
?oasis_executables
is the paths of the executables
(having the .byte extension) you want to compile
as a javascript executable. The former executables are still compiled.
Side note: [root:Ocamlbuild_plugin].dispatch should be used only once as it record only one function for an ocamlbuild module.
Map each targets given as argument to ocamlbuild and replace each element
that exists in ~executables
by its corresponding .js target.