(env
 (_
  ;; for testing
  (env-vars
   (FOO bar))))

(library
 (name jsoo_testsuite_latest)
 (modules test_io test_floats)
 (libraries unix compiler-libs.common js_of_ocaml-compiler)
 (enabled_if
  (>= %{ocaml_version} 4.14))
 (inline_tests
  (modes js wasm best))
 (preprocess
  (pps ppx_expect)))

(library
 (name jsoo_testsuite_compression)
 (modules test_marshal_compressed)
 (libraries unix compiler-libs.common js_of_ocaml-compiler)
 (enabled_if
  (>= %{ocaml_version} 5.1.1))
 (inline_tests
  (modes js wasm best))
 (preprocess
  (pps ppx_expect)))

(library
 (name jsoo_testsuite_parsing)
 (modules test_parsing calc_parser calc_lexer)
 (libraries unix compiler-libs.common js_of_ocaml-compiler)
 (enabled_if
  (>= %{ocaml_version} 5.1.1))
 (inline_tests
  (modes js wasm best))
 (preprocess
  (pps ppx_expect)))

(library
 (name jsoo_testsuite)
 (modules
  (:standard
   \
   test_io
   test_floats
   test_float16
   test_bigarray
   test_marshal_compressed
   test_parsing
   calc_parser
   calc_lexer))
 (libraries unix compiler-libs.common js_of_ocaml-compiler)
 (foreign_stubs
  (language c)
  (names bigarray_stubs jsoo_runtime_stubs))
 (inline_tests
  (modes js wasm best))
 (preprocess
  (pps ppx_expect)))

(test
 (name test_float16)
 (build_if
  (>= %{ocaml_version} 5.2))
 (modules test_float16 test_bigarray)
 (modes js wasm native))

(ocamlyacc calc_parser)

(ocamllex calc_lexer)

(ocamlyacc parser_1307)

(ocamllex lexer_1307)
