Add MIT+Apache2 license and headers incl generated files
[ldk-c-bindings] / c-bindings-gen / src / main.rs
index 9665fdc3008cc015e1c487065e03e16a93118a37..dfbcb85192435f8e3226752c249194a1495ff756 100644 (file)
@@ -1,3 +1,11 @@
+// This file is Copyright its original authors, visible in version control
+// history.
+//
+// This file is licensed under the Apache License, Version 2.0 <LICENSE-APACHE>
+// or the MIT license <LICENSE-MIT>, at your option.
+// You may not use this file except in accordance with one or both of these
+// licenses.
+
 //! Converts a rust crate into a rust crate containing a number of C-exported wrapper functions and
 //! classes (which is exportable using cbindgen).
 //! In general, supports convering:
@@ -382,8 +390,8 @@ fn writeln_trait<'a, 'b, W: std::io::Write>(w: &mut W, t: &'a syn::ItemTrait, ty
                        });
                }
        ) );
-       writeln!(w, "/// Frees any resources associated with this object given its this_arg pointer.").unwrap();
-       writeln!(w, "/// Does not need to free the outer struct containing function pointers and may be NULL is no resources need to be freed.").unwrap();
+       writeln!(w, "\t/// Frees any resources associated with this object given its this_arg pointer.").unwrap();
+       writeln!(w, "\t/// Does not need to free the outer struct containing function pointers and may be NULL is no resources need to be freed.").unwrap();
        writeln!(w, "\tpub free: Option<extern \"C\" fn(this_arg: *mut c_void)>,").unwrap();
        generated_fields.push("free".to_owned());
        writeln!(w, "}}").unwrap();
@@ -1342,6 +1350,15 @@ fn convert_file<'a, 'b>(libast: &'a FullLibraryAST, crate_types: &mut CrateTypes
                let mut out = std::fs::OpenOptions::new().write(true).create(true).truncate(true)
                        .open(new_file_path).expect("Unable to open new src file");
 
+               writeln!(out, "// This file is Copyright its original authors, visible in version control").unwrap();
+               writeln!(out, "// history and in the source files from which this was generated.").unwrap();
+               writeln!(out, "//").unwrap();
+               writeln!(out, "// This file is licensed under the license available in the LICENSE or LICENSE.md").unwrap();
+               writeln!(out, "// file in the root of this repository or, if no such file exists, the same").unwrap();
+               writeln!(out, "// license as that which applies to the original source files from which this").unwrap();
+               writeln!(out, "// source was automatically generated.").unwrap();
+               writeln!(out, "").unwrap();
+
                writeln_docs(&mut out, &attrs, "");
 
                if module == "" {