ASR_BASE
Change-Id: Icf3719cc0afe3eeb3edc7fa80a2eb5199ca9dda1
diff --git a/target/sdk/convert-config.pl b/target/sdk/convert-config.pl
new file mode 100755
index 0000000..08189df
--- /dev/null
+++ b/target/sdk/convert-config.pl
@@ -0,0 +1,65 @@
+#!/usr/bin/env perl
+use strict;
+
+while (<>) {
+ my $match;
+ my $var;
+ my $val;
+ my $type;
+ chomp;
+ next if /^CONFIG_SIGNED_PACKAGES/;
+
+ if (/^CONFIG_((BINARY)|(DOWNLOAD))_FOLDER=(.*)$/) {
+ # We don't want to preserve the build setting of
+ # BINARY_FOLDER and DOWNLOAD_FOLDER.
+ $var = "$1_FOLDER";
+ $val = '""';
+ $type = "string";
+ } elsif (/^CONFIG_([^=]+)=(.*)$/) {
+ $var = $1;
+ $val = $2;
+
+ 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";
+ } else {
+ # 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";
+ }
+ }
+
+ if (($var ne '') && ($type ne '') && ($val ne '')) {
+ print <<EOF;
+config $var
+ $type
+ default $val
+
+EOF
+ }
+}