projects
/
openwrt.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add macosx fix from #1407
[openwrt.git]
/
scripts
/
gen_deps.pl
diff --git
a/scripts/gen_deps.pl
b/scripts/gen_deps.pl
index
e7daf18
..
0fc80aa
100755
(executable)
--- a/
scripts/gen_deps.pl
+++ b/
scripts/gen_deps.pl
@@
-14,7
+14,6
@@
my $makefile;
my %conf;
my %pkg;
my %prereq;
my %conf;
my %pkg;
my %prereq;
-my $prereq;
my %dep;
my %options;
my $opt;
my %dep;
my %options;
my $opt;
@@
-29,15
+28,22
@@
while ($line = <>) {
$line =~ /^Source-Makefile: \s*(.+\/([^\/]+)\/Makefile)\s*$/ and do {
$makefile = $1;
$src = $2;
$line =~ /^Source-Makefile: \s*(.+\/([^\/]+)\/Makefile)\s*$/ and do {
$makefile = $1;
$src = $2;
+ defined $pkg{$src} or $pkg{$src} = {};
+ $pkg{$src}->{src} = $src;
};
$line =~ /^Package: \s*(.+)\s*$/ and do {
$name = $1;
defined $pkg{$name} or $pkg{$name} = {};
$pkg{$name}->{src} = $src;
};
};
$line =~ /^Package: \s*(.+)\s*$/ and do {
$name = $1;
defined $pkg{$name} or $pkg{$name} = {};
$pkg{$name}->{src} = $src;
};
+ $line =~ /^Provides: \s*(.+)\s*$/ and do {
+ foreach my $vpkg (split /\s+/, $1) {
+ defined $pkg{$vpkg} or $pkg{$vpkg} = {};
+ $pkg{$vpkg}->{virtual} = 1;
+ }
+ };
$line =~ /^Prereq-Check:/ and !defined $prereq{$src} and do {
$line =~ /^Prereq-Check:/ and !defined $prereq{$src} and do {
- $prereq{$src} = 1;
- $prereq .= "package-prereq += $src\n";
+ $pkg{$name}->{prereq} = 1;
};
$line =~ /^(Build-)?Depends: \s*(.+)\s*$/ and do {
$pkg{$name}->{depends} ||= [];
};
$line =~ /^(Build-)?Depends: \s*(.+)\s*$/ and do {
$pkg{$name}->{depends} ||= [];
@@
-52,17
+58,27
@@
while ($line = <>) {
$line="";
foreach $name (sort {uc($a) cmp uc($b)} keys %pkg) {
$line="";
foreach $name (sort {uc($a) cmp uc($b)} keys %pkg) {
+ my $config;
+
+ next if defined $pkg{$name}->{virtual};
if ($options{SDK}) {
if ($options{SDK}) {
- $conf{$pkg{$name}->{src}} or print "package-m += $pkg{$name}->{src}\n";
- $conf{$pkg{$name}->{src}} = 1;
+ $conf{$pkg{$name}->{src}} or do {
+ $config = 'm';
+ $conf{$pkg{$name}->{src}} = 1;
+ };
} else {
} else {
- print "package-\$(CONFIG_PACKAGE_$name) += $pkg{$name}->{src}\n";
+ $config = "\$(CONFIG_PACKAGE_$name)"
+ }
+ if ($config) {
+ print "package-$config += $pkg{$name}->{src}\n";
+ $pkg{$name}->{prereq} and print "prereq-$config += $pkg{$name}->{src}\n";
}
my $hasdeps = 0;
my $depline = "";
foreach my $dep (@{$pkg{$name}->{depends}}) {
my $idx;
}
my $hasdeps = 0;
my $depline = "";
foreach my $dep (@{$pkg{$name}->{depends}}) {
my $idx;
+ next if defined $pkg{$dep}->{virtual};
if (defined $pkg{$dep}->{src}) {
($pkg{$name}->{src} ne $pkg{$dep}->{src}) and $idx = $pkg{$dep}->{src};
} elsif (defined($pkg{$dep}) && !$options{SDK}) {
if (defined $pkg{$dep}->{src}) {
($pkg{$name}->{src} ne $pkg{$dep}->{src}) and $idx = $pkg{$dep}->{src};
} elsif (defined($pkg{$dep}) && !$options{SDK}) {
@@
-81,5
+97,5
@@
foreach $name (sort {uc($a) cmp uc($b)} keys %pkg) {
}
if ($line ne "") {
}
if ($line ne "") {
- print "\n$line
\n$prereq
";
+ print "\n$line";
}
}
This page took
0.020808 seconds
and
4
git commands to generate.