(library
  (name squirrellib)
  (public_name squirrel.lib)
  ; the library_flags line just below is required to perform the side-effects
  ; (let () = ...) that register the test suite; it is copy-pasted from
  ; https://discuss.ocaml.org/t/dune-and-module-initialization-side-effects/4520
  (library_flags (:standard -linkall))
  (instrumentation (backend bisect_ppx))
  (inline_tests)
  (preprocess (pps ppx_inline_test))
  (libraries squirrelcore squirreltactics squirrelprover squirrelfront
             squirrelhtml))
    ; (select smt.ml from
    ;   (why3  -> smt.why3api.ml)
    ;   (!why3 -> smt.stub.ml))
    ; (select server.ml from
    ;   (tiny_httpd  -> server.real.ml)
    ;   (!tiny_httpd -> server.stub.ml))))

; (ocamllex htmlLexer)
;; Adding -ml option to ocamllex : have no limit size for automaton
; (rule
;  (target lexer.ml)
;  (deps   lexer.mll)
;  (action (chdir %{workspace_root}
;           (run %{bin:ocamllex} -ml -q -o %{target} %{deps}))))
; (menhir
;   (modules parser htmlParser)
;    (flags --table --explain))

;; We decide to ignore the following warnings:
;; 7:  method overriden
;; 9:  unbound label in record pattern
;; 36: unused ancestor variable super
(env
  (dev
    (flags (:standard -w -7-9-36))))
