summaryrefslogtreecommitdiff
path: root/utils/GenLibDeps.pl
diff options
context:
space:
mode:
authorReid Spencer <rspencer@reidspencer.com>2006-04-20 23:09:57 +0000
committerReid Spencer <rspencer@reidspencer.com>2006-04-20 23:09:57 +0000
commit44fa691873265e79b64a8d5fbfdad3a5e442af02 (patch)
tree280bf0063026a770ceb4f859371c0400e0bc8e06 /utils/GenLibDeps.pl
parent7b5db0b59e379adffb3c8012017735c30355b5f1 (diff)
downloadllvm-44fa691873265e79b64a8d5fbfdad3a5e442af02.tar.gz
llvm-44fa691873265e79b64a8d5fbfdad3a5e442af02.tar.bz2
llvm-44fa691873265e79b64a8d5fbfdad3a5e442af02.tar.xz
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
Diffstat (limited to 'utils/GenLibDeps.pl')
-rwxr-xr-xutils/GenLibDeps.pl44
1 files changed, 25 insertions, 19 deletions
diff --git a/utils/GenLibDeps.pl b/utils/GenLibDeps.pl
index d5f1796246..a0f6a62f01 100755
--- a/utils/GenLibDeps.pl
+++ b/utils/GenLibDeps.pl
@@ -23,8 +23,10 @@ while (scalar(@ARGV) and ($_ = $ARGV[0], /^[-+]/)) {
my $Directory = $ARGV[0];
# Find the "dot" program
-chomp(my $DotPath = `which dot`);
-die "Can't find 'dot'" if (! -x "$DotPath");
+if (!$FLAT) {
+ 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
# by whether its a library (.a) or an object file (.o)
@@ -102,9 +104,9 @@ sub gen_one_entry {
$suffix = substr($_,length($_)-1,1);
$_ =~ s/(.*)\.[oa]/$1/;
if ($suffix eq "a") {
- print DOT "$lib_ns -> $_ [ weight=0 ];\n";
+ if (!$FLAT) { print DOT "$lib_ns -> $_ [ weight=0 ];\n" };
} else {
- print DOT "$lib_ns -> $_ [ weight=10];\n";
+ if (!$FLAT) { print DOT "$lib_ns -> $_ [ weight=10];\n" };
}
}
close DF;
@@ -121,34 +123,38 @@ $| = 1;
# Print the definition list tag
if (!$FLAT) {
- print "<dl>\n";
-}
+ print "<dl>\n";
-open DOT, "| $DotPath -Tgif > libdeps.gif";
+ 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 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
foreach $lib (@libs) {
gen_one_entry($lib);
}
-print DOT "}\n";
-close DOT;
-open DOT, "| $DotPath -Tgif > objdeps.gif";
-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";
+
+if (!$FLAT) {
+ print DOT "}\n";
+ close DOT;
+ open DOT, "| $DotPath -Tgif > objdeps.gif";
+ 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
foreach $obj (@objs) {
gen_one_entry($obj);
}
-print DOT "}\n";
-close DOT;
+if (!$FLAT) {
+ print DOT "}\n";
+ close DOT;
# Print end tag of definition list element
-if (!$FLAT) {
print "</dl>\n";
}