diff options
author | Felix Fietkau <nbd@openwrt.org> | 2008-06-11 01:36:08 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2008-06-11 01:36:08 +0000 |
commit | 46e3535d08baf2508ef7d9fef60d568ed3cb0052 (patch) | |
tree | 1a79051ae3ce5724a913264f1c1983f942050319 /scripts/metadata.pl | |
parent | 51bc4434dda9501f2f4aae7f0a103992036b1201 (diff) | |
download | mtk-20170518-46e3535d08baf2508ef7d9fef60d568ed3cb0052.zip mtk-20170518-46e3535d08baf2508ef7d9fef60d568ed3cb0052.tar.gz mtk-20170518-46e3535d08baf2508ef7d9fef60d568ed3cb0052.tar.bz2 |
fix some previously ignored build dependencies (for example, uci->lua)
SVN-Revision: 11429
Diffstat (limited to 'scripts/metadata.pl')
-rwxr-xr-x | scripts/metadata.pl | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/scripts/metadata.pl b/scripts/metadata.pl index 50d636a..bd1a40a 100755 --- a/scripts/metadata.pl +++ b/scripts/metadata.pl @@ -502,11 +502,21 @@ sub gen_package_mk() { foreach my $name (sort {uc($a) cmp uc($b)} keys %package) { my $config; my $pkg = $package{$name}; + my @srcdeps; next if defined $pkg->{vdepends}; next if $done{$pkg->{src}}; $done{$pkg->{src}} = 1; + foreach my $spkg (@{$srcpackage{$pkg->{src}}}) { + foreach my $dep (@{$spkg->{depends}}, @{$spkg->{builddepends}}) { + $dep =~ /@/ or do { + $dep =~ s/\+//g; + push @srcdeps, $dep; + }; + } + } + if ($ENV{SDK}) { $conf{$pkg->{src}} or do { $config = 'm'; @@ -522,9 +532,7 @@ sub gen_package_mk() { my $hasdeps = 0; my $depline = ""; - foreach my $deps (@{$pkg->{depends}}, @{$pkg->{builddepends}}) { - next if $deps =~ /@/; - $deps =~ s/\+//; + foreach my $deps (@srcdeps) { my $idx; my $pkg_dep = $package{$deps}; my @deps; @@ -544,10 +552,12 @@ sub gen_package_mk() { } undef $idx if $idx =~ /^(kernel)|(base-files)$/; if ($idx) { - next if $dep{$pkg->{src}."->".$idx}; next if $pkg->{src} eq $pkg_dep->{src}; + next if $dep{$pkg->{src}."->".$idx}; + next if $dep{$pkg->{src}."->($dep)".$idx}; if ($pkg_dep->{vdepends}) { $depline .= " \$(if \$(CONFIG_PACKAGE_$dep),\$(curdir)/$idx/compile)"; + $dep{$pkg->{src}."->($dep)".$idx} = 1; } else { $depline .= " \$(curdir)/$idx/compile"; $dep{$pkg->{src}."->".$idx} = 1; |