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 | 451983413cdc8e6091d0c2e7a001142fcb3f0b4f (patch) | |
tree | 0117892f5b4fcd96078e6ad1071d00255bcbcf16 /scripts | |
parent | 4f16e37784fe54adfa04792f05f76b22166304fa (diff) | |
download | upstream-451983413cdc8e6091d0c2e7a001142fcb3f0b4f.tar.gz upstream-451983413cdc8e6091d0c2e7a001142fcb3f0b4f.tar.bz2 upstream-451983413cdc8e6091d0c2e7a001142fcb3f0b4f.zip |
allow kconfig symbols to be shared between packages
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@8029 3c298f89-4303-0410-b956-a3cf2f4a3e73
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($$) { |