; (env
;  (_
;   (flags
;    (:standard -warn-error +5))))

(library
 (name analyzer_cf)
 (modules analyzer)
 (flags (-rectypes))
 (libraries OCanren OCanren.tester)
 (inline_tests)
 (wrapped false)
 (preprocess
  (pps GT.ppx GT.ppx_all ppx_expect ppx_inline_test)))

(library
 (name tests_cf)
 (modules tests)
 (flags (-rectypes))
 (libraries synthesizer_cf tests_f_cf)
 (inline_tests)
 (wrapped false)
 (preprocess
  (pps ppx_expect ppx_inline_test)))

(library
 (name tests_f_cf)
 (modules tests_f)
 (flags (-rectypes))
 (libraries OCanren OCanren.tester synthesizer_cf)
 (preprocessor_deps ../camlp5/pp5+gt+plugins+ocanren+dump.exe)
 (wrapped false)
 (preprocess
  (pps
   OCanren-ppx.ppx_repr
   OCanren-ppx.ppx_deriving_reify
   OCanren-ppx.ppx_fresh
   GT.ppx
   GT.ppx_all
   OCanren-ppx.ppx_distrib
   --
   -pp
   camlp5/pp5+gt+plugins+ocanren+dump.exe)))

(library
 (name synthesizer_cf)
 (modules synthesizer)
 (flags
  ; (-dsource)
  (:standard -rectypes))
 (libraries OCanren OCanren.tester)
 (preprocessor_deps ../camlp5/pp5+gt+plugins+ocanren+dump.exe)
 (wrapped false)
 (preprocess
  (pps
   OCanren-ppx.ppx_repr
   OCanren-ppx.ppx_deriving_reify
   OCanren-ppx.ppx_fresh
   GT.ppx
   GT.ppx_all
   OCanren-ppx.ppx_distrib
   --
   -pp
   camlp5/pp5+gt+plugins+ocanren+dump.exe)))
