summaryrefslogtreecommitdiff
path: root/target/sdk/convert-config.pl
blob: e701b42eb93af249a3c59c0d12235806b1e82e51 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#!/usr/bin/env perl
use strict;

print <<EOF;
config ALL
	bool
	default y

EOF

while (<>) {
	chomp;
	next if /^CONFIG_SIGNED_PACKAGES/;
	next unless /^CONFIG_([^=]+)=(.*)$/;

	my $var = $1;
	my $val = $2;
	my $type;

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

	print <<EOF;
config $var
	$type
	default $val

EOF
}