fix menu/submenu nesting
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Fri, 21 Jul 2006 22:48:58 +0000 (22:48 +0000)
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Fri, 21 Jul 2006 22:48:58 +0000 (22:48 +0000)
git-svn-id: svn://svn.openwrt.org/openwrt/branches/buildroot-ng/openwrt@4200 3c298f89-4303-0410-b956-a3cf2f4a3e73

scripts/gen_menuconfig.pl

index ddce86bfa1cc1b76f15d0f81796b91d3613cb58c..fe013109288243cf089efbdcccba7a365447160d 100755 (executable)
@@ -15,6 +15,17 @@ my %category;
 my $cur_menu;
 my $cur_menu_dep;
 
+sub close_submenu {
+       if ($cur_menu) {
+               print "endmenu\n";
+               $cur_menu_dep and do {
+                       print "endif\n";
+                       $cur_menu_dep = undef;
+               };
+               undef $cur_menu;
+       } 
+}
+
 sub print_category($) {
        my $cat = shift;
        
@@ -25,14 +36,7 @@ sub print_category($) {
        foreach my $spkg (sort {uc($a) cmp uc($b)} keys %spkg) {
                foreach my $pkg (@{$spkg{$spkg}}) {
                        if ($cur_menu ne $pkg->{submenu}) {
-                               if ($cur_menu) {
-                                       print "endmenu\n";
-                                       $cur_menu_dep and do {
-                                               print "endif\n";
-                                               $cur_menu_dep = undef;
-                                       };
-                                       undef $cur_menu;
-                               } 
+                               close_submenu();
                                if ($pkg->{submenu}) {
                                        $cur_menu = $pkg->{submenu};
                                        $cur_menu_dep = $pkg->{submenudep} and print "if $cur_menu_dep\n";
@@ -66,6 +70,7 @@ sub print_category($) {
                        $pkg->{config} and print $pkg->{config}."\n";
                }
        }
+       close_submenu();
        print "endmenu\n\n";
        
        undef $category{$cat};