mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-08-14 15:28:20 +00:00
Don't require the "dot" program if -flat option is given, and don't produce
any of the fancy graphs or other output. Just produce the flat, makefile style output on stdout. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27921 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -23,8 +23,10 @@ while (scalar(@ARGV) and ($_ = $ARGV[0], /^[-+]/)) {
|
|||||||
my $Directory = $ARGV[0];
|
my $Directory = $ARGV[0];
|
||||||
|
|
||||||
# Find the "dot" program
|
# Find the "dot" program
|
||||||
chomp(my $DotPath = `which dot`);
|
if (!$FLAT) {
|
||||||
die "Can't find 'dot'" if (! -x "$DotPath");
|
chomp(my $DotPath = `which dot`);
|
||||||
|
die "Can't find 'dot'" if (! -x "$DotPath");
|
||||||
|
}
|
||||||
|
|
||||||
# Open the directory and read its contents, sorting by name and differentiating
|
# Open the directory and read its contents, sorting by name and differentiating
|
||||||
# by whether its a library (.a) or an object file (.o)
|
# by whether its a library (.a) or an object file (.o)
|
||||||
@@ -102,9 +104,9 @@ sub gen_one_entry {
|
|||||||
$suffix = substr($_,length($_)-1,1);
|
$suffix = substr($_,length($_)-1,1);
|
||||||
$_ =~ s/(.*)\.[oa]/$1/;
|
$_ =~ s/(.*)\.[oa]/$1/;
|
||||||
if ($suffix eq "a") {
|
if ($suffix eq "a") {
|
||||||
print DOT "$lib_ns -> $_ [ weight=0 ];\n";
|
if (!$FLAT) { print DOT "$lib_ns -> $_ [ weight=0 ];\n" };
|
||||||
} else {
|
} else {
|
||||||
print DOT "$lib_ns -> $_ [ weight=10];\n";
|
if (!$FLAT) { print DOT "$lib_ns -> $_ [ weight=10];\n" };
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
close DF;
|
close DF;
|
||||||
@@ -121,34 +123,38 @@ $| = 1;
|
|||||||
|
|
||||||
# Print the definition list tag
|
# Print the definition list tag
|
||||||
if (!$FLAT) {
|
if (!$FLAT) {
|
||||||
print "<dl>\n";
|
print "<dl>\n";
|
||||||
|
|
||||||
|
open DOT, "| $DotPath -Tgif > libdeps.gif";
|
||||||
|
|
||||||
|
print DOT "digraph LibDeps {size=\"40,15\"; ratio=\"1.33333\"; margin=\"0.25\"; rankdir=\"LR\"; mclimit=\"50.0\"; ordering=\"out\"; center=\"1\";\n";
|
||||||
|
print DOT "node [shape=\"box\",color=\"#000088\",fillcolor=\"#FFFACD\",fontcolor=\"#5577DD\",style=\"filled\",fontsize=\"24\"];\n";
|
||||||
|
print DOT "edge [style=\"solid\",color=\"#000088\"];\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
open DOT, "| $DotPath -Tgif > libdeps.gif";
|
|
||||||
|
|
||||||
print DOT "digraph LibDeps {size=\"40,15\"; ratio=\"1.33333\"; margin=\"0.25\"; rankdir=\"LR\"; mclimit=\"50.0\"; ordering=\"out\"; center=\"1\";\n";
|
|
||||||
print DOT "node [shape=\"box\",color=\"#000088\",fillcolor=\"#FFFACD\",fontcolor=\"#5577DD\",style=\"filled\",fontsize=\"24\"];\n";
|
|
||||||
print DOT "edge [style=\"solid\",color=\"#000088\"];\n";
|
|
||||||
# Print libraries first
|
# Print libraries first
|
||||||
foreach $lib (@libs) {
|
foreach $lib (@libs) {
|
||||||
gen_one_entry($lib);
|
gen_one_entry($lib);
|
||||||
}
|
}
|
||||||
print DOT "}\n";
|
|
||||||
close DOT;
|
if (!$FLAT) {
|
||||||
open DOT, "| $DotPath -Tgif > objdeps.gif";
|
print DOT "}\n";
|
||||||
print DOT "digraph ObjDeps {size=\"40,15\"; ratio=\"1.33333\"; margin=\"0.25\"; rankdir=\"LR\"; mclimit=\"50.0\"; ordering=\"out\"; center=\"1\";\n";
|
close DOT;
|
||||||
print DOT "node [shape=\"box\",color=\"#000088\",fillcolor=\"#FFFACD\",fontcolor=\"#5577DD\",style=\"filled\",fontsize=\"24\"];\n";
|
open DOT, "| $DotPath -Tgif > objdeps.gif";
|
||||||
print DOT "edge [style=\"solid\",color=\"#000088\"];\n";
|
print DOT "digraph ObjDeps {size=\"40,15\"; ratio=\"1.33333\"; margin=\"0.25\"; rankdir=\"LR\"; mclimit=\"50.0\"; ordering=\"out\"; center=\"1\";\n";
|
||||||
|
print DOT "node [shape=\"box\",color=\"#000088\",fillcolor=\"#FFFACD\",fontcolor=\"#5577DD\",style=\"filled\",fontsize=\"24\"];\n";
|
||||||
|
print DOT "edge [style=\"solid\",color=\"#000088\"];\n";
|
||||||
|
}
|
||||||
|
|
||||||
# Print objects second
|
# Print objects second
|
||||||
foreach $obj (@objs) {
|
foreach $obj (@objs) {
|
||||||
gen_one_entry($obj);
|
gen_one_entry($obj);
|
||||||
}
|
}
|
||||||
|
|
||||||
print DOT "}\n";
|
if (!$FLAT) {
|
||||||
close DOT;
|
print DOT "}\n";
|
||||||
|
close DOT;
|
||||||
|
|
||||||
# Print end tag of definition list element
|
# Print end tag of definition list element
|
||||||
if (!$FLAT) {
|
|
||||||
print "</dl>\n";
|
print "</dl>\n";
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user