mirror of https://github.com/FFmpeg/FFmpeg.git
Replace the inline awk script with a Perl script which tracks the dependencies recursively. This allows to correctly track dependencies for files including files with a second level include (for example: ffmpeg-devices.texi -> devices.texi -> outdevs.texi). This also adds a dependency on perl for computing the dependencies, which should not be a problem since perl is already required all the way for building documentation.pull/26/merge
parent
37a970bbb6
commit
628ceac652
3 changed files with 25 additions and 3 deletions
@ -0,0 +1,22 @@ |
||||
#! /usr/bin/perl |
||||
|
||||
use warnings; |
||||
use strict; |
||||
|
||||
my ($root, $target) = @ARGV; |
||||
|
||||
sub print_deps { |
||||
my ($file, $deps) = @_; |
||||
$deps->{$file} = 1; |
||||
|
||||
open(my $fh, "$file") or die "Cannot open file '$file': $!"; |
||||
while (<$fh>) { |
||||
/^@(?:verbatim)?include\s+(\S+)/ and do { |
||||
die "Circular dependency found in file $root\n" if exists $deps->{"doc/$1"}; |
||||
print "$target: doc/$1\n"; |
||||
print_deps("doc/$1", {%$deps}); |
||||
} |
||||
} |
||||
} |
||||
|
||||
print_deps($root, {}); |
Loading…
Reference in new issue