diff options
author | Felix Fietkau <nbd@openwrt.org> | 2007-07-18 11:53:25 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2007-07-18 11:53:25 +0000 |
commit | b9fd1805472ece509b22bd8a65f740bf96b68bd9 (patch) | |
tree | 6a6dcce3ae6f89a508dd5863899c5e5c002ac424 /scripts | |
parent | a50514c9569230d8f3d0387b8d7beb5ec30a9db5 (diff) | |
download | openwrt-b9fd1805472ece509b22bd8a65f740bf96b68bd9.tar.gz openwrt-b9fd1805472ece509b22bd8a65f740bf96b68bd9.tar.bz2 openwrt-b9fd1805472ece509b22bd8a65f740bf96b68bd9.zip |
allow kconfig symbols to be shared between packages
SVN-Revision: 8029
Diffstat (limited to 'scripts')
-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 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($$) { |