diff options
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 a665361..484d420 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($$) { |