1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2025-04-21 12:27:27 +03:00

add experimental support for a new menuconfig submenu "Package features".

allows selection between multiple packages providing the same feature, which affects dependencies of other packages.
will be used e.g. for choosing between DirectFB and X.org for libraries like GTK2

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18056 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
nbd
2009-10-17 22:11:21 +00:00
parent 97abaa960a
commit 5b6977f54e
4 changed files with 77 additions and 4 deletions

View File

@@ -533,6 +533,30 @@ sub print_package_config_category($) {
undef $category{$cat};
}
sub print_package_features() {
keys %features > 0 or return;
print "menu \"Package features\"\n";
foreach my $n (keys %features) {
my @features = sort { $b->{priority} <=> $a->{priority} or $a->{title} cmp $b->{title} } @{$features{$n}};
print <<EOF;
choice
prompt "$features[0]->{target_title}"
default FEATURE_$features[0]->{name}
EOF
foreach my $feature (@features) {
print <<EOF;
config FEATURE_$feature->{name}
bool "$feature->{title}"
help
$feature->{description}
EOF
}
print "endchoice\n"
}
print "endmenu\n\n";
}
sub gen_package_config() {
parse_package_metadata($ARGV[0]) or exit 1;
print "menuconfig UCI_PRECONFIG\n\tbool \"Image configuration\"\n" if %preconfig;
@@ -549,6 +573,7 @@ sub gen_package_config() {
EOF
}
}
print_package_features();
print_package_config_category 'Base system';
foreach my $cat (keys %category) {
print_package_config_category $cat;