From 9ed76c6c5c63f0923dc70dd7c7f99f9d1c648489 Mon Sep 17 00:00:00 2001 From: nbd Date: Sun, 15 Jul 2007 23:36:02 +0000 Subject: [PATCH] properly support dependencies on packages that just use Build/DefaultTargets git-svn-id: svn://svn.openwrt.org/openwrt/trunk@7983 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- include/scan.mk | 2 +- scripts/metadata.pl | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/include/scan.mk b/include/scan.mk index cd1e47e1a..9bd0f379d 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 e8a7c1b4a..46f66446a 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) {