summaryrefslogtreecommitdiff
path: root/openwrt/scripts
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2006-10-05 12:39:52 +0000
committerFelix Fietkau <nbd@openwrt.org>2006-10-05 12:39:52 +0000
commitca531442afedc94c5916262477d82d89f03c74f4 (patch)
treec331afc7e69b27ea595f35b444f049e0c554b130 /openwrt/scripts
parentd658a1d68a8bb35cbfd779da2ea6327ff8ffe19e (diff)
downloadmtk-20170518-ca531442afedc94c5916262477d82d89f03c74f4.zip
mtk-20170518-ca531442afedc94c5916262477d82d89f03c74f4.tar.gz
mtk-20170518-ca531442afedc94c5916262477d82d89f03c74f4.tar.bz2
speed up package prereq check (only run make on those directories that actually contain prereq checks)
SVN-Revision: 4927
Diffstat (limited to 'openwrt/scripts')
-rwxr-xr-xopenwrt/scripts/gen_deps.pl8
1 files changed, 7 insertions, 1 deletions
diff --git a/openwrt/scripts/gen_deps.pl b/openwrt/scripts/gen_deps.pl
index 70c07b7..e7daf18 100755
--- a/openwrt/scripts/gen_deps.pl
+++ b/openwrt/scripts/gen_deps.pl
@@ -13,6 +13,8 @@ my $src;
my $makefile;
my %conf;
my %pkg;
+my %prereq;
+my $prereq;
my %dep;
my %options;
my $opt;
@@ -33,6 +35,10 @@ while ($line = <>) {
defined $pkg{$name} or $pkg{$name} = {};
$pkg{$name}->{src} = $src;
};
+ $line =~ /^Prereq-Check:/ and !defined $prereq{$src} and do {
+ $prereq{$src} = 1;
+ $prereq .= "package-prereq += $src\n";
+ };
$line =~ /^(Build-)?Depends: \s*(.+)\s*$/ and do {
$pkg{$name}->{depends} ||= [];
foreach my $v (split /\s+/, $2) {
@@ -75,5 +81,5 @@ foreach $name (sort {uc($a) cmp uc($b)} keys %pkg) {
}
if ($line ne "") {
- print "\n$line";
+ print "\n$line\n$prereq";
}