(* -*- tuareg -*- *) let common_flags = {|(-w +a-4-9-18-40-42-44-48@50 -strict-formats -strict-sequence -short-paths -bin-annot -keep-docs -unboxed-types)|} let ocamlc_flags = match Jbuild_plugin.V1.context with | "release" -> "-w -26-32 -noassert" | _ -> "-g" let ocamlopt_flags = match Jbuild_plugin.V1.context with | "release" -> ocamlc_flags ^ " -w -a -O3" | _ -> ocamlc_flags let coverage_ppx = match Jbuild_plugin.V1.context with "coverage" -> "bisect_ppx" | _ -> "" let ppx_flags = match Jbuild_plugin.V1.context with "dev" -> "--debug" | _ -> "" let flags deps = Printf.sprintf {|(flags (%s %s)) (ocamlc_flags (%s)) (ocamlopt_flags (%s)) (preprocess (pps ppx_compare ppx_custom_printf ppx_deriving_cmdliner ppx_expect ppx_hash ppx_here ppx_inline_test ppx_sexp_conv ppx_sexp_value ppx_trace %s %s))|} common_flags (String.concat " " (List.map (fun d -> "-open " ^ String.capitalize_ascii d) deps)) ocamlc_flags ocamlopt_flags ppx_flags coverage_ppx let libraries deps = String.concat " " deps