brcm63xx: fix CVG834G compatible string
[openwrt/staging/yousong.git] / target / sdk / convert-config.pl
index 9fd2c362e6b2ea5b3c4e1fc69747e91b1ffe1d24..f73744af099d2966b1ecacca35483c72b90ec7c6 100755 (executable)
@@ -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 <<EOF;
+       if (($var ne '') && ($type ne '') && ($val ne '')) {
+               print <<EOF;
 config $var
        $type
        default $val
 
 EOF
+       }
 }