1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-11-27 17:15:00 +02:00

If a package is part of a virtual dependency and also listed as a normal

dependency ensure that the dependency is always unconditional. Such a case
happens if for example a package has a build dependency and the build dependency
provides a virtual install dependency of the package.


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@13877 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
lars 2009-01-05 20:02:59 +00:00
parent 5a9f6424a6
commit 6c4ec74f32

View File

@ -560,7 +560,7 @@ sub gen_package_mk() {
} }
my $hasdeps = 0; my $hasdeps = 0;
my $depline = ""; my %deplines;
foreach my $deps (@srcdeps) { foreach my $deps (@srcdeps) {
my $idx; my $idx;
my $condition; my $condition;
@ -588,9 +588,10 @@ sub gen_package_mk() {
} }
undef $idx if $idx =~ /^(kernel)|(base-files)$/; undef $idx if $idx =~ /^(kernel)|(base-files)$/;
if ($idx) { if ($idx) {
my $depline;
next if $pkg->{src} eq $pkg_dep->{src}; next if $pkg->{src} eq $pkg_dep->{src};
next if $dep{$pkg->{src}."->".$idx}; next if $dep{$pkg->{src}."->".$idx};
next if $dep{$pkg->{src}."->($dep)".$idx}; next if $dep{$pkg->{src}."->($dep)".$idx} and $pkg_dep->{vdepends};
my $depstr; my $depstr;
if ($pkg_dep->{vdepends}) { if ($pkg_dep->{vdepends}) {
@ -602,16 +603,20 @@ sub gen_package_mk() {
} }
if ($condition) { if ($condition) {
if ($condition =~ /^!(.+)/) { if ($condition =~ /^!(.+)/) {
$depline .= " \$(if \$(CONFIG_$1),,$depstr)"; $depline = "\$(if \$(CONFIG_$1),,$depstr)";
} else { } else {
$depline .= " \$(if \$(CONFIG_$condition),$depstr)"; $depline = "\$(if \$(CONFIG_$condition),$depstr)";
} }
} else { } else {
$depline .= " $depstr"; $depline = $depstr;
}
if ($depline) {
$deplines{$idx.$dep} = $depline;
} }
} }
} }
} }
my $depline = join(" ", values %deplines);
if ($depline) { if ($depline) {
$line .= "\$(curdir)/".$pkg->{subdir}."$pkg->{src}/compile += $depline\n"; $line .= "\$(curdir)/".$pkg->{subdir}."$pkg->{src}/compile += $depline\n";
} }