Added cscope-find.py utility to generate file list for cscope.
authorSteve Reinhardt <stever@eecs.umich.edu>
Fri, 8 Sep 2006 23:22:25 +0000 (19:22 -0400)
committerSteve Reinhardt <stever@eecs.umich.edu>
Fri, 8 Sep 2006 23:22:25 +0000 (19:22 -0400)
--HG--
extra : convert_revision : 80f2db90f1c2406039d0447b84aa0442b7b974f8

util/cscope-find.py [new file with mode: 0755]

diff --git a/util/cscope-find.py b/util/cscope-find.py
new file mode 100755 (executable)
index 0000000..1775f18
--- /dev/null
@@ -0,0 +1,38 @@
+#! /usr/bin/python
+
+# Generate list of files to index with cscope.
+
+# From the m5 directory, run:
+#    util/cscope-find.py > cscope.files
+#    cscope -b
+
+import os
+
+# absolute paths to skip
+skipdirs = [ 'src/unittest', 'src/doxygen' ]
+
+# suffixes of files to index
+suffixes = [ '.cc', '.hh', '.c', '.h' ]
+
+def oksuffix(f):
+    for s in suffixes:
+        if f.endswith(s):
+            return True
+    return False
+
+for dirpath,subdirs,files in os.walk('src'):
+    # filter out undesirable subdirectories
+    for i,dir in enumerate(subdirs):
+        if dir == 'SCCS':
+            del subdirs[i]
+            break
+
+    # filter out undesriable absolute paths
+    if dirpath in skipdirs:
+        del subdirs[:]
+        continue
+
+    # find C/C++ sources
+    okfiles = [f for f in files if oksuffix(f)]
+    if okfiles:
+        print '\n'.join([os.path.join(dirpath, f) for f in okfiles])