(library
  (name elpi_compiler)
  (public_name elpi.compiler)
  (preprocess (per_module
    ((pps ppx_deriving.std) compiler_data type_checker compiler determinacy_checker spilling)))
  (libraries re.str unix stdlib-shims elpi.parser elpi.util elpi.runtime)
  (modules compiler_data type_checker determinacy_checker compiler spilling)
)

(test (name test_compiler_data) (libraries elpi.compiler) (modules test_compiler_data) (preprocess (pps ppx_deriving.std)))
(test (name test_union_find) (libraries elpi.compiler) (modules test_union_find) (preprocess (pps ppx_deriving.std)))
(test (name test_type_checker) (libraries elpi.compiler) (modules test_type_checker) (preprocess (pps ppx_deriving.std)))

(env
  (dev
    (flags (:standard -w -9 -w -27 -warn-error -A)))
  (fatalwarnings
    (flags (:standard -w -9 -w -27 -warn-error +A))))
