(executable
 (name copyfile)
 (modules copyfile)
 (libraries stdune))

(executable
 (name main)
 (modules main)
 (enabled_if
  ; Currently the build of this program fails because there is a
  ; conflict between vendor/spawn and the spawn library installed in
  ; opam that core_bench depends on.
  ;
  ; There is a work in progress to "unvendor" Dune's dependencies
  ; when working on Dune to avoid such issues. See
  ; https://github.com/ocaml/dune/pull/3575
  false)
 (libraries dune_bench core_bench.inline_benchmarks))

(executable
 (name memo_bench_main)
 (allow_overlapping_dependencies)
 (modules memo_bench_main)
 (libraries memo_bench core_bench.inline_benchmarks))

(library
 (name thread_pool_bench)
 (modules thread_pool_bench)
 (library_flags -linkall)
 (preprocess
  (pps ppx_bench))
 (libraries dune_thread_pool unix threads.posix core_bench.inline_benchmarks))

(executable
 (name thread_pool_bench_main)
 (allow_overlapping_dependencies)
 (modules thread_pool_bench_main)
 (libraries thread_pool_bench core_bench.inline_benchmarks))

(library
 (name digest_bench)
 (modules digest_bench)
 (library_flags -linkall)
 (preprocess
  (pps ppx_bench))
 (libraries dune_digest stdune unix core_bench.inline_benchmarks))

(executable
 (name digest_bench_main)
 (allow_overlapping_dependencies)
 (modules digest_bench_main)
 (libraries digest_bench core_bench.inline_benchmarks))

(library
 (name path_bench)
 (modules path_bench)
 (library_flags -linkall)
 (preprocess
  (pps ppx_bench))
 (libraries base stdune core_bench.inline_benchmarks))

(executable
 (name path_bench_main)
 (allow_overlapping_dependencies)
 (modules path_bench_main)
 (libraries path_bench core_bench.inline_benchmarks))
