aboutsummaryrefslogtreecommitdiff
path: root/tools/coq_makefile.ml
diff options
context:
space:
mode:
Diffstat (limited to 'tools/coq_makefile.ml')
-rw-r--r--tools/coq_makefile.ml13
1 files changed, 11 insertions, 2 deletions
diff --git a/tools/coq_makefile.ml b/tools/coq_makefile.ml
index 07550b67e3..cddb840693 100644
--- a/tools/coq_makefile.ml
+++ b/tools/coq_makefile.ml
@@ -125,8 +125,17 @@ let quote s = if String.contains s ' ' || CString.is_empty s then "'" ^ s ^ "'"
let generate_makefile oc conf_file local_file dep_file args project =
let coqlib = Envars.coqlib () in
let makefile_template =
- let template = Filename.concat "tools" "CoqMakefile.in" in
- Filename.concat coqlib template in
+ CPath.choose_existing
+ [ CPath.make [ coqlib; "tools"; "CoqMakefile.in" ]
+ ; CPath.make [ coqlib; ".."; "coq-core"; "tools"; "CoqMakefile.in" ]
+ ]
+ in
+ let makefile_template = match makefile_template with
+ | None ->
+ Format.eprintf "Error: cannot find CoqMakefile.in";
+ exit 1
+ | Some v -> (v :> string)
+ in
let s = read_whole_file makefile_template in
let s = List.fold_left
(* We use global_substitute to avoid running into backslash issues due to \1 etc. *)