/[gentoo-x86]/eclass/linux-mod.eclass
Gentoo

Diff of /eclass/linux-mod.eclass

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.88 Revision 1.93
1# Copyright 1999-2004 Gentoo Foundation 1# Copyright 1999-2004 Gentoo Foundation
2# Distributed under the terms of the GNU General Public License v2 2# Distributed under the terms of the GNU General Public License v2
3# $Header: /var/cvsroot/gentoo-x86/eclass/linux-mod.eclass,v 1.88 2008/10/31 23:37:06 gengor Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/linux-mod.eclass,v 1.93 2008/11/05 12:00:19 dsd Exp $
4 4
5# Author(s): John Mylchreest <johnm@gentoo.org>, 5# Author(s): John Mylchreest <johnm@gentoo.org>,
6# Stefan Schweizer <genstef@gentoo.org> 6# Stefan Schweizer <genstef@gentoo.org>
7# Maintainer: kernel-misc@gentoo.org 7# Maintainer: kernel-misc@gentoo.org
8# 8#
41 41
42# @ECLASS-VARIABLE: MODULE_NAMES 42# @ECLASS-VARIABLE: MODULE_NAMES
43# @DESCRIPTION: 43# @DESCRIPTION:
44# It's a string containing the modules to be built automatically using the default 44# It's a string containing the modules to be built automatically using the default
45# src_compile/src_install. It will only make ${BUILD_TARGETS} once in any directory. 45# src_compile/src_install. It will only make ${BUILD_TARGETS} once in any directory.
46
47# 46#
48# The structure of each MODULE_NAMES entry is as follows: 47# The structure of each MODULE_NAMES entry is as follows:
49# 48#
50# modulename(libdir:srcdir:objdir) 49# modulename(libdir:srcdir:objdir)
51# 50#
52# where: 51# where:
53# 52#
54# modulename = name of the module file excluding the .ko 53# modulename = name of the module file excluding the .ko
55# libdir = place in system modules directory where module is installed: 54# libdir = place in system modules directory where module is installed (by default it's misc)
56# srcdir = place for ebuild to cd to before running make 55# srcdir = place for ebuild to cd to before running make (by default it's ${S})
57# objdir = place the .ko and objects are located after make runs 56# objdir = place the .ko and objects are located after make runs (by default it's set to srcdir)
58# 57#
59# To get an idea of how these variables are used, here's a few lines 58# To get an idea of how these variables are used, here's a few lines
60# of code from around line 540 in this eclass: 59# of code from around line 540 in this eclass:
61# 60#
62# einfo "Installing ${modulename} module" 61# einfo "Installing ${modulename} module"
135EXPORT_FUNCTIONS pkg_setup pkg_preinst pkg_postinst src_install src_compile pkg_postrm 134EXPORT_FUNCTIONS pkg_setup pkg_preinst pkg_postinst src_install src_compile pkg_postrm
136 135
137IUSE="kernel_linux" 136IUSE="kernel_linux"
138SLOT="0" 137SLOT="0"
139DESCRIPTION="Based on the $ECLASS eclass" 138DESCRIPTION="Based on the $ECLASS eclass"
140RESTRICT="distcc"
141RDEPEND="kernel_linux? ( virtual/modutils )" 139RDEPEND="kernel_linux? ( virtual/modutils )"
142DEPEND="${RDEPEND} 140DEPEND="${RDEPEND}
143 sys-apps/sed" 141 sys-apps/sed"
144 142
145# eclass utilities 143# eclass utilities
614 ABI="${KERNEL_ABI}" 612 ABI="${KERNEL_ABI}"
615 613
616 BUILD_TARGETS=${BUILD_TARGETS:-clean module} 614 BUILD_TARGETS=${BUILD_TARGETS:-clean module}
617 strip_modulenames; 615 strip_modulenames;
618 cd "${S}" 616 cd "${S}"
617 touch Module.symvers
619 for i in ${MODULE_NAMES} 618 for i in ${MODULE_NAMES}
620 do 619 do
621 unset libdir srcdir objdir 620 unset libdir srcdir objdir
622 for n in $(find_module_params ${i}) 621 for n in $(find_module_params ${i})
623 do 622 do
628 objdir=${objdir:-${srcdir}} 627 objdir=${objdir:-${srcdir}}
629 628
630 if [ ! -f "${srcdir}/.built" ]; 629 if [ ! -f "${srcdir}/.built" ];
631 then 630 then
632 cd ${srcdir} 631 cd ${srcdir}
632 ln -s "${S}"/Module.symvers Module.symvers
633 einfo "Preparing ${modulename} module" 633 einfo "Preparing ${modulename} module"
634 if [[ -n ${ECONF_PARAMS} ]] 634 if [[ -n ${ECONF_PARAMS} ]]
635 then 635 then
636 econf ${ECONF_PARAMS} || \ 636 econf ${ECONF_PARAMS} || \
637 die "Unable to run econf ${ECONF_PARAMS}" 637 die "Unable to run econf ${ECONF_PARAMS}"

Legend:
Removed from v.1.88  
changed lines
  Added in v.1.93

  ViewVC Help
Powered by ViewVC 1.1.20