Coccinelle release-1.0.0-rc11
[bpt/coccinelle.git] / tools / generate_dependencies.ml
index bcf47d2..cdce4ed 100644 (file)
@@ -1,4 +1,8 @@
 (*
+ * Copyright 2012, INRIA
+ * Julia Lawall, Gilles Muller
+ * Copyright 2010-2011, INRIA, University of Copenhagen
+ * Julia Lawall, Rene Rydhof Hansen, Gilles Muller, Nicolas Palix
  * Copyright 2005-2009, Ecole des Mines de Nantes, University of Copenhagen
  * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix
  * This file is part of Coccinelle.
@@ -26,10 +30,10 @@ open Common
 (* Flags *)
 (*****************************************************************************)
 
-let generate_dependencies dir = 
-  let c_info = 
+let generate_dependencies dir =
+  let c_info =
     Common.glob (Filename.concat dir "*.[c]")
-    +> List.map (fun file -> 
+    +> List.map (fun file ->
       let (x,_) = Parse_c.parse_cache file in
       let defined = C_info.defined_stuff x in
       let used = C_info.used_stuff x in
@@ -38,12 +42,12 @@ let generate_dependencies dir =
       file, { C_info.used = used; defined = defined; is_module = extra}
     ) in
   let global = C_info.mk_global_definitions_index c_info in
-  c_info +> List.iter (fun (file, used_defined) -> 
+  c_info +> List.iter (fun (file, used_defined) ->
     pr2 ("HANDLING : " ^ file);
     C_info.print_entities used_defined.C_info.used;
   );
   C_info.check_no_duplicate_global_definitions global;
-  let g = C_info.build_graph c_info global 
+  let g = C_info.build_graph c_info global
     (Filename.concat dir "depgraph.dot") in
   C_info.generate_makefile g (Filename.concat dir "depcocci.dep")
 
@@ -51,30 +55,30 @@ let generate_dependencies dir =
 
 
 (*
-  let path = 
+  let path =
     match xs with
     | [] -> "/home/pad/kernels/git/linux-2.6/drivers/net"
     | [x] -> x
     | _ -> failwith "too much path"
   in
 
-  let dirs = 
-    if dir 
+  let dirs =
+    if dir
     then Common.cmd_to_list ("find " ^ path ^ " -type d") +> Kbuild.adjust_dirs
     else [path]
   in
-  dirs +> List.iter (fun dir -> 
+  dirs +> List.iter (fun dir ->
 *)
-    
+
 
 (*
-let test_yyy () = 
+let test_yyy () =
   Sys.chdir "/home/pad/kernels/git/linux-2.6";
   let path="drivers/net" in
 
-  let c_info = 
+  let c_info =
     Common.cmd_to_list ("find " ^ path ^ " -name \"*.c\" ")
-    +> List.map (fun file -> 
+    +> List.map (fun file ->
       let x = cprogram_of_file_cached file in
       let defined = defined_stuff x in
       let used = used_stuff x in
@@ -83,26 +87,26 @@ let test_yyy () =
       file, { used = used; defined = defined; is_module = extra}
     ) in
   let global = mk_global_definitions_index c_info in
-  c_info +> List.iter (fun (file, used_defined) -> 
+  c_info +> List.iter (fun (file, used_defined) ->
     pr2 ("HANDLING : " ^ file);
     print_entities used_defined.used;
   );
   check_no_duplicate_global_definitions global
     (*build_graph c_info global (Filename.concat dir "depgraph.dot");*)
-*)  
+*)
 
 
 (*****************************************************************************)
 (* Main entry point *)
 (*****************************************************************************)
 
-let main () = 
+let main () =
   begin
     let args = ref [] in
     let options = [
     ] in
-    let usage_msg = 
-      "Usage: " ^ basename Sys.argv.(0) ^ 
+    let usage_msg =
+      "Usage: " ^ basename Sys.argv.(0) ^
         " <dir> [options]" ^ "\n" ^ "Options are:"
     in
 
@@ -110,9 +114,9 @@ let main () =
     args := List.rev !args;
 
     (match (!args) with
-    | [x] -> 
+    | [x] ->
         generate_dependencies x
-    | _ -> Arg.usage (Arg.align options) usage_msg; 
+    | _ -> Arg.usage (Arg.align options) usage_msg;
     )
   end