Coccinelle release 1.0.0-rc12
[bpt/coccinelle.git] / tools / licensify.ml
index d981671..49f3ab0 100644 (file)
@@ -1,5 +1,7 @@
 (*
- * Copyright 2010, INRIA, University of Copenhagen
+ * 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
  *)
 
 
+# 0 "./licensify.ml"
 let lines =
-["Copyright 2010, INRIA, University of Copenhagen";
+["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";
@@ -66,14 +71,17 @@ let do_one file =
     if Filename.check_suffix file ".pl"    then make_lines else
     if Filename.basename file = "Makefile" then make_lines else
     failwith (Printf.sprintf "unknown file type: %s" file) in
-  let _ = Sys.command (Printf.sprintf "cp %s /tmp/tmpfl" file) in
-  let o = open_out file in
+  let tmpfl = Filename.temp_file "cocci_licence" "orig" in
+  let _     = Sys.command (Printf.sprintf "cp %s %s" file tmpfl) in
+  let o     = open_out file in
   List.iter (function l -> Printf.fprintf o "%s\n" l) lines;
   Printf.fprintf o "\n";
   Printf.fprintf o "\n";
+  if List.exists (Filename.check_suffix file) [ ".ml" ; ".mli" ; ".mll" ] then
+    Printf.fprintf o "# 0 \"%s\"\n" file;
   close_out o;
-  let _ = Sys.command (Printf.sprintf "cat /tmp/tmpfl >> %s" file) in
-  ()
+  let _ = Sys.command (Printf.sprintf "cat %s >> %s" tmpfl file) in
+  Sys.remove tmpfl
 
 (* pad's modif *)
 let (+>) o f = f o