Mercurial > codeOptimizer
diff codeOptimizer.py @ 4:3a56cd936c59
Cleanup some code.
Add code for breaking loops in the dependency tree.
| author | Tom Fredrik Blenning Klaussen <bfg@blenning.no> |
|---|---|
| date | Mon, 24 Sep 2012 01:16:43 +0200 |
| parents | f65c2d63ab66 |
| children | 94b1959b0108 |
line wrap: on
line diff
--- a/codeOptimizer.py Sun Sep 16 21:31:41 2012 +0200 +++ b/codeOptimizer.py Mon Sep 24 01:16:43 2012 +0200 @@ -7,30 +7,29 @@ from Config import Config +def usage(name): + print "Usage is:\n\t%s <xml configuration file> [files for analysis]" % name -def isHppfile(name): - if name.endswith(".hpp"): - return True - if name.endswith(".h"): - return True - return False - -def isCppfile(name): - if name.endswith(".cpp"): - return True - return False +if len(sys.argv) < 2: + usage(sys.argv[0]) + sys.exit(1) try: options = Config(sys.argv[1]) except: print sys.argv[1] + ' is not a valid xml file' + sys.exit(1) + infiles = sys.argv[2:] +if not infiles: + infiles = options.getFiles() + files = {} unknown = [] for file in infiles: - if isHppfile(file) or isCppfile(file): + if Compilable.acceptsFile(file): c = Compilable(file) c.setFlags(options.getCxxflags(file)) files[file] = c @@ -47,13 +46,16 @@ depgraph.add(files[file]) for file in files: - depgraph.addDependency(files[file], files[file].dependencies()) + depgraph.addDependency(files[file], + list(files[dep] + for dep in files[file].dependencies())) files = depgraph.directedGraph() +print files for file in files: if not file.worksWithoutModifications(): - print file.path + print files[file].path raise SystemExit(file.path + " does not compile at all") for file in files:
