(library
 (name node_backend)
 (public_name bindings_js.node_backend)
 (js_of_ocaml
  (flags
   (:include flags.sexp))
  (javascript_files node_backend.js))
 (instrumentation
  (backend bisect_ppx))
 (preprocess
  (pps ppx_version js_of_ocaml-ppx)))

(rule
 (targets
  kimchi_wasm_bg.wasm.d.ts
  kimchi_wasm_bg.wasm
  kimchi_wasm.d.ts
  kimchi_wasm.js
  flags.sexp)
 (deps
  build.sh
  ../../dune-build-root
  (source_tree ../../../proof-systems))
 (locks /cargo-lock) ; lock for rustup
 (action
  (progn
   (setenv
    CARGO_TARGET_DIR
    "%{read:../../dune-build-root}/cargo_kimchi_wasm"
    (run bash build.sh))
   (write-file flags.sexp "()"))))
