fix host dependencies for packages that depend on their own host build

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@14952 3c298f89-4303-0410-b956-a3cf2f4a3e73
master
Felix Fietkau 2009-03-20 12:47:13 +00:00
parent eeb2482839
commit ea7ad3a4f7
1 changed files with 5 additions and 4 deletions

View File

@ -676,23 +676,24 @@ sub gen_package_mk() {
foreach my $dep (@deps) { foreach my $dep (@deps) {
$pkg_dep = $package{$deps}; $pkg_dep = $package{$deps};
if (defined $pkg_dep->{src}) { if (defined $pkg_dep->{src}) {
($pkg->{src} ne $pkg_dep->{src}) and $idx = $pkg_dep->{subdir}.$pkg_dep->{src}; ($pkg->{src} ne $pkg_dep->{src}.$suffix) and $idx = $pkg_dep->{subdir}.$pkg_dep->{src};
} elsif (defined($srcpackage{$dep})) { } elsif (defined($srcpackage{$dep})) {
$idx = $subdir{$dep}.$dep; $idx = $subdir{$dep}.$dep;
} }
$idx .= $suffix;
undef $idx if $idx =~ /^(kernel)|(base-files)$/; undef $idx if $idx =~ /^(kernel)|(base-files)$/;
if ($idx) { if ($idx) {
my $depline; my $depline;
next if $pkg->{src} eq $pkg_dep->{src}; next if $pkg->{src} eq $pkg_dep->{src}.$suffix;
next if $dep{$pkg->{src}."->".$idx}; next if $dep{$pkg->{src}."->".$idx};
next if $dep{$pkg->{src}."->($dep)".$idx} and $pkg_dep->{vdepends}; next if $dep{$pkg->{src}."->($dep)".$idx} and $pkg_dep->{vdepends};
my $depstr; my $depstr;
if ($pkg_dep->{vdepends}) { if ($pkg_dep->{vdepends}) {
$depstr = "\$(if \$(CONFIG_PACKAGE_$dep),\$(curdir)/$idx$suffix/compile)"; $depstr = "\$(if \$(CONFIG_PACKAGE_$dep),\$(curdir)/$idx/compile)";
$dep{$pkg->{src}."->($dep)".$idx} = 1; $dep{$pkg->{src}."->($dep)".$idx} = 1;
} else { } else {
$depstr = "\$(curdir)/$idx$suffix/compile"; $depstr = "\$(curdir)/$idx/compile";
$dep{$pkg->{src}."->".$idx} = 1; $dep{$pkg->{src}."->".$idx} = 1;
} }
$depline = get_conditional_dep($condition, $depstr); $depline = get_conditional_dep($condition, $depstr);