From: Felix Fietkau Date: Wed, 18 Jul 2007 11:53:25 +0000 (+0000) Subject: allow kconfig symbols to be shared between packages X-Git-Tag: 8.09_rc1~3214 X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=b9fd1805472ece509b22bd8a65f740bf96b68bd9;p=openwrt%2Fsvn-archive%2Fopenwrt.git allow kconfig symbols to be shared between packages SVN-Revision: 8029 --- diff --git a/scripts/metadata.pl b/scripts/metadata.pl index a665361daa..484d4205f4 100755 --- a/scripts/metadata.pl +++ b/scripts/metadata.pl @@ -139,6 +139,7 @@ sub parse_package_metadata() { sub gen_kconfig_overrides() { my %config; + my %kconfig; my $package; my $pkginfo = shift @ARGV; my $cfgfile = shift @ARGV; @@ -158,19 +159,29 @@ sub gen_kconfig_overrides() { my @config = split /\s+/, $1; foreach my $config (@config) { my $val = 'm'; + my $override; if ($config =~ /^(.+?)=(.+)$/) { $config = $1; + $override = 1; $val = $2; } if ($config{"CONFIG_PACKAGE_$package"} and ($config ne 'n')) { - print "$config=$val\n"; - } else { - print "# $config is not set\n"; + $kconfig{$config} = $val; + } elsif (!$override) { + $kconfig{$config} or $kconfig{$config} = 'n'; } } }; }; close FILE; + + foreach my $kconfig (sort keys %kconfig) { + if ($kconfig{$kconfig} eq 'n') { + print "# $kconfig is not set\n"; + } else { + print "$kconfig=$kconfig{$kconfig}\n"; + } + } } sub merge_package_lists($$) {