From 6ff3b19ee6120edf015fad8caab2991faa3070af Mon Sep 17 00:00:00 2001 From: Anthony Barbier Date: Mon, 4 Sep 2017 18:44:23 +0100 Subject: COMPMID-344 Updated doxygen Change-Id: I32f7b84daa560e460b77216add529c8fa8b327ae --- scripts/include_functions_kernels.py | 64 ++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100755 scripts/include_functions_kernels.py (limited to 'scripts/include_functions_kernels.py') diff --git a/scripts/include_functions_kernels.py b/scripts/include_functions_kernels.py new file mode 100755 index 0000000000..9f566cbc1a --- /dev/null +++ b/scripts/include_functions_kernels.py @@ -0,0 +1,64 @@ +#!/usr/bin/env python3.5 + +import glob +import collections +import os + +Target = collections.namedtuple('Target', 'name prefix') + +targets = [Target("NEON", "NE"), Target("CL", "CL"), Target("CPP", "CPP")] + +armcv_path = "arm_compute" +core_path = armcv_path + "/core/" +runtime_path = armcv_path + "/runtime/" +include_str = "#include \"" + + +def read_file(file): + with open(file, "r") as f: + lines = f.readlines() + return lines + + +def write_file(file, lines): + with open(file, "w") as f: + for line in lines: + f.write(line) + + +def remove_existing_includes(lines): + first_pos = next(i for i, line in enumerate(lines) if include_str in line) + return [x for x in lines if not x.startswith(include_str)], first_pos + + +def add_updated_includes(lines, pos, includes): + lines[pos:pos] = includes + return lines + + +def create_include_list(folder): + files_path = folder + "/*.h" + files = glob.glob(files_path) + updated_files = [include_str + folder + "/" + x.rsplit('/',1)[1] + "\"\n" for x in files] + updated_files.sort() + return updated_files + + +def include_components(path, header_prefix, folder): + for t in targets: + target_path = path + t.name + "/" + components_file = target_path + t.prefix + header_prefix + if os.path.exists(components_file): + include_list = create_include_list(target_path + folder) + lines = read_file(components_file) + lines, first_pos = remove_existing_includes(lines) + lines = add_updated_includes(lines, first_pos, include_list) + write_file(components_file, lines) + + +if __name__ == "__main__": + # Include kernels + include_components(core_path, "Kernels.h", "kernels") + + # Include functions + include_components(runtime_path, "Functions.h", "functions") -- cgit v1.2.1