Gentoo Archives: gentoo-commits

From: "Mike Frysinger (vapier)" <vapier@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in eclass: toolchain-funcs.eclass
Date: Tue, 06 Sep 2011 22:55:01
Message-Id: 20110906225445.68F222004C@flycatcher.gentoo.org
1 vapier 11/09/06 22:54:45
2
3 Modified: toolchain-funcs.eclass
4 Log:
5 unify tc-getPROG and tc-getBUILD_CC implementations, and add new tc-getBUILD_{CPP,CXX} helpers on top of that
6
7 Revision Changes Path
8 1.105 eclass/toolchain-funcs.eclass
9
10 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain-funcs.eclass?rev=1.105&view=markup
11 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain-funcs.eclass?rev=1.105&content-type=text/plain
12 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain-funcs.eclass?r1=1.104&r2=1.105
13
14 Index: toolchain-funcs.eclass
15 ===================================================================
16 RCS file: /var/cvsroot/gentoo-x86/eclass/toolchain-funcs.eclass,v
17 retrieving revision 1.104
18 retrieving revision 1.105
19 diff -u -r1.104 -r1.105
20 --- toolchain-funcs.eclass 12 Jul 2011 14:29:41 -0000 1.104
21 +++ toolchain-funcs.eclass 6 Sep 2011 22:54:45 -0000 1.105
22 @@ -1,6 +1,6 @@
23 # Copyright 1999-2007 Gentoo Foundation
24 # Distributed under the terms of the GNU General Public License v2
25 -# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain-funcs.eclass,v 1.104 2011/07/12 14:29:41 aballier Exp $
26 +# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain-funcs.eclass,v 1.105 2011/09/06 22:54:45 vapier Exp $
27
28 # @ECLASS: toolchain-funcs.eclass
29 # @MAINTAINER:
30 @@ -18,23 +18,31 @@
31
32 DESCRIPTION="Based on the ${ECLASS} eclass"
33
34 -tc-getPROG() {
35 - local var=$1
36 - local prog=$2
37 -
38 - if [[ -n ${!var} ]] ; then
39 - echo "${!var}"
40 - return 0
41 - fi
42 +# tc-getPROG <VAR [search vars]> <default> [tuple]
43 +_tc-getPROG() {
44 + local tuple=$1
45 + local v var vars=$2
46 + local prog=$3
47 +
48 + var=${vars%% *}
49 + for v in ${vars} ; do
50 + if [[ -n ${!v} ]] ; then
51 + export ${var}=${!v}
52 + echo "${!v}"
53 + return 0
54 + fi
55 + done
56
57 local search=
58 - [[ -n $3 ]] && search=$(type -p "$3-${prog}")
59 - [[ -z ${search} && -n ${CHOST} ]] && search=$(type -p "${CHOST}-${prog}")
60 + [[ -n $4 ]] && search=$(type -p "$4-${prog}")
61 + [[ -z ${search} && -n ${!tuple} ]] && search=$(type -p "${!tuple}-${prog}")
62 [[ -n ${search} ]] && prog=${search##*/}
63
64 export ${var}=${prog}
65 echo "${!var}"
66 }
67 +tc-getBUILD_PROG() { _tc-getPROG CBUILD "$@"; }
68 +tc-getPROG() { _tc-getPROG CHOST "$@"; }
69
70 # @FUNCTION: tc-getAR
71 # @USAGE: [toolchain prefix]
72 @@ -104,26 +112,15 @@
73 # @FUNCTION: tc-getBUILD_CC
74 # @USAGE: [toolchain prefix]
75 # @RETURN: name of the C compiler for building binaries to run on the build machine
76 -tc-getBUILD_CC() {
77 - local v
78 - for v in CC_FOR_BUILD BUILD_CC HOSTCC ; do
79 - if [[ -n ${!v} ]] ; then
80 - export BUILD_CC=${!v}
81 - echo "${!v}"
82 - return 0
83 - fi
84 - done
85 -
86 - local search=
87 - if [[ -n ${CBUILD} ]] ; then
88 - search=$(type -p ${CBUILD}-gcc)
89 - search=${search##*/}
90 - fi
91 - search=${search:-gcc}
92 -
93 - export BUILD_CC=${search}
94 - echo "${search}"
95 -}
96 +tc-getBUILD_CC() { tc-getBUILD_PROG "BUILD_CC CC_FOR_BUILD HOSTCC" gcc "$@"; }
97 +# @FUNCTION: tc-getBUILD_CPP
98 +# @USAGE: [toolchain prefix]
99 +# @RETURN: name of the C preprocessor for building binaries to run on the build machine
100 +tc-getBUILD_CPP() { tc-getBUILD_PROG "BUILD_CPP CPP_FOR_BUILD HOSTCPP" cpp "$@"; }
101 +# @FUNCTION: tc-getBUILD_CXX
102 +# @USAGE: [toolchain prefix]
103 +# @RETURN: name of the C++ compiler for building binaries to run on the build machine
104 +tc-getBUILD_CXX() { tc-getBUILD_PROG "BUILD_CXX CXX_FOR_BUILD HOSTCXX" g++ "$@"; }
105
106 # @FUNCTION: tc-export
107 # @USAGE: <list of toolchain variables>