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> |