diff options
author | Nicolas Pouillard <np@nicolaspouillard.fr> | 2007-12-18 09:03:39 +0000 |
---|---|---|
committer | Nicolas Pouillard <np@nicolaspouillard.fr> | 2007-12-18 09:03:39 +0000 |
commit | abd0efef67fffa21dd24d7f32b9c0272f4dc39b8 (patch) | |
tree | 088631de6cc2e8e784e19b8f4c77311c89578e9d | |
parent | 249889d1ff397cdf0f0e88b814a4e30abdc4b080 (diff) |
ocamlbuild: digest any resource.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8723 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
-rw-r--r-- | ocamlbuild/resource.ml | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/ocamlbuild/resource.ml b/ocamlbuild/resource.ml index 408ccdf44..b4477c17e 100644 --- a/ocamlbuild/resource.ml +++ b/ocamlbuild/resource.ml @@ -151,7 +151,17 @@ module Cache = struct is_up_to_date || (Digest_cache.put key digest; false) let source_is_up_to_date r_in_source_dir r_in_build_dir = - Pathname.exists r_in_build_dir && Digest.file r_in_build_dir = Digest.file r_in_source_dir + let key = "Resource: " ^ r_in_source_dir in + let digest = Digest.file r_in_source_dir in + let r_is_up_to_date = + Pathname.exists r_in_build_dir && + try + let digest' = Digest_cache.get key in + digest = digest' + with Not_found -> + false + in + r_is_up_to_date || (Digest_cache.put key digest; false) let prod_is_up_to_date p = let x = in_build_dir p in |