diff options
author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2007-07-18 11:53:25 +0000 |
---|---|---|
committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2007-07-18 11:53:25 +0000 |
commit | 962cb816e27b2a385c51e82df8f6bb4cb58cd0f3 (patch) | |
tree | 0117892f5b4fcd96078e6ad1071d00255bcbcf16 | |
parent | ca4c77e037cf3814a6d9497dab4e02139a4b485c (diff) |
allow kconfig symbols to be shared between packages
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@8029 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rwxr-xr-x | scripts/metadata.pl | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/scripts/metadata.pl b/scripts/metadata.pl index a665361da..484d4205f 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($$) { |