gendepend improvements; refs #5144
This commit is contained in:
parent
d54539a648
commit
4910a87c6f
2 changed files with 9 additions and 1 deletions
|
|
@ -24,7 +24,7 @@ type
|
|||
var gDotGraph: Rope # the generated DOT file; we need a global variable
|
||||
|
||||
proc addDependencyAux(importing, imported: string) =
|
||||
addf(gDotGraph, "$1 -> $2;$n", [rope(importing), rope(imported)])
|
||||
addf(gDotGraph, "$1 -> \"$2\";$n", [rope(importing), rope(imported)])
|
||||
# s1 -> s2_4[label="[0-9]"];
|
||||
|
||||
proc addDotDependency(c: PPassContext, n: PNode): PNode =
|
||||
|
|
|
|||
|
|
@ -31,11 +31,19 @@ proc semanticPasses =
|
|||
registerPass verbosePass
|
||||
registerPass semPass
|
||||
|
||||
proc writeDepsFile(g: ModuleGraph; project: string) =
|
||||
let f = open(changeFileExt(project, "deps"), fmWrite)
|
||||
for m in g.modules:
|
||||
if m != nil:
|
||||
f.writeLine(toFullPath(m.position.int32))
|
||||
f.close()
|
||||
|
||||
proc commandGenDepend(graph: ModuleGraph; cache: IdentCache) =
|
||||
semanticPasses()
|
||||
registerPass(gendependPass)
|
||||
#registerPass(cleanupPass)
|
||||
compileProject(graph, cache)
|
||||
writeDepsFile(graph, gProjectFull)
|
||||
generateDot(gProjectFull)
|
||||
execExternalProgram("dot -Tpng -o" & changeFileExt(gProjectFull, "png") &
|
||||
' ' & changeFileExt(gProjectFull, "dot"))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue