arm_compute v20.05
diff --git a/scripts/add_copyright.py b/scripts/add_copyright.py
new file mode 100755
index 0000000..9585fa3
--- /dev/null
+++ b/scripts/add_copyright.py
@@ -0,0 +1,90 @@
+#!/usr/bin/env python3
+import glob
+import os.path
+import sys
+
+mit_copyright = open("scripts/copyright_mit.txt",'r').read()
+
+def add_cpp_copyright( f, content):
+ global mit_copyright
+ out = open(f,'w')
+ out.write("/*\n")
+ for line in mit_copyright.split('\n')[:-1]:
+ out.write(" *");
+ if line.strip() != "":
+ out.write(" %s" %line)
+ out.write("\n")
+ out.write(" */\n")
+ out.write(content.strip())
+ out.write("\n")
+ out.close()
+
+def add_python_copyright( f, content):
+ global mit_copyright
+ out = open(f,'w')
+ for line in mit_copyright.split('\n')[:-1]:
+ out.write("#");
+ if line.strip() != "":
+ out.write(" %s" %line)
+ out.write("\n")
+ out.write(content.strip())
+ out.write("\n")
+ out.close()
+
+def remove_comment( content ):
+ comment=True
+ out=""
+ for line in content.split('\n'):
+ if comment:
+ if line.startswith(' */'):
+ comment=False
+ elif line.startswith('/*') or line.startswith(' *'):
+ #print(line)
+ continue
+ else:
+ raise Exception("ERROR: not a comment ? '%s'"% line)
+ else:
+ out += line + "\n"
+ return out
+def remove_comment_python( content ):
+ comment=True
+ out=""
+ for line in content.split('\n'):
+ if comment and line.startswith('#'):
+ continue
+ else:
+ comment = False
+ out += line + "\n"
+ return out
+
+def check_file( path ):
+ root, f = os.path.split(path)
+ if f in ['.clang-tidy', '.clang-format']:
+ print("Skipping file: {}".format(path))
+ return
+
+ with open(path, 'r', encoding='utf-8') as fd:
+ content = fd.read()
+ _, extension = os.path.splitext(f)
+
+ if extension in ['.cpp', '.h', '.hpp', '.inl', '.cl', '.in', '.cs']:
+ if not content.startswith('/*'):
+ add_cpp_copyright(path, content)
+ elif extension == '.py' or f in ['SConstruct', 'SConscript']:
+ if not content.startswith('# Copyright'):
+ add_python_copyright(path, content)
+ elif f == 'CMakeLists.txt':
+ if not content.startswith('# Copyright'):
+ add_python_copyright(path, content)
+ else:
+ raise Exception("Unhandled file: {}".format(path))
+
+if len(sys.argv) > 1:
+ for path in sys.argv[1:]:
+ check_file(path)
+else:
+ for top in ['./arm_compute', './tests','./src','./examples','./utils/','./opencl-1.2-stubs/','./opengles-3.1-stubs/','./support']:
+ for root, _, files in os.walk(top):
+ for f in files:
+ path = os.path.join(root, f)
+ check_file(path)