X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fopenwrt.git;a=blobdiff_plain;f=target%2Fsdk%2Fconvert-config.pl;h=f73744af099d2966b1ecacca35483c72b90ec7c6;hp=9fd2c362e6b2ea5b3c4e1fc69747e91b1ffe1d24;hb=538127cf981e0f7f71a75b365d95575b0f7263e1;hpb=cedfe135ab102ac2f8390dd82b496de3c383d3cc diff --git a/target/sdk/convert-config.pl b/target/sdk/convert-config.pl index 9fd2c362e6..f73744af09 100755 --- a/target/sdk/convert-config.pl +++ b/target/sdk/convert-config.pl @@ -2,30 +2,58 @@ use strict; while (<>) { + my $match; + my $var; + my $val; + my $type; chomp; - next unless /^CONFIG_([^=]+)=(.*)$/; + next if /^CONFIG_SIGNED_PACKAGES/; - my $var = $1; - my $val = $2; - my $type; + if (/^CONFIG_([^=]+)=(.*)$/) { + $var = $1; + $val = $2; - if ($val eq 'y') { + next if $var eq 'ALL'; + + if ($val eq 'y') { + $type = "bool"; + } elsif ($val eq 'm') { + $type = "tristate"; + } elsif ($val =~ /^".*"$/) { + $type = "string"; + } elsif ($val =~ /^\d+$/) { + $type = "int"; + } else { + warn "WARNING: no type found for symbol CONFIG_$var=$val\n"; + next; + } + } elsif (/^# CONFIG_BUSYBOX_(.*) is not set/) { + $var = "BUSYBOX_$1"; + $val = 'n'; $type = "bool"; - } elsif ($val eq 'm') { - $type = "tristate"; - } elsif ($val =~ /^".*"$/) { - $type = "string"; - } elsif ($val =~ /^\d+$/) { - $type = "int"; } else { - warn "WARNING: no type found for symbol CONFIG_$var=$val\n"; - next; + # We don't want to preserve a record of deselecting + # packages because we may want build them in the SDK. + # non-package configs however may be important to preserve + # the same compilation settings for packages that get + # recompiled in the SDK. + # Also we want avoid preserving image generation settings + # because we set those while in ImageBuilder + next if /^(# )?CONFIG_PACKAGE/; + next if /^(# )?CONFIG_TARGET/; + if (/^# CONFIG_(.*) is not set/) { + $var = $1; + $val = 'n'; + $type = "bool"; + } } - print <