$target->{parent} = $target{$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;
/^Target-Arch:\s*(.+)\s*$/ and $target->{arch} = $1;
/^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-Subtarget:\s*(.+)\s*$/ and $target->{def_subtarget} = $1;
/^Default-Packages:\s*(.+)\s*$/ and $target->{packages} = [ split(/\s+/, $1) ];
/^Target-Profile:\s*(.+)\s*$/ and do {
$profile = {
sub kver($) {
my $v = shift;
$v =~ tr/\./_/;
- $v =~ /(\d+_\d+_\d+)(_\d+)?/ and $v = $1;
+ if (substr($v,0,2) eq "2_") {
+ $v =~ /(\d+_\d+_\d+)(_\d+)?/ and $v = $1;
+ } else {
+ $v =~ /(\d+_\d+)(_\d+)?/ and $v = $1;
+ }
return $v;
}
}
if (@{$target->{subtargets}} > 0) {
$confstr .= "\tselect HAS_SUBTARGETS\n";
+ } else {
+ $confstr .= $features;
}
if ($target->{arch} =~ /\w/) {
$flags =~ /\+/ and $mode = "select";
$flags =~ /@/ and $confstr .= "\t$mode $name\n";
}
- $confstr .= $features;
$confstr .= "$help\n\n";
print $confstr;
}
choice
prompt "Subtarget" if HAS_SUBTARGETS
+EOF
+ foreach my $target (@target) {
+ next unless $target->{def_subtarget};
+ print <<EOF;
+ default TARGET_$target->{conf}_$target->{def_subtarget} if TARGET_$target->{conf}
+EOF
+ }
+ print <<EOF;
EOF
foreach my $target (@target) {
$flags =~ /@/ or $depend = "PACKAGE_$depend";
if ($condition) {
if ($m =~ /select/) {
+ next if $depend eq $condition;
$depend = "$depend if $condition";
} else {
$depend = "!($condition) || $depend";
if ($c > 0) {
$title .= ("." x $c). " ". $pkg->{title};
}
+ $title = "\"$title\"";
print "\t";
$pkg->{menu} and print "menu";
print "config PACKAGE_".$pkg->{name}."\n";
- print "\t\t".($pkg->{tristate} ? 'tristate' : 'bool')." \"$title\"\n";
+ $pkg->{hidden} and $title = "";
+ print "\t\t".($pkg->{tristate} ? 'tristate' : 'bool')." $title\n";
print "\t\tdefault y if DEFAULT_".$pkg->{name}."\n";
foreach my $default (split /\s*,\s*/, $pkg->{default}) {
print "\t\tdefault $default\n";
}
print mconf_depends($pkg->{name}, $pkg->{depends}, 0);
+ print mconf_depends($pkg->{name}, $pkg->{mdepends}, 0);
print "\t\thelp\n";
print $pkg->{description};
print "\n";
my $depstr = "\$(curdir)/$idx$suffix/compile";
my $depline = get_conditional_dep($condition, $depstr);
if ($depline) {
- $deplines{$dep} = $depline;
+ $deplines{$depline}++;
}
}
- my $depline = join(" ", values %deplines);
+ my $depline = join(" ", sort keys %deplines);
if ($depline) {
$line .= "\$(curdir)/".$pkg->{subdir}."$pkg->{src}/$type/compile += $depline\n";
}
if ($idx) {
my $depline;
next if $pkg->{src} eq $pkg_dep->{src}.$suffix;
- next if $dep{$pkg->{src}."->".$idx};
+ next if $dep{$condition.":".$pkg->{src}."->".$idx};
next if $dep{$pkg->{src}."->($dep)".$idx} and $pkg_dep->{vdepends};
my $depstr;
}
$depline = get_conditional_dep($condition, $depstr);
if ($depline) {
- $deplines{$idx.$dep} = $depline;
+ $deplines{$depline}++;
}
}
}
}
- my $depline = join(" ", values %deplines);
+ my $depline = join(" ", sort keys %deplines);
if ($depline) {
$line .= "\$(curdir)/".$pkg->{subdir}."$pkg->{src}/compile += $depline\n";
}