summaryrefslogtreecommitdiff
path: root/target/sdk/convert-config.pl
blob: 243de0b87b419376962961bfbeef1408b9aafe46 (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
#!/usr/bin/env perl
use strict;

print <<EOF;
config ALL
	bool
	default y

EOF

while (<>) {
	chomp;
	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
}