diff options
author | 2006-08-01 12:56:21 +0000 | |
---|---|---|
committer | 2006-08-01 12:56:21 +0000 | |
commit | acf65303a83889f7aa6083ab369f9655718fb670 (patch) | |
tree | bf83f90b7490fe6fc6f3bdc15d62bd33f5e15c27 /net-wireless/rt2x00/rt2x00-9999.ebuild | |
parent | radio button support for rt2x00 (diff) | |
download | gentoo-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.ebuild | 101 |
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 } |