From 7922ab6eda2140e43d8d34a2324cc08631cf64d1 Mon Sep 17 00:00:00 2001 From: nbd Date: Sun, 22 Jul 2012 21:00:07 +0000 Subject: build: ensure that reordering of KCONFIG lines are handled properly and that the final result does not depend on the package scan order git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32788 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- scripts/kconfig.pl | 5 ++++- scripts/metadata.pl | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/scripts/kconfig.pl b/scripts/kconfig.pl index 811327353..b91cdf397 100755 --- a/scripts/kconfig.pl +++ b/scripts/kconfig.pl @@ -73,7 +73,10 @@ sub config_add($$$) { my %cfg = %$_; foreach my $config (keys %cfg) { - next if $mod_plus and $config{$config} and $config{$config} eq "y"; + if ($mod_plus and $config{$config}) { + next if $config{$config} eq "y"; + next if $cfg{$config} eq '#undef'; + } $config{$config} = $cfg{$config}; } } diff --git a/scripts/metadata.pl b/scripts/metadata.pl index d250a7197..bd6dbc54a 100755 --- a/scripts/metadata.pl +++ b/scripts/metadata.pl @@ -115,6 +115,7 @@ sub gen_kconfig_overrides() { $val = $2; } if ($config{"CONFIG_PACKAGE_$package"} and ($config ne 'n')) { + next if $kconfig{$config} eq 'y'; $kconfig{$config} = $val; } elsif (!$override) { $kconfig{$config} or $kconfig{$config} = 'n'; -- cgit v1.2.3