diff --git a/Makefile.generating b/Makefile.generating
index 576ed8f1f3eae893a19faa0b0b56b2b3ba8f6da1..47aab1767ad438df8ea431ab2196b900f0fad2c1 100644
--- a/Makefile.generating
+++ b/Makefile.generating
@@ -48,6 +48,7 @@ $(CONFIG_FILE): $(CONFIG_FILE).in VERSION share/Makefile.config Makefile.generat
           -e "s|@CURR_DATE@|$$(LC_ALL=C date)|" \
 	  -e "s|@OCAMLC@|$(OCAMLC)|" \
           -e "s|@OCAMLOPT@|$(OCAMLOPT)|" \
+	  -e "s|@WARNINGS@|$(WARNINGS)|" \
           -e "s|@FRAMAC_DATADIR@|$(FRAMAC_DATADIR)|" \
 	  -e "s|@FRAMAC_LIBDIR@|$(FRAMAC_LIBDIR)|" \
 	  -e "s|@FRAMAC_ROOT_SRCDIR@|$(FRAMAC_ROOT_SRCDIR)|" \
diff --git a/src/kernel_internals/runtime/config.ml.in b/src/kernel_internals/runtime/config.ml.in
index 8e48cc5c2d58cded16edc864a3fc53119ca060e6..865bb2a1a3cc44937501df3a1e1c3bcc48ca35a7 100644
--- a/src/kernel_internals/runtime/config.ml.in
+++ b/src/kernel_internals/runtime/config.ml.in
@@ -28,6 +28,7 @@ let is_gui = ref false
 
 let ocamlc = "@OCAMLC@"
 let ocamlopt = "@OCAMLOPT@"
+let ocaml_wflags = "@WARNINGS@"
 
 let datadir = try Sys.getenv "FRAMAC_SHARE" with Not_found -> "@FRAMAC_DATADIR@"
 let () = Filepath.add_symbolic_dir "FRAMAC_SHARE" datadir
diff --git a/src/kernel_internals/runtime/config.mli b/src/kernel_internals/runtime/config.mli
index fdde468502144c848d53cd3408dcdab4ca24c11a..167eaa3ab62bc9f092533ea2192bf83b365ffbe6 100644
--- a/src/kernel_internals/runtime/config.mli
+++ b/src/kernel_internals/runtime/config.mli
@@ -38,6 +38,10 @@ val ocamlopt: string
   (** Name of the native compiler.
       @since Boron-20100401 *)
 
+val ocaml_wflags: string
+  (** Warning flags used when compiling Frama-C.
+      @since Sulfur-20171101-dev *)
+
 val datadir: string
   (** Directory where architecture independent files are. *)
 
diff --git a/src/kernel_services/plugin_entry_points/dynamic.ml b/src/kernel_services/plugin_entry_points/dynamic.ml
index dcdfee6f7b0113f683f964290f9df95312d5f6ad..066bd480591d3bbc8ccf0a1cd2e7ea663865bd31 100644
--- a/src/kernel_services/plugin_entry_points/dynamic.ml
+++ b/src/kernel_services/plugin_entry_points/dynamic.ml
@@ -232,7 +232,7 @@ let load_script base =
       Format.fprintf fmt "%s -shared -o %s.cmxs" Config.ocamlopt base
     else
       Format.fprintf fmt "%s -c" Config.ocamlc ;
-    Format.fprintf fmt " -w Ly -warn-error A -I %s" Config.libdir ;
+    Format.fprintf fmt " %s -warn-error a -I %s" Config.ocaml_wflags Config.libdir ;
     if !Config.is_gui then Format.pp_print_string fmt " -package lablgtk2" ;
     List.iter (fun p -> Format.fprintf fmt " -I %s" p) !load_path ;
     Format.fprintf fmt " %s.ml" base ;