Date:2009-08-20 18:52:46 (3 years 9 months ago)
Author:nbd
Commit:bf03013c033d3aac939ee7fe253045e84ab1386c
Message:mac80211: speed up build by reducing the makefile shell calls, fix forced disable of rfkill

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@17335 3c298f89-4303-0410-b956-a3cf2f4a3e73
Files: package/mac80211/Makefile (3 diffs)
package/mac80211/patches/001-speedup_build.patch (1 diff)
package/mac80211/patches/002-disable_rfkill.patch (1 diff)
package/mac80211/patches/009-remove_mac80211_module_dependence.patch (1 diff)

Change Details

package/mac80211/Makefile
457457    CONFIG_RT2X00=$(if $(CONFIG_PACKAGE_kmod-rt2x00-lib),m) \
458458    CONFIG_RT2X00_LIB_PCI=$(if $(CONFIG_PACKAGE_kmod-rt2x00-pci),m) \
459459    CONFIG_RT2X00_LIB_USB=$(if $(CONFIG_PACKAGE_kmod-rt2x00-usb),m) \
460    CONFIG_RT2X00_LIB_RFKILL= \
461460    CONFIG_RT2400PCI=$(if $(CONFIG_PACKAGE_kmod-rt2400-pci),m) \
462461    CONFIG_RT2500PCI=$(if $(CONFIG_PACKAGE_kmod-rt2500-pci),m) \
463462    CONFIG_RT2500USB=$(if $(CONFIG_PACKAGE_kmod-rt2500-usb),m) \
...... 
477476    CONFIG_IPW2200= \
478477    CONFIG_NL80211=y \
479478    CONFIG_LIB80211= \
479    CONFIG_LIB80211_CRYPT_WEP= \
480    CONFIG_LIB80211_CRYPT_CCMP= \
481    CONFIG_LIB80211_CRYPT_TKIP= \
480482    CONFIG_IWLWIFI= \
481483    CONFIG_IWLAGN= \
482484    CONFIG_MWL8K= \
...... 
485487    CONFIG_ADM8211= \
486488    CONFIG_USB_NET_RNDIS_HOST= \
487489    CONFIG_USB_NET_RNDIS_WLAN= \
490    CONFIG_USB_NET_CDCETHER= \
488491    CONFIG_AT76C50X_USB= \
489    CONFIG_RFKILL_BACKPORT= \
490    CONFIG_RFKILL_BACKPORT_LEDS= \
491    CONFIG_RFKILL_BACKPORT_INPUT= \
492492    CONFIG_WL12XX= \
493493    CONFIG_EEPROM_93CX6= \
494494    CONFIG_AR9170_USB= \
495    MADWIFI= \
496    OLD_IWL= \
495497    KLIB_BUILD="$(LINUX_DIR)" \
496    MODPROBE=:
498    MODPROBE=: \
499    KLIB=$(TARGET_MODULES_DIR) \
500    KERNEL_SUBLEVEL=$(lastword $(subst ., ,$(KERNEL_PATCHVER)))
497501
498502define Build/Prepare
499503    rm -rf $(PKG_BUILD_DIR)
package/mac80211/patches/001-speedup_build.patch
1--- a/config.mk
2@@ -17,15 +17,19 @@ ifeq ($(CONFIG_MAC80211),y)
3 $(error "ERROR: you have MAC80211 compiled into the kernel, CONFIG_MAC80211=y, as such you cannot replace its mac80211 driver. You need this set to CONFIG_MAC80211=m. If you are using Fedora upgrade your kernel as later version should this set as modular. For further information on Fedora see https://bugzilla.redhat.com/show_bug.cgi?id=470143. If you are using your own kernel recompile it and make mac80211 modular")
4 endif
5
6+
7 # We will warn when you don't have MQ support or NET_SCHED enabled.
8 #
9 # We could consider just quiting if MQ and NET_SCHED is disabled
10 # as I suspect all users of this package want 802.11e (WME) and
11 # 802.11n (HT) support.
12-ifeq ($(shell test -e $(KLIB_BUILD)/Makefile && echo yes),yes)
13-KERNEL_SUBLEVEL = $(shell $(MAKE) -C $(KLIB_BUILD) kernelversion | sed -n 's/^2\.6\.\([0-9]\+\).*/\1/p')
14+ifneq ($(wildcard $(KLIB_BUILD)/Makefile),)
15+COMPAT_LATEST_VERSION = 32
16+KERNEL_SUBLEVEL ?= $(shell $(MAKE) -C $(KLIB_BUILD) kernelversion | sed -n 's/^2\.6\.\([0-9]\+\).*/\1/p')
17+COMPAT_VERSIONS ?= $(shell I=$(COMPAT_LATEST_VERSION); while [ "$$I" -gt $(KERNEL_SUBLEVEL) ]; do echo $$I; I=$$(($$I - 1)); done)
18+$(foreach ver,$(COMPAT_VERSIONS),$(eval CONFIG_COMPAT_WIRELESS_$(ver)=y))
19
20-ifeq ($(shell test $(KERNEL_SUBLEVEL) -lt 25 && echo yes),yes)
21+ifdef CONFIG_COMPAT_WIRELESS_25
22 $(error "ERROR: You should use compat-wireless-2.6-old for older kernels, this one is for kernels >= 2.6.25")
23 endif
24
25@@ -34,56 +38,10 @@ $(error "ERROR: your kernel has CONFIG_C
26 endif
27
28
29-# Compat wireless compat-2.6.2x.c files gets selected here
30-
31-ifeq ($(shell test $(KERNEL_SUBLEVEL) -le 21 && echo yes),yes)
32-CONFIG_COMPAT_WIRELESS_22=y
33-endif
34-
35-ifeq ($(shell test $(KERNEL_SUBLEVEL) -le 22 && echo yes),yes)
36-CONFIG_COMPAT_WIRELESS_23=y
37-endif
38-
39-ifeq ($(shell test $(KERNEL_SUBLEVEL) -le 23 && echo yes),yes)
40-CONFIG_COMPAT_WIRELESS_24=y
41-endif
42-
43-ifeq ($(shell test $(KERNEL_SUBLEVEL) -le 24 && echo yes),yes)
44-CONFIG_COMPAT_WIRELESS_25=y
45-endif
46-
47-ifeq ($(shell test $(KERNEL_SUBLEVEL) -le 25 && echo yes),yes)
48-CONFIG_COMPAT_WIRELESS_26=y
49-endif
50-
51-ifeq ($(shell test $(KERNEL_SUBLEVEL) -le 26 && echo yes),yes)
52-CONFIG_COMPAT_WIRELESS_27=y
53-endif
54-
55-ifeq ($(shell test $(KERNEL_SUBLEVEL) -le 27 && echo yes),yes)
56-CONFIG_COMPAT_WIRELESS_28=y
57-endif
58-
59-ifeq ($(shell test $(KERNEL_SUBLEVEL) -le 28 && echo yes),yes)
60-CONFIG_COMPAT_WIRELESS_29=y
61-endif
62-
63-ifeq ($(shell test $(KERNEL_SUBLEVEL) -le 29 && echo yes),yes)
64-CONFIG_COMPAT_WIRELESS_30=y
65-endif
66-
67-ifeq ($(shell test $(KERNEL_SUBLEVEL) -le 30 && echo yes),yes)
68-CONFIG_COMPAT_WIRELESS_31=y
69-endif
70-
71-ifeq ($(shell test $(KERNEL_SUBLEVEL) -le 31 && echo yes),yes)
72-CONFIG_COMPAT_WIRELESS_32=y
73-endif
74-
75 # 2.6.27 has FTRACE_DYNAMIC borked, so we will complain if
76 # you have it enabled, otherwise you will very likely run into
77 # a kernel panic.
78-ifeq ($(shell test $(KERNEL_SUBLEVEL) -eq 27 && echo yes),yes)
79+ifeq ($(KERNEL_SUBLEVEL),27)
80 ifeq ($(CONFIG_DYNAMIC_FTRACE),y)
81 $(error "ERROR: Your 2.6.27 kernel has CONFIG_DYNAMIC_FTRACE, please upgrade your distribution kernel as newer ones should not have this enabled (and if so report a bug) or remove this warning if you know what you are doing")
82 endif
83@@ -291,7 +249,7 @@ endif
84
85 ifneq ($(CONFIG_PCMCIA),)
86
87-ifeq ($(shell test $(KERNEL_SUBLEVEL) -le 26 && echo yes),yes)
88+ifdef CONFIG_COMPAT_WIRELESS_25
89 CONFIG_LIBERTAS=n
90 CONFIG_LIBERTAS_CS=n
91 else
92@@ -327,7 +285,7 @@ CONFIG_RTL8187=m
93
94 CONFIG_AT76C50X_USB=m
95
96-ifeq ($(shell test $(KERNEL_SUBLEVEL) -ge 28 && echo yes),yes)
97+ifndef CONFIG_COMPAT_WIRELESS_28
98 CONFIG_AR9170_USB=m
99 CONFIG_AR9170_LEDS=y
100 endif
101@@ -343,7 +301,7 @@ CONFIG_RT73USB=m
102 NEED_RT2X00_FIRMWARE=y
103 endif
104
105-ifeq ($(shell test $(KERNEL_SUBLEVEL) -le 26 && echo yes),yes)
106+ifdef CONFIG_COMPAT_WIRELESS_27
107 CONFIG_LIBERTAS_THINFIRM_USB=n
108 CONFIG_LIBERTAS_USB=n
109 NEED_LIBERTAS=n
110@@ -360,7 +318,7 @@ ifneq ($(CONFIG_SPI_MASTER),)
111 CONFIG_WL1251=m
112 CONFIG_P54_SPI=m
113
114-ifeq ($(shell test $(KERNEL_SUBLEVEL) -le 26 && echo yes),yes)
115+ifdef CONFIG_COMPAT_WIRELESS_27
116 CONFIG_LIBERTAS_SPI=n
117 NEED_LIBERTAS=n
118 else
119@@ -372,7 +330,7 @@ endif # end of SPI driver list
120
121 ifneq ($(CONFIG_MMC),)
122
123-ifeq ($(shell test $(KERNEL_SUBLEVEL) -le 26 && echo yes),yes)
124+ifdef CONFIG_COMPAT_WIRELESS_27
125 CONFIG_LIBERTAS_SDIO=n
126 NEED_LIBERTAS=n
127 else
128@@ -382,7 +340,7 @@ endif
129
130 # Activate iwmc3200wifi support only on kernel >= 2.6.29.
131 # iwmc3200wifi uses new netdev_ops api no supported by old kernel.
132-ifeq ($(shell test $(KERNEL_SUBLEVEL) -ge 29 && echo yes),yes)
133+ifndef CONFIG_COMPAT_WIRELESS_29
134 CONFIG_IWM=m
135 # CONFIG_IWM_DEBUG=y
136 endif
137@@ -425,7 +383,7 @@ CONFIG_SSB=m
138 CONFIG_SSB_SPROM=y
139 # CONFIG_SSB_DEBUG=y
140
141-ifeq ($(shell test $(KERNEL_SUBLEVEL) -le 26 && echo yes),yes)
142+ifdef CONFIG_COMPAT_WIRELESS_27
143 CONFIG_LIBERTAS=n
144 else
145 ifeq ($(NEED_LIBERTAS),y)
146@@ -437,7 +395,7 @@ endif
147
148 # We need the backported rfkill module on kernel < 2.6.31.
149 # In more recent kernel versions use the in kernel rfkill module.
150-ifeq ($(shell test $(KERNEL_SUBLEVEL) -le 30 && echo yes),yes)
151+ifdef CONFIG_COMPAT_WIRELESS_31
152 CONFIG_RFKILL_BACKPORT=m
153 CONFIG_RFKILL_BACKPORT_LEDS=y
154 CONFIG_RFKILL_BACKPORT_INPUT=y
package/mac80211/patches/002-disable_rfkill.patch
1--- a/config.mk
2@@ -127,14 +127,14 @@ ifneq ($(CONFIG_PCI),)
3
4 CONFIG_ATH5K=m
5 # CONFIG_ATH5K_DEBUG=y
6-CONFIG_ATH5K_RFKILL=y
7+# CONFIG_ATH5K_RFKILL=y
8 CONFIG_ATH9K=m
9 # CONFIG_ATH9K_DEBUG=y
10
11
12 CONFIG_IWLWIFI=m
13 CONFIG_IWLWIFI_LEDS=y
14-CONFIG_IWLWIFI_RFKILL=y
15+# CONFIG_IWLWIFI_RFKILL=y
16 CONFIG_IWLWIFI_SPECTRUM_MEASUREMENT=y
17 # CONFIG_IWLWIFI_DEBUG=y
18 # CONFIG_IWLWIFI_DEBUGFS=y
19@@ -154,7 +154,7 @@ CONFIG_B43_PCMCIA=y
20 endif
21 CONFIG_B43_PIO=y
22 CONFIG_B43_LEDS=y
23-CONFIG_B43_RFKILL=y
24+# CONFIG_B43_RFKILL=y
25 CONFIG_B43_PHY_LP=y
26 # CONFIG_B43_DEBUG=y
27 # CONFIG_B43_FORCE_PIO=y
28@@ -164,7 +164,7 @@ CONFIG_B43LEGACY_HWRNG=y
29 CONFIG_B43LEGACY_PCI_AUTOSELECT=y
30 CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y
31 CONFIG_B43LEGACY_LEDS=y
32-CONFIG_B43LEGACY_RFKILL=y
33+# CONFIG_B43LEGACY_RFKILL=y
34 # CONFIG_B43LEGACY_DEBUG=y
35 CONFIG_B43LEGACY_DMA=y
36 CONFIG_B43LEGACY_PIO=y
37@@ -354,7 +354,7 @@ CONFIG_RT2X00_LIB=m
38 CONFIG_RT2X00_LIB_HT=y
39 CONFIG_RT2X00_LIB_FIRMWARE=y
40 CONFIG_RT2X00_LIB_CRYPTO=y
41-CONFIG_RT2X00_LIB_RFKILL=y
42+# CONFIG_RT2X00_LIB_RFKILL=y
43 CONFIG_RT2X00_LIB_LEDS=y
44 # CONFIG_RT2X00_LIB_DEBUGFS=y
45 # CONFIG_RT2X00_DEBUG=y
46@@ -396,8 +396,8 @@ endif
47 # We need the backported rfkill module on kernel < 2.6.31.
48 # In more recent kernel versions use the in kernel rfkill module.
49 ifdef CONFIG_COMPAT_WIRELESS_31
50-CONFIG_RFKILL_BACKPORT=m
51-CONFIG_RFKILL_BACKPORT_LEDS=y
52-CONFIG_RFKILL_BACKPORT_INPUT=y
53+# CONFIG_RFKILL_BACKPORT=m
54+# CONFIG_RFKILL_BACKPORT_LEDS=y
55+# CONFIG_RFKILL_BACKPORT_INPUT=y
56 endif
57
package/mac80211/patches/009-remove_mac80211_module_dependence.patch
11--- a/config.mk
22+++ b/config.mk
3@@ -89,21 +89,6 @@ $(error "ERROR: Your 2.6.27 kernel has C
3@@ -47,21 +47,6 @@ $(error "ERROR: Your 2.6.27 kernel has C
44 endif
55 endif
66

Archive Download the corresponding diff file



interactive