mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2025-02-17 16:24:43 +02:00
consider virtual dependencies (generated by using PROVIDES:=) when generating the build dependencies (fixes python build dependency errors)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@11428 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
7bf7027431
commit
59f2b19172
@ -495,6 +495,7 @@ EOF
|
|||||||
sub gen_package_mk() {
|
sub gen_package_mk() {
|
||||||
my %conf;
|
my %conf;
|
||||||
my %dep;
|
my %dep;
|
||||||
|
my %done;
|
||||||
my $line;
|
my $line;
|
||||||
|
|
||||||
parse_package_metadata($ARGV[0]) or exit 1;
|
parse_package_metadata($ARGV[0]) or exit 1;
|
||||||
@ -503,6 +504,9 @@ sub gen_package_mk() {
|
|||||||
my $pkg = $package{$name};
|
my $pkg = $package{$name};
|
||||||
|
|
||||||
next if defined $pkg->{vdepends};
|
next if defined $pkg->{vdepends};
|
||||||
|
next if $done{$pkg->{src}};
|
||||||
|
$done{$pkg->{src}} = 1;
|
||||||
|
|
||||||
if ($ENV{SDK}) {
|
if ($ENV{SDK}) {
|
||||||
$conf{$pkg->{src}} or do {
|
$conf{$pkg->{src}} or do {
|
||||||
$config = 'm';
|
$config = 'm';
|
||||||
@ -518,13 +522,21 @@ sub gen_package_mk() {
|
|||||||
|
|
||||||
my $hasdeps = 0;
|
my $hasdeps = 0;
|
||||||
my $depline = "";
|
my $depline = "";
|
||||||
foreach my $dep (@{$pkg->{depends}}, @{$pkg->{builddepends}}) {
|
foreach my $deps (@{$pkg->{depends}}, @{$pkg->{builddepends}}) {
|
||||||
next if $dep =~ /@/;
|
next if $deps =~ /@/;
|
||||||
$dep =~ s/\+//;
|
$deps =~ s/\+//;
|
||||||
my $idx;
|
my $idx;
|
||||||
my $pkg_dep = $package{$dep};
|
my $pkg_dep = $package{$deps};
|
||||||
next if defined $pkg_dep->{vdepends};
|
my @deps;
|
||||||
|
|
||||||
|
if ($pkg_dep->{vdepends}) {
|
||||||
|
@deps = @{$pkg_dep->{vdepends}};
|
||||||
|
} else {
|
||||||
|
@deps = ($deps);
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach my $dep (@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}) and $idx = $pkg_dep->{subdir}.$pkg_dep->{src};
|
||||||
} elsif (defined($srcpackage{$dep})) {
|
} elsif (defined($srcpackage{$dep})) {
|
||||||
@ -533,10 +545,16 @@ sub gen_package_mk() {
|
|||||||
undef $idx if $idx =~ /^(kernel)|(base-files)$/;
|
undef $idx if $idx =~ /^(kernel)|(base-files)$/;
|
||||||
if ($idx) {
|
if ($idx) {
|
||||||
next if $dep{$pkg->{src}."->".$idx};
|
next if $dep{$pkg->{src}."->".$idx};
|
||||||
|
next if $pkg->{src} eq $pkg_dep->{src};
|
||||||
|
if ($pkg_dep->{vdepends}) {
|
||||||
|
$depline .= " \$(if \$(CONFIG_PACKAGE_$dep),\$(curdir)/$idx/compile)";
|
||||||
|
} else {
|
||||||
$depline .= " \$(curdir)/$idx/compile";
|
$depline .= " \$(curdir)/$idx/compile";
|
||||||
$dep{$pkg->{src}."->".$idx} = 1;
|
$dep{$pkg->{src}."->".$idx} = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
if ($depline) {
|
if ($depline) {
|
||||||
$line .= "\$(curdir)/".$pkg->{subdir}."$pkg->{src}/compile += $depline\n";
|
$line .= "\$(curdir)/".$pkg->{subdir}."$pkg->{src}/compile += $depline\n";
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user