1 |
# Copyright 1999-2013 Gentoo Foundation |
2 |
# Distributed under the terms of the GNU General Public License v2 |
3 |
# $Header: /var/cvsroot/gentoo-x86/eclass/autotools-multilib.eclass,v 1.10 2013/02/22 14:42:09 mgorny Exp $ |
4 |
|
5 |
# @ECLASS: autotools-multilib.eclass |
6 |
# @MAINTAINER: |
7 |
# Michał Górny <mgorny@gentoo.org> |
8 |
# @BLURB: autotools-utils wrapper for multilib builds |
9 |
# @DESCRIPTION: |
10 |
# The autotools-multilib.eclass is an autotools-utils.eclass(5) wrapper |
11 |
# introducing support for building for more than one ABI (multilib). |
12 |
# |
13 |
# Inheriting this eclass sets the USE flags and exports autotools-utils |
14 |
# phase function wrappers which build the package for each supported ABI |
15 |
# when the relevant flag is enabled. Other than that, it works like |
16 |
# regular autotools-utils. |
17 |
# |
18 |
# Note that the multilib support requires out-of-source builds to be |
19 |
# enabled. Thus, it is impossible to use AUTOTOOLS_IN_SOURCE_BUILD with |
20 |
# it. |
21 |
|
22 |
# EAPI=5 is required for meaningful MULTILIB_USEDEP. |
23 |
case ${EAPI:-0} in |
24 |
5) ;; |
25 |
*) die "EAPI=${EAPI} is not supported" ;; |
26 |
esac |
27 |
|
28 |
if [[ ${AUTOTOOLS_IN_SOURCE_BUILD} ]]; then |
29 |
die "${ECLASS}: multilib support requires out-of-source builds." |
30 |
fi |
31 |
|
32 |
inherit autotools-utils multilib-build |
33 |
|
34 |
EXPORT_FUNCTIONS src_configure src_compile src_test src_install |
35 |
|
36 |
autotools-multilib_src_configure() { |
37 |
multilib_parallel_foreach_abi autotools-utils_src_configure "${@}" |
38 |
} |
39 |
|
40 |
autotools-multilib_src_compile() { |
41 |
multilib_foreach_abi autotools-utils_src_compile "${@}" |
42 |
} |
43 |
|
44 |
autotools-multilib_src_test() { |
45 |
multilib_foreach_abi autotools-utils_src_test "${@}" |
46 |
} |
47 |
|
48 |
autotools-multilib_src_install() { |
49 |
autotools-multilib_secure_install() { |
50 |
autotools-utils_src_install "${@}" |
51 |
|
52 |
# Make sure all headers are the same for each ABI. |
53 |
multilib_check_headers |
54 |
} |
55 |
|
56 |
multilib_foreach_abi autotools-multilib_secure_install "${@}" |
57 |
} |