From bff0b0c6a3926ad88e6a837609a9f09cbf41e319 Mon Sep 17 00:00:00 2001 From: "mcafee%netscape.com" Date: Sat, 4 May 2002 00:17:06 +0000 Subject: [PATCH] Print out visited modules in leaf-first order, first attempt at fixing the build-order problem. git-svn-id: svn://10.0.0.236/trunk@120758 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/tools/module-deps/module-graph.pl | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/mozilla/tools/module-deps/module-graph.pl b/mozilla/tools/module-deps/module-graph.pl index 41db1c4d6bb..ee281e92bcf 100755 --- a/mozilla/tools/module-deps/module-graph.pl +++ b/mozilla/tools/module-deps/module-graph.pl @@ -307,6 +307,7 @@ sub sortby_deps() { # Recursively traverse the deps matrix. # my %visited_nodes; +my @visited_nodes_leaf_first_order; # Store in post-recursion order. sub walk_module_digraph { my ($module, $level) = @_; @@ -334,6 +335,9 @@ sub walk_module_digraph { } } + # Post-recursion. Store in array form so we keep the order. + push(@visited_nodes_leaf_first_order, $module); + if (!$list_only_mode) { if($level == 1) { print "\n"; @@ -346,8 +350,9 @@ sub print_module_deps { # Recursively hunt down dependencies for $opt_start_module walk_module_digraph($opt_start_module, 1); + # Post-recursion version. my $visited_mod; - foreach $visited_mod (sort keys %visited_nodes ) { + foreach $visited_mod (@visited_nodes_leaf_first_order) { print "$visited_mod "; } print "\n";