Changeset 8724


Ignore:
Timestamp:
2007-09-10T00:39:10+02:00 (10 years ago)
Author:
nbd
Message:

define extra config symbols for targets containing multiple subtargets

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/scripts/metadata.pl

    r8694 r8724  
    66my %category; 
    77my %subdir; 
     8my %board; 
    89 
    910sub get_multiline { 
     
    1920} 
    2021 
     22sub confstr($) { 
     23        my $conf = shift; 
     24        $conf =~ tr#/\.\-/#___#; 
     25        return $conf; 
     26} 
     27 
    2128sub parse_target_metadata() { 
    2229        my ($target, @target, $profile);         
     
    2431                chomp; 
    2532                /^Target:\s*(.+)\s*$/ and do { 
    26                         my $conf = $1; 
    27                         $conf =~ tr#/\.\-/#___#; 
    2833                        $target = { 
    2934                                id => $1, 
    30                                 conf => $conf, 
     35                                conf => confstr($1), 
    3136                                profiles => [] 
    3237                        }; 
    3338                        push @target, $target; 
    3439                }; 
    35                 /^Target-Board:\s*(.+)\s*$/ and $target->{board} = $1; 
     40                /^Target-Board:\s*(.+)\s*$/ and do { 
     41                        $target->{board} = $1; 
     42                        $target->{boardconf} = confstr($1); 
     43                }; 
    3644                /^Target-Kernel:\s*(\d+\.\d+)\s*$/ and $target->{kernel} = $1; 
    3745                /^Target-Name:\s*(.+)\s*$/ and $target->{name} = $1; 
     
    248256                } 
    249257         
    250                 print <<EOF 
     258                print <<EOF; 
    251259config TARGET_$target->{conf} 
    252260        bool "$target->{name}" 
    253261        select $target->{arch} 
    254262        select LINUX_$kernel 
    255 $features$help 
    256  
    257 EOF 
     263EOF 
     264                if ($target->{id} ne $target->{board}) { 
     265                        print "\tselect TARGET_".$target->{boardconf}."\n"; 
     266                } 
     267                print "$features$help\n\n" 
    258268        } 
    259269 
     
    266276        foreach my $target (@target) { 
    267277                print "\t\tdefault \"".$target->{board}."\" if TARGET_".$target->{conf}."\n"; 
     278        } 
     279 
     280        # add hidden target config options  
     281        foreach my $target (@target) { 
     282                next if $board{$target->{board}}; 
     283                if ($target->{id} ne $target->{board}) { 
     284                        print "\nconfig TARGET_".$target->{boardconf}."\n\tbool\n"; 
     285                        $board{$target->{board}} = 1; 
     286                } 
    268287        } 
    269288        print <<EOF; 
Note: See TracChangeset for help on using the changeset viewer.