X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fstaging%2Flynxis%2Fomap.git;a=blobdiff_plain;f=scripts%2Fpackage-metadata.pl;fp=scripts%2Fpackage-metadata.pl;h=f8f16f07fa8bb67a037e86473233343e7d2ced0a;hp=1a4f103810a6b66a620377f18199a84d4d971601;hb=12d15fa8a5096913927d75958d0ed3af9d963e73;hpb=5e0441aaf0531e18222093e4084f4795fcba2343 diff --git a/scripts/package-metadata.pl b/scripts/package-metadata.pl index 1a4f103810..f8f16f07fa 100755 --- a/scripts/package-metadata.pl +++ b/scripts/package-metadata.pl @@ -176,8 +176,21 @@ sub mconf_depends { next if $package{$depend} and $package{$depend}->{buildonly}; if ($flags =~ /\+/) { if ($vdep = $package{$depend}->{vdepends}) { - my @vdeps = @$vdep; - $depend = shift @vdeps; + my @vdeps; + $depend = undef; + + foreach my $v (@$vdep) { + if ($package{$v} && $package{$v}->{variant_default}) { + $depend = $v; + } else { + push @vdeps, $v; + } + } + + if (!$depend) { + $depend = shift @vdeps; + } + if (@vdeps > 1) { $condition = ($condition ? "$condition && " : '') . '!('.join("||", map { "PACKAGE_".$_ } @vdeps).')'; } elsif (@vdeps > 0) {