/[gentoo-x86]/eclass/waf-utils.eclass
Gentoo

Contents of /eclass/waf-utils.eclass

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (hide annotations) (download)
Tue Dec 7 06:48:08 2010 UTC (3 years, 10 months ago) by eva
Branch: MAIN
Initial commit of waf-utils eclass

1 eva 1.1 # Copyright 1999-2010 Gentoo Foundation
2     # Distributed under the terms of the GNU General Public License v2
3     # $Header: $
4    
5     # @ECLASS: waf-utils.eclass
6     # @MAINTAINER:
7     # gnome@gentoo.org
8     #
9     # @CODE
10     # Original Author: Gilles Dartiguelongue <eva@gentoo.org>
11     # @CODE
12     # @BLURB: common ebuild functions for waf-based packages
13     # @DESCRIPTION:
14     # The waf-utils eclass contains functions that make creating ebuild for
15     # waf-based packages much easier.
16     # Its main features are support of common portage default settings.
17    
18     inherit base eutils multilib python
19    
20     case ${EAPI:-0} in
21     3|2) EXPORT_FUNCTIONS pkg_setup src_configure src_compile src_install ;;
22     *) die "EAPI=${EAPI} is not supported" ;;
23     esac
24    
25     # @ECLASS-VARIABLE: DOCS
26     # @DESCRIPTION:
27     # Documents passed to dodoc command.
28    
29     # @FUNCTION: waf-utils_src_configure
30     # @DESCRIPTION:
31     # General function for configuring with waf.
32     waf-utils_pkg_setup() {
33     python_set_active_version 2
34     }
35    
36     # @FUNCTION: waf-utils_src_configure
37     # @DESCRIPTION:
38     # General function for configuring with waf.
39     waf-utils_src_configure() {
40     debug-print-function ${FUNCNAME} "$@"
41    
42     CCFLAGS="${CFLAGS}" LINKFLAGS="${LDFLAGS}" "${S}"/waf \
43     --prefix=/usr \
44     --libdir=/usr/$(get_libdir) \
45     $@ \
46     configure || die "configure failed"
47     }
48    
49     # @FUNCTION: waf-utils_src_compile
50     # @DESCRIPTION:
51     # General function for compiling with waf.
52     waf-utils_src_compile() {
53     debug-print-function ${FUNCNAME} "$@"
54    
55     local jobs=$(echo -j1 ${MAKEOPTS} | sed -r "s/.*(-j\s*|--jobs=)([0-9]+).*/--jobs=\2/" )
56     "${S}"/waf build ${jobs} || die "build failed"
57     }
58    
59     # @FUNCTION: waf-utils_src_install
60     # @DESCRIPTION:
61     # Function for installing the package.
62     waf-utils_src_install() {
63     debug-print-function ${FUNCNAME} "$@"
64     has ${EAPI:-0} 2 && ! use prefix && ED="${D}"
65    
66     "${S}"/waf --destdir="${ED}" install || die "Make install failed"
67    
68     # Manual document installation
69     [[ -n "${DOCS}" ]] && { dodoc ${DOCS} || die "dodoc failed" ; }
70     }

  ViewVC Help
Powered by ViewVC 1.1.20