define extra config symbols for targets containing multiple subtargets

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@8724 3c298f89-4303-0410-b956-a3cf2f4a3e73
master
Felix Fietkau 2007-09-09 22:39:10 +00:00
parent 4d1536df48
commit 2286814531
1 changed files with 26 additions and 7 deletions

View File

@ -5,6 +5,7 @@ my %package;
my %srcpackage;
my %category;
my %subdir;
my %board;
sub get_multiline {
my $prefix = shift;
@ -18,21 +19,28 @@ sub get_multiline {
return $str;
}
sub confstr($) {
my $conf = shift;
$conf =~ tr#/\.\-/#___#;
return $conf;
}
sub parse_target_metadata() {
my ($target, @target, $profile);
while (<>) {
chomp;
/^Target:\s*(.+)\s*$/ and do {
my $conf = $1;
$conf =~ tr#/\.\-/#___#;
$target = {
id => $1,
conf => $conf,
conf => confstr($1),
profiles => []
};
push @target, $target;
};
/^Target-Board:\s*(.+)\s*$/ and $target->{board} = $1;
/^Target-Board:\s*(.+)\s*$/ and do {
$target->{board} = $1;
$target->{boardconf} = confstr($1);
};
/^Target-Kernel:\s*(\d+\.\d+)\s*$/ and $target->{kernel} = $1;
/^Target-Name:\s*(.+)\s*$/ and $target->{name} = $1;
/^Target-Path:\s*(.+)\s*$/ and $target->{path} = $1;
@ -247,14 +255,16 @@ EOF
undef $help;
}
print <<EOF
print <<EOF;
config TARGET_$target->{conf}
bool "$target->{name}"
select $target->{arch}
select LINUX_$kernel
$features$help
EOF
if ($target->{id} ne $target->{board}) {
print "\tselect TARGET_".$target->{boardconf}."\n";
}
print "$features$help\n\n"
}
print <<EOF;
@ -266,6 +276,15 @@ EOF
foreach my $target (@target) {
print "\t\tdefault \"".$target->{board}."\" if TARGET_".$target->{conf}."\n";
}
# add hidden target config options
foreach my $target (@target) {
next if $board{$target->{board}};
if ($target->{id} ne $target->{board}) {
print "\nconfig TARGET_".$target->{boardconf}."\n\tbool\n";
$board{$target->{board}} = 1;
}
}
print <<EOF;
choice