aboutsummaryrefslogtreecommitdiffstats
path: root/target/sdk
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2014-03-10 18:58:49 +0000
committerFelix Fietkau <nbd@openwrt.org>2014-03-10 18:58:49 +0000
commita9463d966a7956e5ceb6f9de3a2e549302d96abb (patch)
treebe3fd8fedd1c88bf3d6d25d12c36409bbc1105db /target/sdk
parent518922ae58722582e6b32eb20608a9f5d1cfa788 (diff)
downloadupstream-a9463d966a7956e5ceb6f9de3a2e549302d96abb.tar.gz
upstream-a9463d966a7956e5ceb6f9de3a2e549302d96abb.tar.bz2
upstream-a9463d966a7956e5ceb6f9de3a2e549302d96abb.zip
target/sdk: generate a Config.in file with the settings of the build that the SDK was generated from
This allows make oldconfig/menuconfig to run Signed-off-by: Felix Fietkau <nbd@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39864 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/sdk')
-rw-r--r--target/sdk/Makefile1
-rwxr-xr-xtarget/sdk/convert-config.pl31
-rw-r--r--target/sdk/files/Config.in1
3 files changed, 33 insertions, 0 deletions
diff --git a/target/sdk/Makefile b/target/sdk/Makefile
index 2318f4d09b..376aef8eb0 100644
--- a/target/sdk/Makefile
+++ b/target/sdk/Makefile
@@ -64,6 +64,7 @@ $(BIN_DIR)/$(SDK_NAME).tar.bz2: clean
rm -rf \
$(SDK_BUILD_DIR)/target/linux/*/files* \
$(SDK_BUILD_DIR)/target/linux/*/patches*
+ ./convert-config.pl $(TOPDIR)/.config > $(SDK_BUILD_DIR)/Config-build.in
$(CP) -L \
$(TOPDIR)/LICENSE \
$(TOPDIR)/rules.mk \
diff --git a/target/sdk/convert-config.pl b/target/sdk/convert-config.pl
new file mode 100755
index 0000000000..9fd2c362e6
--- /dev/null
+++ b/target/sdk/convert-config.pl
@@ -0,0 +1,31 @@
+#!/usr/bin/env perl
+use strict;
+
+while (<>) {
+ chomp;
+ next unless /^CONFIG_([^=]+)=(.*)$/;
+
+ my $var = $1;
+ my $val = $2;
+ my $type;
+
+ 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;
+ }
+
+ print <<EOF;
+config $var
+ $type
+ default $val
+
+EOF
+}
diff --git a/target/sdk/files/Config.in b/target/sdk/files/Config.in
index 214466b5b2..4a2f12e74f 100644
--- a/target/sdk/files/Config.in
+++ b/target/sdk/files/Config.in
@@ -1 +1,2 @@
+source "Config-build.in"
source "tmp/.config-package.in"