From: Felix Fietkau Date: Sun, 15 Jul 2007 23:36:02 +0000 (+0000) Subject: properly support dependencies on packages that just use Build/DefaultTargets X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=de2aa28c4cecf4d63c9ed5e057498bf2c046bb69;p=openwrt%2Fstaging%2Fjow.git properly support dependencies on packages that just use Build/DefaultTargets SVN-Revision: 7983 --- diff --git a/include/scan.mk b/include/scan.mk index cd1e47e1a3..9bd0f379da 100644 --- a/include/scan.mk +++ b/include/scan.mk @@ -31,7 +31,7 @@ endef $(FILELIST): rm -f tmp/info/.files-$(SCAN_TARGET)-* - find $(SCAN_DIR) $(SCAN_EXTRA) -mindepth 1 $(if $(SCAN_DEPTH),-maxdepth $(SCAN_DEPTH)) -name Makefile | xargs grep -HE 'call (KernelPackage|Build(Package|Kernel))' | sed -e 's#^$(SCAN_DIR)/##' -e 's#/Makefile:.*##' | uniq > $@ + find $(SCAN_DIR) $(SCAN_EXTRA) -mindepth 1 $(if $(SCAN_DEPTH),-maxdepth $(SCAN_DEPTH)) -name Makefile | xargs grep -HE 'call (Build/DefaultTargets|KernelPackage|Build(Package|Kernel))' | sed -e 's#^$(SCAN_DIR)/##' -e 's#/Makefile:.*##' | uniq > $@ tmp/info/.files-$(SCAN_TARGET).mk: $(FILELIST) ( \ diff --git a/scripts/metadata.pl b/scripts/metadata.pl index e8a7c1b4a8..46f66446a8 100755 --- a/scripts/metadata.pl +++ b/scripts/metadata.pl @@ -4,6 +4,7 @@ my %preconfig; my %package; my %srcpackage; my %category; +my %subdir; sub get_multiline { my $prefix = shift; @@ -81,6 +82,7 @@ sub parse_package_metadata() { $subdir = $2; $src = $3; $subdir =~ s/^package\///; + $subdir{$src} = $subdir; $srcpackage{$src} = []; undef $pkg; }; @@ -518,14 +520,12 @@ sub gen_package_mk() { $dep =~ s/\+//; my $idx; my $pkg_dep = $package{$dep}; - $pkg_dep or $pkg_dep = $srcpackage{$dep}->[0]; - next unless defined $pkg_dep; next if defined $pkg_dep->{vdepends}; if (defined $pkg_dep->{src}) { ($pkg->{src} ne $pkg_dep->{src}) and $idx = $pkg_dep->{subdir}.$pkg_dep->{src}; - } elsif (defined($pkg_dep) && !defined($ENV{SDK})) { - $idx = $dep; + } elsif (defined($srcpackage{$dep})) { + $idx = $subdir{$dep}.$dep; } undef $idx if $idx =~ /^(kernel)|(base-files)$/; if ($idx) {