add submenu dependencies (used to hide the proprietary broadcom driver on anything...
authorFelix Fietkau <nbd@openwrt.org>
Fri, 21 Jul 2006 14:27:45 +0000 (14:27 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Fri, 21 Jul 2006 14:27:45 +0000 (14:27 +0000)
SVN-Revision: 4197

openwrt/include/package.mk
openwrt/package/broadcom-wl/Makefile
openwrt/scripts/gen_menuconfig.pl

index 38fd93df73355d5c6331260f325be19458889b62..757c8396aeb1279ef6c4f5890cb1bc2c7b469951 100644 (file)
@@ -83,6 +83,7 @@ define Package/Default
   DEFAULT:=
   MENU:=
   SUBMENU:=
+  SUBMENUDEP:=
   TITLE:=
   DESCRIPTION:=
 endef
@@ -142,6 +143,10 @@ define BuildPackage
   ifneq ($(SUBMENU),)
     DUMPINFO += \
        echo "Submenu: $(SUBMENU)";
+    ifneq ($(SUBMENUDEP),)
+      DUMPINFO += \
+         echo "Submenu-Depends: $(SUBMENUDEP)";
+    endif
   endif
 
   ifneq ($(DEFAULT),)
index 961baac55a58f1203225a7fc1fba002a95dcf3ce..e6f322f4c640248fe275ab8f006fc14312be4a61 100644 (file)
@@ -28,6 +28,7 @@ define Package/kmod-brcm-wl
   DEPENDS:=@LINUX_2_4_BRCM
   DEFAULT:=y
   SUBMENU:=Proprietary BCM43xx WiFi driver
+  SUBMENUDEP:=@LINUX_2_4_BRCM
   TITLE:=Kernel driver (normal version)
   DESCRIPTION:=Proprietary Wireless driver for the Broadcom BCM43xx chipset
   VERSION:=$(LINUX_VERSION)+$(PKG_VERSION)-$(PKG_RELEASE)
index e62363e63038a24df1aa28b0ac562abbab8d3a36..ddce86bfa1cc1b76f15d0f81796b91d3613cb58c 100755 (executable)
@@ -13,6 +13,7 @@ my $makefile;
 my $pkg;
 my %category;
 my $cur_menu;
+my $cur_menu_dep;
 
 sub print_category($) {
        my $cat = shift;
@@ -26,10 +27,15 @@ sub print_category($) {
                        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;
                                } 
                                if ($pkg->{submenu}) {
                                        $cur_menu = $pkg->{submenu};
+                                       $cur_menu_dep = $pkg->{submenudep} and print "if $cur_menu_dep\n";
                                        print "menu \"$cur_menu\"\n";
                                }
                        }
@@ -84,6 +90,7 @@ while ($line = <>) {
        $line =~ /^Title: \s*(.+)\s*$/ and $pkg->{title} = $1;
        $line =~ /^Menu: \s*(.+)\s*$/ and $pkg->{menu} = $1;
        $line =~ /^Submenu: \s*(.+)\s*$/ and $pkg->{submenu} = $1;
+       $line =~ /^Submenu-Depends: \s*(.+)\s*$/ and $pkg->{submenudep} = $1;
        $line =~ /^Default: \s*(.+)\s*$/ and $pkg->{default} = $1;
        $line =~ /^Depends: \s*(.+)\s*$/ and do {
                my @dep = split /\s+/, $1;