mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2024-12-28 14:13:21 +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:
parent
5a9f6424a6
commit
6c4ec74f32
@ -560,7 +560,7 @@ sub gen_package_mk() {
|
||||
}
|
||||
|
||||
my $hasdeps = 0;
|
||||
my $depline = "";
|
||||
my %deplines;
|
||||
foreach my $deps (@srcdeps) {
|
||||
my $idx;
|
||||
my $condition;
|
||||
@ -588,9 +588,10 @@ sub gen_package_mk() {
|
||||
}
|
||||
undef $idx if $idx =~ /^(kernel)|(base-files)$/;
|
||||
if ($idx) {
|
||||
my $depline;
|
||||
next if $pkg->{src} eq $pkg_dep->{src};
|
||||
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;
|
||||
|
||||
if ($pkg_dep->{vdepends}) {
|
||||
@ -602,16 +603,20 @@ sub gen_package_mk() {
|
||||
}
|
||||
if ($condition) {
|
||||
if ($condition =~ /^!(.+)/) {
|
||||
$depline .= " \$(if \$(CONFIG_$1),,$depstr)";
|
||||
$depline = "\$(if \$(CONFIG_$1),,$depstr)";
|
||||
} else {
|
||||
$depline .= " \$(if \$(CONFIG_$condition),$depstr)";
|
||||
$depline = "\$(if \$(CONFIG_$condition),$depstr)";
|
||||
}
|
||||
} else {
|
||||
$depline .= " $depstr";
|
||||
$depline = $depstr;
|
||||
}
|
||||
if ($depline) {
|
||||
$deplines{$idx.$dep} = $depline;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
my $depline = join(" ", values %deplines);
|
||||
if ($depline) {
|
||||
$line .= "\$(curdir)/".$pkg->{subdir}."$pkg->{src}/compile += $depline\n";
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user