diff --git a/src/core/jbuild b/src/core/jbuild index c93cbc7e..172c8daf 100644 --- a/src/core/jbuild +++ b/src/core/jbuild @@ -3,8 +3,7 @@ ((name containers) (public_name containers) (wrapped false) - (flags (:standard -w +a-4-42-44-48-50-58-32-60@8 -safe-string -color always -nolabels -open CCMonomorphic)) - (ocamlopt_flags (:standard -O3 -color always - -unbox-closures -unbox-closures-factor 20)) + (flags (:standard -w +a-4-42-44-48-50-58-32-60@8 -safe-string -nolabels -open CCMonomorphic)) + (ocamlopt_flags (:standard (:include ../flambda.flags))) (libraries (bytes result containers.monomorphic)) )) diff --git a/src/data/jbuild b/src/data/jbuild index 80ac4bce..9fcf9861 100644 --- a/src/data/jbuild +++ b/src/data/jbuild @@ -3,8 +3,7 @@ ((name containers_data) (public_name containers.data) (wrapped false) - (flags (:standard -w +a-4-42-44-48-50-58-32-60@8 -safe-string -color always)) - (ocamlopt_flags (:standard -O3 -color always - -unbox-closures -unbox-closures-factor 20)) + (flags (:standard -w +a-4-42-44-48-50-58-32-60@8 -safe-string)) + (ocamlopt_flags (:standard (:include ../flambda.flags))) (libraries (bytes result)) )) diff --git a/src/iter/jbuild b/src/iter/jbuild index 60ca4553..bade997f 100644 --- a/src/iter/jbuild +++ b/src/iter/jbuild @@ -3,8 +3,7 @@ ((name containers_iter) (public_name containers.iter) (wrapped false) - (flags (:standard -w +a-4-42-44-48-50-58-32-60@8 -safe-string -color always)) - (ocamlopt_flags (:standard -O3 -color always - -unbox-closures -unbox-closures-factor 20)) + (flags (:standard -w +a-4-42-44-48-50-58-32-60@8 -safe-string)) + (ocamlopt_flags (:standard (:include ../flambda.flags))) (libraries (bytes result)) )) diff --git a/src/jbuild b/src/jbuild new file mode 100644 index 00000000..8373c9ad --- /dev/null +++ b/src/jbuild @@ -0,0 +1,10 @@ + + +(rule + ((targets (flambda.flags)) + (deps ((file mkflags.ml))) + (fallback) + (action + (run ocaml ./mkflags.ml)) + )) + diff --git a/src/mkflags.ml b/src/mkflags.ml new file mode 100644 index 00000000..591df576 --- /dev/null +++ b/src/mkflags.ml @@ -0,0 +1,13 @@ + 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 diff --git a/src/monomorphic/jbuild b/src/monomorphic/jbuild index 0944bf5f..4eeaac49 100644 --- a/src/monomorphic/jbuild +++ b/src/monomorphic/jbuild @@ -3,8 +3,7 @@ ((name containers_monomorphic) (public_name containers.monomorphic) (wrapped false) - (flags (:standard -w +a-4-42-44-48-50-58-32-60@8 -safe-string -color always)) - (ocamlopt_flags (:standard -O3 -color always - -unbox-closures -unbox-closures-factor 20)) + (flags (:standard -w +a-4-42-44-48-50-58-32-60@8 -safe-string)) + (ocamlopt_flags (:standard (:include ../flambda.flags))) (libraries ()) )) diff --git a/src/sexp/jbuild b/src/sexp/jbuild index cc7f71c0..b3c35302 100644 --- a/src/sexp/jbuild +++ b/src/sexp/jbuild @@ -3,9 +3,8 @@ ((name containers_sexp) (public_name containers.sexp) (wrapped false) - (flags (:standard -w +a-4-42-44-48-50-58-32-60@8 -safe-string -color always)) - (ocamlopt_flags (:standard -O3 -color always - -unbox-closures -unbox-closures-factor 20)) + (flags (:standard -w +a-4-42-44-48-50-58-32-60@8 -safe-string)) + (ocamlopt_flags (:standard (:include ../flambda.flags))) (libraries (bytes result)) )) diff --git a/src/threads/jbuild b/src/threads/jbuild index c698afac..7af8cbef 100644 --- a/src/threads/jbuild +++ b/src/threads/jbuild @@ -4,9 +4,8 @@ (public_name containers.thread) (wrapped false) (optional) - (flags (:standard -w +a-4-42-44-48-50-58-32-60@8 -safe-string -color always)) - (ocamlopt_flags (:standard -O3 -color always - -unbox-closures -unbox-closures-factor 20)) + (flags (:standard -w +a-4-42-44-48-50-58-32-60@8 -safe-string)) + (ocamlopt_flags (:standard (:include ../flambda.flags))) (libraries (containers threads)) )) diff --git a/src/top/jbuild b/src/top/jbuild index d42f7276..3bd8a254 100644 --- a/src/top/jbuild +++ b/src/top/jbuild @@ -4,9 +4,8 @@ ((name containers_top) (public_name containers.top) (wrapped false) - (flags (:standard -w +a-4-42-44-48-50-58-32-60@8 -safe-string -color always)) - (ocamlopt_flags (:standard -O3 -color always - -unbox-closures -unbox-closures-factor 20)) + (flags (:standard -w +a-4-42-44-48-50-58-32-60@8 -safe-string)) + (ocamlopt_flags (:standard (:include ../flambda.flags))) (libraries (compiler-libs.common containers containers.data containers.unix containers.sexp containers.iter)) )) diff --git a/src/unix/.merlin b/src/unix/.merlin index 9b310e15..d86c675f 100644 --- a/src/unix/.merlin +++ b/src/unix/.merlin @@ -1,5 +1,5 @@ B ../../_build/default/src/unix -FLG -w -40 -w +a-4-42-44-48-50-58-32-60@8 -safe-string -color always +FLG -w -40 -w +a-4-42-44-48-50-58-32-60@8 -safe-string PKG bytes PKG result PKG unix diff --git a/src/unix/jbuild b/src/unix/jbuild index c46a4c25..6502a9d3 100644 --- a/src/unix/jbuild +++ b/src/unix/jbuild @@ -4,8 +4,7 @@ (public_name containers.unix) (wrapped false) (optional) - (flags (:standard -w +a-4-42-44-48-50-58-32-60@8 -safe-string -color always)) - (ocamlopt_flags (:standard -O3 -color always - -unbox-closures -unbox-closures-factor 20)) + (flags (:standard -w +a-4-42-44-48-50-58-32-60@8 -safe-string)) + (ocamlopt_flags (:standard (:include ../flambda.flags))) (libraries (bytes result unix)) ))