Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

perf doc: Fix doc.dep

The doc.dep dependencies for the Makefile fail to build as
build-docdep.perl is missing. Add this file from git.

Signed-off-by: Ian Rogers <irogers@google.com>
Acked-by: Namhyung Kim <namhyung@kernel.org>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Link: https //lore.kernel.org/r/20210715013343.2286699-3-irogers@google.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

authored by

Ian Rogers and committed by
Arnaldo Carvalho de Melo
a81df63a 6f6e7f06

+46
+46
tools/perf/Documentation/build-docdep.perl
··· 1 + #!/usr/bin/perl 2 + 3 + my %include = (); 4 + my %included = (); 5 + 6 + for my $text (<*.txt>) { 7 + open I, '<', $text || die "cannot read: $text"; 8 + while (<I>) { 9 + if (/^include::/) { 10 + chomp; 11 + s/^include::\s*//; 12 + s/\[\]//; 13 + $include{$text}{$_} = 1; 14 + $included{$_} = 1; 15 + } 16 + } 17 + close I; 18 + } 19 + 20 + # Do we care about chained includes??? 21 + my $changed = 1; 22 + while ($changed) { 23 + $changed = 0; 24 + while (my ($text, $included) = each %include) { 25 + for my $i (keys %$included) { 26 + # $text has include::$i; if $i includes $j 27 + # $text indirectly includes $j. 28 + if (exists $include{$i}) { 29 + for my $j (keys %{$include{$i}}) { 30 + if (!exists $include{$text}{$j}) { 31 + $include{$text}{$j} = 1; 32 + $included{$j} = 1; 33 + $changed = 1; 34 + } 35 + } 36 + } 37 + } 38 + } 39 + } 40 + 41 + while (my ($text, $included) = each %include) { 42 + if (! exists $included{$text} && 43 + (my $base = $text) =~ s/\.txt$//) { 44 + print "$base.html $base.xml : ", join(" ", keys %$included), "\n"; 45 + } 46 + }