summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoy Marples <uberlord@gentoo.org>2006-08-01 12:56:21 +0000
committerRoy Marples <uberlord@gentoo.org>2006-08-01 12:56:21 +0000
commitacf65303a83889f7aa6083ab369f9655718fb670 (patch)
treebf83f90b7490fe6fc6f3bdc15d62bd33f5e15c27 /net-wireless/rt2x00/rt2x00-9999.ebuild
parentradio button support for rt2x00 (diff)
downloadgentoo-2-acf65303a83889f7aa6083ab369f9655718fb670.tar.gz
gentoo-2-acf65303a83889f7aa6083ab369f9655718fb670.tar.bz2
gentoo-2-acf65303a83889f7aa6083ab369f9655718fb670.zip
Allow drivers to be built by USE flags thanks to Guillaume Pujol, #139982.
(Portage version: 2.1.1_pre4-r1)
Diffstat (limited to 'net-wireless/rt2x00/rt2x00-9999.ebuild')
-rw-r--r--net-wireless/rt2x00/rt2x00-9999.ebuild101
1 files changed, 73 insertions, 28 deletions
diff --git a/net-wireless/rt2x00/rt2x00-9999.ebuild b/net-wireless/rt2x00/rt2x00-9999.ebuild
index 754f555d9eaa..9a66149362f8 100644
--- a/net-wireless/rt2x00/rt2x00-9999.ebuild
+++ b/net-wireless/rt2x00/rt2x00-9999.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-wireless/rt2x00/rt2x00-9999.ebuild,v 1.7 2006/07/11 12:04:18 uberlord Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-wireless/rt2x00/rt2x00-9999.ebuild,v 1.8 2006/08/01 12:56:21 uberlord Exp $
inherit linux-mod cvs
@@ -13,46 +13,91 @@ ECVS_MODULE="source/rt2x00"
ECVS_LOCALNAME="${P}"
KEYWORDS="-* ~amd64 ~x86"
-IUSE="debug"
RDEPEND="net-wireless/wireless-tools"
-MODULE_NAMES="
- 80211(rt2x00:)
- rfkill(rt2x00:)
- rate_control(rt2x00:)
- rt2400pci(rt2x00:)
- rt2500pci(rt2x00:)
- rt2500usb(rt2x00:)
- rt61pci(rt2x00:)
- rt73usb(rt2x00:)"
+MODULES="D80211 RFKILL RT2400PCI RT2500PCI RT2500USB RT61PCI RT73USB"
+MODULES_USE="rfkill rt2400 rt2500 rt61 rt73"
+IUSE="asm debug ${MODULES_USE}"
-CONFIG_CHECK="NET_RADIO"
-ERROR_NET_RADIO="${P} requires support for Wireless LAN drivers (non-hamradio) & Wireless Extensions (CONFIG_NET_RADIO)."
+pkg_setup() {
+ CONFIG_CHECK="NET_RADIO"
+ ERROR_NET_RADIO="${P} requires support for Wireless LAN drivers (non-hamradio) & Wireless Extensions (CONFIG_NET_RADIO)."
-CONFIG_CHECK="FW_LOADER"
-ERROR_NET_RADIO="${P} requires support for Firmware module loading (CONFIG_FW_LOADER)."
+ # dScape requires AES
+ CONFIG_CHECK="${CONFIG_CHECK} CRYPTO_AES CRYPTO_MICHAEL_MIC"
+ ERROR_CRYPTO_AES="${P} requires support for AES Cryptography (CONFIG_CRYPTO_AES)."
+ ERROR_CRYPTO_MICHAEL_MIC="${P} requires support for Michael MIC Cryptography (CONFIG_CRYPTO_MICHAEL_MIC)."
-pkg_setup() {
- kernel_is lt 2 6 13 && die "${P} requires at least kernel 2.6.13"
+ if use rfkill ; then
+ CONFIG_CHECK="${CONFIG_CHECK} INPUT"
+ fi
+
+ if use rt2400 || use rt2500 || use rt61 ; then
+ CONFIG_CHECK="${CONFIG_CHECK} PCI"
+ fi
+
+ if use rt2500 || use rt73 ; then
+ CONFIG_CHECK="${CONFIG_CHECK} USB"
+ fi
+
+ if use rt61 || use rt73 ; then
+ CONFIG_CHECK="${CONFIG_CHECK} FW_LOADER"
+ ERROR_FW_LOADER="${P} requires support for Firmware module loading (CONFIG_FW_LOADER)."
+ fi
+
+ kernel_is lt 2 6 17 && die "${P} requires at least kernel 2.6.17"
linux-mod_pkg_setup
BUILD_PARAMS="KERNDIR=${KV_DIR} KERNOUT=${KV_OUT_DIR}"
BUILD_TARGETS=" " # Target "module" is not supported, so we blank it
}
src_compile() {
- local m= d="n"
- use debug && debug="y"
-
- # Build everything except ASM files
- # Maybe have USE flags for each driver at some point?
- for m in RT2400PCI RT2500PCI RT2500USB RT61PCI RT73USB \
- D80211 RFKILL; do
- echo "CONFIG_${m}=y" >> config
- echo "CONFIG_${m}_ASM=n" >> config
- echo "CONFIG_${m}_DEBUG=${debug}" >> config
- echo "CONFIG_${m}_BUTTON=y" >> config
+ local m= asm="n" button="n" debug="n" full="y" yn= M=
+
+ for m in ${MODULES_USE} ; do
+ if use "${m}" ; then
+ full="n"
+ break
+ fi
done
+ if [[ ${full} == "n" ]] ; then
+ use asm && asm="y"
+ use debug && debug="y"
+ use rfkill && button="y"
+ else
+ ewarn "No module specified in USE flags - building everything."
+ button="y"
+ fi
+
+ MODULE_NAMES="80211(rt2x00:) rate_control(rt2x00:)"
+
+ # Generate the config file now
+ echo "# Config file generated by portage" > config
+
+ for M in ${MODULES} ; do
+ local yn="n" m=$(echo "${M}" | tr '[:upper:]' '[:lower:]')
+ local um="${m//pci/}"
+ um="${um//usb/}"
+
+ if [[ ${M} == "D80211" || ${full} == "y" ]] || use "${um}" ; then
+ yn="y"
+ fi
+ echo "CONFIG_${M}=${yn}" >> config
+ echo "CONFIG_${M}_ASM=${asm}" >> config
+ echo "CONFIG_${M}_DEBUG=${debug}" >> config
+ echo "CONFIG_${M}_BUTTON=${button}" >> config
+
+ if [[ ${M} != "D80211" && ${yn} == "y" ]] ; then
+ MODULE_NAMES="${MODULE_NAMES} ${m}(rt2x00:)"
+ fi
+ done
+
+ # RT61 and RT73 require CONFIG_CRC_ITU_T
+ if use rt61 || use rt73 ; then
+ echo "CONFIG_CRC_ITU_T=y" >> config
+ fi
+
linux-mod_src_compile
}