Skip to content
Snippets Groups Projects
dune 1.72 KiB
Newer Older
(env
 (dev     (flags :standard -rectypes))
 (release (flags :standard -rectypes -w +27+32)))
 (targets (dir coq-pkgs))
 (mode (promote (until-clean)))
  (package coq-core)
  backend/jsoo/jscoq_worker.bc.cjs  ; needed for symbol generation
   (run node %{dep:dist-cli}/cli.cjs %{dep:etc/pkg-metadata/coq-pkgs.json}
             --rootdir %{env:COQBUILDDIR_REL=????} --nostdlib)
   ; building symbols using Make because Dune has no pattern rules T.T
   (run make libs-symb))))
 (targets (dir node_modules))
 (mode (promote (until-clean)))
 (deps
   package.json
   package-lock.json)
  (run npm install --no-save)))

(alias
 (name jscoq)
 (deps
  backend/jsoo/jscoq_worker.bc.cjs))

(alias
 (name wacoq)
 (deps
  (alias shared)
  backend/wasm/wacoq_worker.bc
  (glob_files backend/wasm/*.wasm)))

(alias
 (name shared)
 (deps
  (source_tree examples)
  (source_tree docs)  ; for `quick-help.html`
; JavaScript build (esbuild)
 (targets (dir dist) (dir dist-cli))
 (mode (promote (until-clean)))
  backend/jsoo/jscoq_worker.bc.cjs
  etc/pkg-metadata/coq-pkgs.json
  (source_tree backend)
  (source_tree frontend)
  node_modules)
 (action
  (run npm run esbuild)))

; Webpack build (legacy)
(rule
 (targets (dir dist-webpack))
 (mode (promote (until-clean)))
 (deps
  (source_tree backend)
  (source_tree frontend)
  webpack.config.js
  node_modules)
 (action
  (run npm run webpack)))

; Just the worker
(alias
  (name jscoq_worker)
  (deps
    backend/jsoo/jscoq_worker.bc.cjs))
(alias
  (name wacoq_worker)
  (deps
    backend/wasm/wacoq_worker.bc))

(dirs (:standard _vendor+*))
(vendored_dirs vendor)