diff --git a/Makefile.generating b/Makefile.generating
index e1793bede2262382953381b03a1e62734623a165..4495a37a663d9e7b39f2f11c3aa0af09e2739471 100644
--- a/Makefile.generating
+++ b/Makefile.generating
@@ -47,8 +47,9 @@ MINOR_VERSION=$(shell $(SED) -E 's/^[0-9]+\.([0-9]+).*/\1/' VERSION)
 $(CONFIG_FILE): $(CONFIG_FILE).in VERSION VERSION_CODENAME share/Makefile.config Makefile.generating configure.in
 	$(SED) \
 	  -e "s|@VERSION@|$(VERSION)|" \
-         -e "s|@VERSION_CODENAME@|$(VERSION_CODENAME)|" \
+          -e "s|@VERSION_CODENAME@|$(VERSION_CODENAME)|" \
           -e "s|@CURR_DATE@|$$(LC_ALL=C date)|" \
+          -e "s|@LABLGTK@|$(LABLGTK)|" \
 	  -e "s|@OCAMLC@|$(OCAMLC)|" \
           -e "s|@OCAMLOPT@|$(OCAMLOPT)|" \
 	  -e "s|@WARNINGS@|$(WARNINGS)|" \
diff --git a/src/kernel_internals/runtime/fc_config.ml.in b/src/kernel_internals/runtime/fc_config.ml.in
index d236c0c1ecdbf82950305031d68bc66a86096142..8fda151a90da255afe4368634d054349eda881f2 100644
--- a/src/kernel_internals/runtime/fc_config.ml.in
+++ b/src/kernel_internals/runtime/fc_config.ml.in
@@ -32,6 +32,8 @@ let minor_version = @MINOR_VERSION@
 
 let is_gui = ref false
 
+let lablgtk = "@LABLGTK@"
+
 let ocamlc = "@OCAMLC@"
 let ocamlopt = "@OCAMLOPT@"
 let ocaml_wflags = "@WARNINGS@"
diff --git a/src/kernel_internals/runtime/fc_config.mli b/src/kernel_internals/runtime/fc_config.mli
index 1b9c799d3a4533995bd43d597a76d9e8c65b6067..14f5169a9f042608154549b61dd561c07b36c82a 100644
--- a/src/kernel_internals/runtime/fc_config.mli
+++ b/src/kernel_internals/runtime/fc_config.mli
@@ -46,6 +46,10 @@ val is_gui: bool ref
 (** Is the Frama-C GUI running?
     @since Beryllium-20090601-beta1 *)
 
+val lablgtk: string
+(** Name of the lablgtk version against which Frama-C has been compiled.
+    blank if only command-line mode is available. *)
+
 val ocamlc: string
 (** Name of the bytecode compiler.
     @since Boron-20100401 *)
diff --git a/src/kernel_services/plugin_entry_points/dynamic.ml b/src/kernel_services/plugin_entry_points/dynamic.ml
index a5dd5b2c9612762f11f2dff507a4658a5225afdc..56af09583638176d86d5f470bf9bd1edb4546c61 100644
--- a/src/kernel_services/plugin_entry_points/dynamic.ml
+++ b/src/kernel_services/plugin_entry_points/dynamic.ml
@@ -245,7 +245,8 @@ let load_script base =
     else
       Format.fprintf fmt "%s -c" Fc_config.ocamlc ;
     Format.fprintf fmt " -g %s -warn-error a -I %s" Fc_config.ocaml_wflags Fc_config.libdir ;
-    if !Fc_config.is_gui then Format.pp_print_string fmt " -package lablgtk2" ;
+    if !Fc_config.is_gui && Fc_config.lablgtk <> "" then
+      Format.fprintf fmt " -package %s" Fc_config.lablgtk;
     List.iter (fun p -> Format.fprintf fmt " -I %s" p) !load_path ;
     Format.fprintf fmt " %S.ml" base ;
     Format.pp_print_flush fmt () ;