aboutsummaryrefslogtreecommitdiffhomepage
path: root/configure.ml
diff options
context:
space:
mode:
authorGravatar Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr>2015-12-15 10:30:31 +0100
committerGravatar Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr>2015-12-15 10:38:52 +0100
commitdb282f831cbf619e417593c602de24960c3ca69c (patch)
tree6f4bcc1830e37713c571e58084214571c8920ff1 /configure.ml
parentf439001caa24671d03d8816964ceb8e483660e70 (diff)
parentce395ca02311bbe6ecc1b2782e74312272dd15ec (diff)
Merge branch 'v8.5'
Diffstat (limited to 'configure.ml')
-rw-r--r--configure.ml50
1 files changed, 9 insertions, 41 deletions
diff --git a/configure.ml b/configure.ml
index b8bb650b1..47721f778 100644
--- a/configure.ml
+++ b/configure.ml
@@ -670,18 +670,10 @@ let operating_system, osdeplibs =
(** * lablgtk2 and CoqIDE *)
-type source = Manual | OCamlFind | Stdlib
-
-let get_source = function
-| Manual -> "manually provided"
-| OCamlFind -> "via ocamlfind"
-| Stdlib -> "in OCaml library"
-
(** Is some location a suitable LablGtk2 installation ? *)
-let check_lablgtkdir ?(fatal=false) src dir =
+let check_lablgtkdir ?(fatal=false) msg dir =
let yell msg = if fatal then die msg else (printf "%s\n" msg; false) in
- let msg = get_source src in
if not (dir_exists dir) then
yell (sprintf "No such directory '%s' (%s)." dir msg)
else if not (Sys.file_exists (dir/"gSourceView2.cmi")) then
@@ -695,11 +687,11 @@ let check_lablgtkdir ?(fatal=false) src dir =
let get_lablgtkdir () =
match !Prefs.lablgtkdir with
| Some dir ->
- let msg = Manual in
+ let msg = "manually provided" in
if check_lablgtkdir ~fatal:true msg dir then dir, msg
- else "", msg
+ else "", ""
| None ->
- let msg = OCamlFind in
+ let msg = "via ocamlfind" in
let d1,_ = tryrun "ocamlfind" ["query";"lablgtk2.sourceview2"] in
if d1 <> "" && check_lablgtkdir msg d1 then d1, msg
else
@@ -707,34 +699,10 @@ let get_lablgtkdir () =
let d2,_ = tryrun "ocamlfind" ["query";"lablgtk2"] in
if d2 <> "" && d2 <> d1 && check_lablgtkdir msg d2 then d2, msg
else
- let msg = Stdlib in
+ let msg = "in OCaml library" in
let d3 = camllib^"/lablgtk2" in
if check_lablgtkdir msg d3 then d3, msg
- else "", msg
-
-(** Detect and/or verify the Lablgtk2 version *)
-
-let check_lablgtk_version src dir = match src with
-| Manual | Stdlib ->
- let test accu f =
- if accu then
- let test = sprintf "grep -q -w %s %S/glib.mli" f dir in
- Sys.command test = 0
- else false
- in
- let heuristics = [
- "convert_with_fallback";
- "wrap_poll_func"; (** Introduced in lablgtk 2.16 *)
- ] in
- let ans = List.fold_left test true heuristics in
- if ans then printf "Warning: could not check the version of lablgtk2.\n";
- (ans, "an unknown version")
-| OCamlFind ->
- let v, _ = tryrun "ocamlfind" ["query"; "-format"; "%v"; "lablgtk2"] in
- try
- let vi = List.map s2i (numeric_prefix_list v) in
- ([2; 16] <= vi, v)
- with _ -> (false, v)
+ else "", ""
let pr_ide = function No -> "no" | Byte -> "only bytecode" | Opt -> "native"
@@ -758,9 +726,9 @@ let check_coqide () =
if !Prefs.coqide = Some No then set_ide No "CoqIde manually disabled";
let dir, via = get_lablgtkdir () in
if dir = "" then set_ide No "LablGtk2 not found";
- let (ok, version) = check_lablgtk_version via dir in
- let found = sprintf "LablGtk2 found (%s, %s)" (get_source via) version in
- if not ok then set_ide No (found^", but too old (required >= 2.16, found " ^ version ^ ")");
+ let found = sprintf "LablGtk2 found (%s)" via in
+ let test = sprintf "grep -q -w convert_with_fallback %S/glib.mli" dir in
+ if Sys.command test <> 0 then set_ide No (found^" but too old");
(* We're now sure to produce at least one kind of coqide *)
lablgtkdir := shorten_camllib dir;
if !Prefs.coqide = Some Byte then set_ide Byte (found^", bytecode requested");