diff --git a/target/sdk/Makefile b/target/sdk/Makefile index 2318f4d09b396dc7bbabd759be56e61658061b4e..376aef8eb0f5430e968dfbe763cf04d82e9440ba 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 0000000000000000000000000000000000000000..9fd2c362e6b2ea5b3c4e1fc69747e91b1ffe1d24 --- /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 214466b5b27df881d3699081a9682f2838f70266..4a2f12e74fc4e21c50f33813e326a6a9a6427753 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"