summaryrefslogtreecommitdiff
path: root/lib/envars.ml
diff options
context:
space:
mode:
Diffstat (limited to 'lib/envars.ml')
-rw-r--r--lib/envars.ml19
1 files changed, 11 insertions, 8 deletions
diff --git a/lib/envars.ml b/lib/envars.ml
index 4ec68a27..c672d30c 100644
--- a/lib/envars.ml
+++ b/lib/envars.ml
@@ -23,6 +23,8 @@ let _ =
if Coq_config.arch = "win32" then
Unix.putenv "PATH" (coqbin ^ ";" ^ System.getenv_else "PATH" "")
+let exe s = s ^ Coq_config.exec_extension
+
let reldir instdir testfile oth =
let rpath = if Coq_config.local then [] else instdir in
let out = List.fold_left Filename.concat coqroot rpath in
@@ -87,19 +89,19 @@ let rec which l f =
else which tl f
let guess_camlbin () =
- let path = try Sys.getenv "PATH" with _ -> raise Not_found in
+ let path = Sys.getenv "PATH" in (* may raise Not_found *)
let lpath = path_to_list path in
- which lpath "ocamlc"
+ which lpath (exe "ocamlc")
let guess_camlp4bin () =
- let path = try Sys.getenv "PATH" with _ -> raise Not_found in
+ let path = Sys.getenv "PATH" in (* may raise Not_found *)
let lpath = path_to_list path in
- which lpath Coq_config.camlp4
+ which lpath (exe Coq_config.camlp4)
let camlbin () =
if !Flags.camlbin_spec then !Flags.camlbin else
if !Flags.boot then Coq_config.camlbin else
- try guess_camlbin () with _ -> Coq_config.camlbin
+ try guess_camlbin () with e when e <> Sys.Break -> Coq_config.camlbin
let camllib () =
if !Flags.boot
@@ -113,9 +115,10 @@ let camllib () =
let camlp4bin () =
if !Flags.camlp4bin_spec then !Flags.camlp4bin else
if !Flags.boot then Coq_config.camlp4bin else
- try guess_camlp4bin () with _ -> let cb = camlbin () in
- if Sys.file_exists (Filename.concat cb Coq_config.camlp4) then cb
- else Coq_config.camlp4bin
+ try guess_camlp4bin () with e when e <> Sys.Break ->
+ let cb = camlbin () in
+ if Sys.file_exists (Filename.concat cb (exe Coq_config.camlp4)) then cb
+ else Coq_config.camlp4bin
let camlp4lib () =
if !Flags.boot