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>

SVN-Revision: 39864
This commit is contained in:
Felix Fietkau 2014-03-10 18:58:49 +00:00
parent 23df56c490
commit cedfe135ab
3 changed files with 33 additions and 0 deletions

View file

@ -64,6 +64,7 @@ $(BIN_DIR)/$(SDK_NAME).tar.bz2: clean
rm -rf \ rm -rf \
$(SDK_BUILD_DIR)/target/linux/*/files* \ $(SDK_BUILD_DIR)/target/linux/*/files* \
$(SDK_BUILD_DIR)/target/linux/*/patches* $(SDK_BUILD_DIR)/target/linux/*/patches*
./convert-config.pl $(TOPDIR)/.config > $(SDK_BUILD_DIR)/Config-build.in
$(CP) -L \ $(CP) -L \
$(TOPDIR)/LICENSE \ $(TOPDIR)/LICENSE \
$(TOPDIR)/rules.mk \ $(TOPDIR)/rules.mk \

31
target/sdk/convert-config.pl Executable file
View file

@ -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
}

View file

@ -1 +1,2 @@
source "Config-build.in"
source "tmp/.config-package.in" source "tmp/.config-package.in"