aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorMaxime Dénès2020-04-01 11:09:13 +0200
committerMaxime Dénès2020-04-01 11:09:13 +0200
commit828b79f744ffc1f292a77a80553906544c1c0cfb (patch)
treef267db7f0d4895e14548281d59e61cd11379ebf4 /lib
parenteacddd7054ddc04eafc8292ae80be84649b940d1 (diff)
parentacba2419a4cebb2b55bad2aefa2062640ffe8828 (diff)
Merge PR #11306: Centralize the flag handling native compilation.
Ack-by: SkySkimmer Reviewed-by: maximedenes
Diffstat (limited to 'lib')
-rw-r--r--lib/flags.ml8
-rw-r--r--lib/flags.mli5
2 files changed, 13 insertions, 0 deletions
diff --git a/lib/flags.ml b/lib/flags.ml
index 2832ddd27a..1d9d6d49bc 100644
--- a/lib/flags.ml
+++ b/lib/flags.ml
@@ -82,3 +82,11 @@ let get_inline_level () = !inline_level
let profile_ltac = ref false
let profile_ltac_cutoff = ref 2.0
+
+let native_compiler = ref None
+let get_native_compiler () = match !native_compiler with
+| None -> assert false
+| Some b -> b
+let set_native_compiler b =
+ let () = assert (!native_compiler == None) in
+ native_compiler := Some b
diff --git a/lib/flags.mli b/lib/flags.mli
index a68be196d7..30d1b5b2bd 100644
--- a/lib/flags.mli
+++ b/lib/flags.mli
@@ -90,6 +90,11 @@ val without_option : bool ref -> ('a -> 'b) -> 'a -> 'b
(** Temporarily extends the reference to a list *)
val with_extra_values : 'c list ref -> 'c list -> ('a -> 'b) -> 'a -> 'b
+(** Native compilation flag *)
+val get_native_compiler : unit -> bool
+val set_native_compiler : bool -> unit
+(** Must be set exactly once at initialization time. *)
+
(** Level of inlining during a functor application *)
val set_inline_level : int -> unit
val get_inline_level : unit -> int