aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgareuselesinge2012-10-29 16:36:55 +0000
committergareuselesinge2012-10-29 16:36:55 +0000
commit2d83621457a1ea7f1955c7ab994abbec9d025ba9 (patch)
treec2a8161d53ac07efbbf2d9e54cbf817cbe3f3272
parentbafaf20a401546562924773016fcf051ee7ba8ec (diff)
coqdep: honor dependencies of "Load"ed files
Imagine A.v "Load"s B.v and that B.v "Require"s C. Before this commit we get: A.vo: A.v B.v After this commit we get: A.vo: A.v B.v C.vo git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@15939 85f007b7-540e-0410-9357-904b9bb8a0f7
-rw-r--r--tools/coqdep_common.ml6
1 files changed, 4 insertions, 2 deletions
diff --git a/tools/coqdep_common.ml b/tools/coqdep_common.ml
index c929e559dd..4977a94cd7 100644
--- a/tools/coqdep_common.ml
+++ b/tools/coqdep_common.ml
@@ -288,7 +288,7 @@ let canonize f =
| (f,_) :: _ -> escape f
| _ -> escape f
-let traite_fichier_Coq verbose f =
+let rec traite_fichier_Coq verbose f =
try
let chan = open_in f in
let buf = Lexing.from_channel chan in
@@ -347,7 +347,9 @@ let traite_fichier_Coq verbose f =
addQueue deja_vu_v [str];
try
let file_str = Hashtbl.find vKnown [str] in
- printf " %s.v" (canonize file_str)
+ let canon = canonize file_str in
+ printf " %s.v" canon;
+ traite_fichier_Coq true (canon ^ ".v")
with Not_found -> ()
end
| AddLoadPath _ | AddRecLoadPath _ -> (* TODO *) ()