|
|
@@ -10,6 +10,8 @@ use strict;
|
|
|
|
|
|
my @target;
|
|
|
my $target;
|
|
|
+my $profiles;
|
|
|
+my $profile;
|
|
|
|
|
|
sub features(@) {
|
|
|
my $ret;
|
|
|
@@ -30,8 +32,11 @@ sub features(@) {
|
|
|
while (<>) {
|
|
|
chomp;
|
|
|
/^Target:\s*((.+)-(\d+\.\d+))\s*$/ and do {
|
|
|
+ my $conf = uc $3.'_'.$2;
|
|
|
+ $conf =~ tr/\.-/__/;
|
|
|
$target = {
|
|
|
id => $1,
|
|
|
+ conf => $conf,
|
|
|
board => $2,
|
|
|
kernel => $3
|
|
|
};
|
|
|
@@ -56,6 +61,22 @@ while (<>) {
|
|
|
/^Linux-Version:\s*(.+)\s*$/ and $target->{version} = $1;
|
|
|
/^Linux-Release:\s*(.+)\s*$/ and $target->{release} = $1;
|
|
|
/^Linux-Kernel-Arch:\s*(.+)\s*$/ and $target->{karch} = $1;
|
|
|
+ /^Default-Packages:\s*(.+)\s*$/ and do {
|
|
|
+ my @pkgs = split /\s+/, $1;
|
|
|
+ $target->{defaultpkgs} = \@pkgs;
|
|
|
+ };
|
|
|
+ /^Target-Profile:\s*(.+)\s*$/ and do {
|
|
|
+ $profiles = $target->{profiles} or $target->{profiles} = $profiles = [];
|
|
|
+ $profile = {
|
|
|
+ id => $1
|
|
|
+ };
|
|
|
+ push @$profiles, $profile;
|
|
|
+ };
|
|
|
+ /^Target-Profile-Name:\s*(.+)\s*$/ and $profile->{name} = $1;
|
|
|
+ /^Target-Profile-Packages:\s*(.+)\s*$/ and do {
|
|
|
+ my @pkgs = split /\s+/, $1;
|
|
|
+ $profile->{pkgs} = \@pkgs;
|
|
|
+ };
|
|
|
}
|
|
|
|
|
|
@target = sort {
|
|
|
@@ -63,13 +84,18 @@ while (<>) {
|
|
|
} @target;
|
|
|
|
|
|
|
|
|
+print <<EOF;
|
|
|
+choice
|
|
|
+ prompt "Target System"
|
|
|
+ default LINUX_2_4_BRCM
|
|
|
+
|
|
|
+EOF
|
|
|
+
|
|
|
foreach $target (@target) {
|
|
|
- my $conf = uc $target->{kernel}.'_'.$target->{board};
|
|
|
my $features = features(@{$target->{features}});
|
|
|
my $help = $target->{desc};
|
|
|
chomp $features;
|
|
|
$features .= "\n";
|
|
|
- $conf =~ tr/\.-/__/;
|
|
|
if ($help =~ /\w+/) {
|
|
|
$help =~ s/^\s*/\t /mg;
|
|
|
$help = "\thelp\n$help";
|
|
|
@@ -78,7 +104,7 @@ foreach $target (@target) {
|
|
|
}
|
|
|
|
|
|
print <<EOF
|
|
|
-config LINUX_$conf
|
|
|
+config LINUX_$target->{conf}
|
|
|
bool "$target->{name}"
|
|
|
select $target->{arch}
|
|
|
$features$help
|
|
|
@@ -86,3 +112,87 @@ $features$help
|
|
|
EOF
|
|
|
}
|
|
|
|
|
|
+print <<EOF;
|
|
|
+if DEVEL
|
|
|
+
|
|
|
+config LINUX_2_6_ARM
|
|
|
+ bool "UNSUPPORTED little-endian arm platform"
|
|
|
+ depends BROKEN
|
|
|
+ select LINUX_2_6
|
|
|
+ select arm
|
|
|
+
|
|
|
+config LINUX_2_6_CRIS
|
|
|
+ bool "UNSUPPORTED cris platform"
|
|
|
+ depends BROKEN
|
|
|
+ select LINUX_2_6
|
|
|
+ select cris
|
|
|
+
|
|
|
+config LINUX_2_6_M68K
|
|
|
+ bool "UNSUPPORTED m68k platform"
|
|
|
+ depends BROKEN
|
|
|
+ select LINUX_2_6
|
|
|
+ select m68k
|
|
|
+
|
|
|
+config LINUX_2_6_SH3
|
|
|
+ bool "UNSUPPORTED little-endian sh3 platform"
|
|
|
+ depends BROKEN
|
|
|
+ select LINUX_2_6
|
|
|
+ select sh3
|
|
|
+
|
|
|
+config LINUX_2_6_SH3EB
|
|
|
+ bool "UNSUPPORTED big-endian sh3 platform"
|
|
|
+ depends BROKEN
|
|
|
+ select LINUX_2_6
|
|
|
+ select sh3eb
|
|
|
+
|
|
|
+config LINUX_2_6_SH4
|
|
|
+ bool "UNSUPPORTED little-endian sh4 platform"
|
|
|
+ depends BROKEN
|
|
|
+ select LINUX_2_6
|
|
|
+ select sh4
|
|
|
+
|
|
|
+config LINUX_2_6_SH4EB
|
|
|
+ bool "UNSUPPORTED big-endian sh4 platform"
|
|
|
+ depends BROKEN
|
|
|
+ select LINUX_2_6
|
|
|
+ select sh4eb
|
|
|
+
|
|
|
+config LINUX_2_6_SPARC
|
|
|
+ bool "UNSUPPORTED sparc platform"
|
|
|
+ depends BROKEN
|
|
|
+ select LINUX_2_6
|
|
|
+ select sparc
|
|
|
+
|
|
|
+endif
|
|
|
+
|
|
|
+endchoice
|
|
|
+
|
|
|
+choice
|
|
|
+ prompt "Target Profile"
|
|
|
+
|
|
|
+EOF
|
|
|
+
|
|
|
+foreach $target (@target) {
|
|
|
+ my $profiles;
|
|
|
+
|
|
|
+ $profiles = $target->{profiles} or $profiles = [
|
|
|
+ {
|
|
|
+ id => 'Default',
|
|
|
+ name => 'Default',
|
|
|
+ pkgs => []
|
|
|
+ }
|
|
|
+ ];
|
|
|
+ foreach my $profile (@$profiles) {
|
|
|
+ print <<EOF;
|
|
|
+config LINUX_$target->{conf}_$profile->{id}
|
|
|
+ bool "$profile->{name}"
|
|
|
+ depends LINUX_$target->{conf}
|
|
|
+EOF
|
|
|
+ foreach my $pkg (@{$target->{defaultpkgs}}, @{$profile->{pkgs}}) {
|
|
|
+ print "\tselect DEFAULT_$pkg\n";
|
|
|
+ }
|
|
|
+ print "\n";
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+print "endchoice\n";
|