aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools/generate_includes_cpp.py
diff options
context:
space:
mode:
Diffstat (limited to 'tools/generate_includes_cpp.py')
-rw-r--r--tools/generate_includes_cpp.py84
1 files changed, 0 insertions, 84 deletions
diff --git a/tools/generate_includes_cpp.py b/tools/generate_includes_cpp.py
deleted file mode 100644
index abea1377d8..0000000000
--- a/tools/generate_includes_cpp.py
+++ /dev/null
@@ -1,84 +0,0 @@
-#!/usr/bin/python
-
-'''
-Copyright 2014 Google Inc.
-
-Use of this source code is governed by a BSD-style license that can be
-found in the LICENSE file.
-'''
-
-import os
-import optparse
-import posixpath
-import re
-
-
-def is_ignored(full_path, ignore_list):
- for ignore_path in ignore_list:
- if re.search(ignore_path, full_path, re.I):
- return True
- return False
-
-
-def find_header_files(include_dirs, ignore_list):
- """Return a list of all '.h' files in top_dir.
-
- Args:
- include_dirs: Paths to the directories within which to recursively search
- for files ending in '.h'
- ignore_list: Paths to both files and directories that are to be excluded
- from the search for headers
-
- Returns:
- A list of all the files inside include_dirs that end in '.h', relative to
- their respective include_dir that are not explicitly ignored.
- """
- headers = []
- for top_dir in include_dirs:
- for filename in os.listdir(top_dir):
- full_path = posixpath.join(top_dir, filename)
- if is_ignored(full_path, ignore_list):
- continue
- elif os.path.isdir(full_path):
- nested_headers = find_header_files([full_path], ignore_list)
- for nested_header in nested_headers:
- headers.append(os.path.join(filename, nested_header))
- elif filename.endswith('.h'):
- headers.append(filename)
- return headers
-
-
-def GenerateIncludeCPP(output_file, include_dirs, ignore_list):
- headers = find_header_files(include_dirs, ignore_list)
-
- # Emit resulting source file.
- with open(os.path.join(os.getcwd(), output_file), "w+") as output:
- for header in headers:
- output.write("#include <%s>\n" % header)
-
-
-def main():
- parser = optparse.OptionParser()
- parser.add_option("--ignore", action="store", type="string", dest="ignore",
- help="file to write the processed sources array to.")
- parser.set_usage("""generate_include_cpp out.cpp include_dir
- out.cpp: C++ code to be generated.
- include_dirs: directories to traverse for include files""")
- (options, args) = parser.parse_args()
-
- # The MSVS gyp generator uses windows path separators so we intercept those
- # strings and normalize them to our expected posix representation
- include_dirs = []
- for include_dir in args[1:]:
- include_dirs.append(include_dir.replace("\\", "/"))
- ignore_list = options.ignore.replace("\\", "/")
-
- # We can strip off the relative portion of the path to ensure that when we
- # compare for regex matches we don't fail based on relative path depth
- ignore_list = ignore_list.replace("../", "")
-
- GenerateIncludeCPP(args[0], include_dirs, ignore_list.split())
-
-
-if __name__ == "__main__":
- main()