From 13fe66c968799c9b07fdf0292f25263247f4c791 Mon Sep 17 00:00:00 2001 From: Simon Cruanes Date: Wed, 15 Aug 2018 13:38:58 -0500 Subject: [PATCH] chore: update dune to use dune-config --- src/core/jbuild | 2 +- src/jbuild | 6 ++++-- src/mkflags.ml | 30 ++++++++++++++++++------------ 3 files changed, 23 insertions(+), 15 deletions(-) diff --git a/src/core/jbuild b/src/core/jbuild index 1f988b34..3c3f8615 100644 --- a/src/core/jbuild +++ b/src/core/jbuild @@ -4,6 +4,6 @@ (public_name containers) (wrapped false) (flags (:standard -w +a-4-42-44-48-50-58-32-60@8 -safe-string -nolabels -open CCMonomorphic)) - (ocamlopt_flags (:standard (:include ../flambda.flags))) + (ocamlopt_flags ((:include ../flambda.flags))) (libraries (result uchar containers.monomorphic)) )) diff --git a/src/jbuild b/src/jbuild index 8373c9ad..9829e886 100644 --- a/src/jbuild +++ b/src/jbuild @@ -1,10 +1,12 @@ +(executable + ((name mkflags) + (libraries (dune.configurator)))) (rule ((targets (flambda.flags)) - (deps ((file mkflags.ml))) (fallback) (action - (run ocaml ./mkflags.ml)) + (run ./mkflags.exe)) )) diff --git a/src/mkflags.ml b/src/mkflags.ml index d781110e..3c4ffca5 100644 --- a/src/mkflags.ml +++ b/src/mkflags.ml @@ -1,13 +1,19 @@ + +module C = Configurator.V1 + let () = - let major, minor = - Scanf.sscanf Sys.ocaml_version "%u.%u" - (fun major minor -> major, minor) - in - let after_4_3 = (major, minor) >= (4, 3) in - let flags_file = open_out "flambda.flags" in - if after_4_3 then ( - output_string flags_file "(-O3 -unbox-closures -unbox-closures-factor 20 -color always)\n"; - ) else ( - output_string flags_file "()\n"; - ); - close_out flags_file + C.main ~name:"mkflags" (fun c -> + let version = C.ocaml_config_var_exn c "version" in + let major, minor = + Scanf.sscanf version "%u.%u" + (fun major minor -> major, minor) + in + let after_4_3 = (major, minor) >= (4, 3) in + let sexp = + if after_4_3 then ( + ["-O3"; "-unbox-closures"; "-unbox-closures-factor"; "20"; "-color"; "always"] + ) else ( + [] + ) in + C.Flags.write_sexp "flambda.flags" sexp + )