ar71xx: Compex WPJ543 board is supported as well
[openwrt.git] / scripts / metadata.pl
index 1c80be4..2da8851 100755 (executable)
@@ -155,6 +155,7 @@ sub target_config_features(@) {
                /display/ and $ret .= "\tselect DISPLAY_SUPPORT\n";
                /gpio/ and $ret .= "\tselect GPIO_SUPPORT\n";
                /pci/ and $ret .= "\tselect PCI_SUPPORT\n";
+               /pcie/ and $ret .= "\tselect PCIE_SUPPORT\n";
                /usb/ and $ret .= "\tselect USB_SUPPORT\n";
                /pcmcia/ and $ret .= "\tselect PCMCIA_SUPPORT\n";
                /squashfs/ and $ret .= "\tselect USES_SQUASHFS\n";
@@ -164,6 +165,8 @@ sub target_config_features(@) {
                /cpiogz/ and $ret .= "\tselect USES_CPIOGZ\n";
                /fpu/ and $ret .= "\tselect HAS_FPU\n";
                /ramdisk/ and $ret .= "\tselect USES_INITRAMFS\n";
+               /powerpc64/ and $ret .= "\tselect powerpc64\n";
+               /nommu/ and $ret .= "\tselect NOMMU\n";
        }
        return $ret;
 }
@@ -412,15 +415,15 @@ sub mconf_depends {
        my @depends = @$depends;
        foreach my $depend (@depends) {
                my $m = "depends";
-               $depend =~ s/^([@\+]+)//;
-               my $flags = $1;
+               my $flags = "";
+               $depend =~ s/^([@\+]+)// and $flags = $1;
                my $vdep;
-               my $condition;
+               my $condition = $parent_condition;
 
                if ($depend =~ /^(.+):(.+)$/) {
                        if ($1 ne "PACKAGE_$pkgname") {
-                               if ($parent_condition) {
-                                       $condition = "$parent_condition && $1";
+                               if ($condition) {
+                                       $condition = "$condition && $1";
                                } else {
                                        $condition = $1;
                                }
@@ -530,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;
@@ -546,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;
This page took 0.025745 seconds and 4 git commands to generate.