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/toolchain-funcs.eclass,v 1.16 2004/12/16 01:03:42 vapier Exp $ |
3 | # $Header: /var/cvsroot/gentoo-x86/eclass/toolchain-funcs.eclass,v 1.17 2004/12/30 21:27:27 vapier Exp $ |
4 | # |
4 | # |
5 | # Author: Toolchain Ninjas <ninjas@gentoo.org> |
5 | # Author: Toolchain Ninjas <ninjas@gentoo.org> |
6 | # |
6 | # |
7 | # This eclass contains (or should) functions to get common info |
7 | # This eclass contains (or should) functions to get common info |
8 | # about the toolchain (libc/compiler/binutils/etc...) |
8 | # about the toolchain (libc/compiler/binutils/etc...) |
… | |
… | |
13 | INHERITED="$INHERITED $ECLASS" |
13 | INHERITED="$INHERITED $ECLASS" |
14 | |
14 | |
15 | DESCRIPTION="Based on the ${ECLASS} eclass" |
15 | DESCRIPTION="Based on the ${ECLASS} eclass" |
16 | |
16 | |
17 | tc-getPROG() { |
17 | tc-getPROG() { |
18 | local var="$1" |
18 | local var=$1 |
19 | local prog="$2" |
19 | local prog=$2 |
20 | local search="" |
|
|
21 | |
20 | |
22 | if [ -n "${!var}" ] ; then |
21 | if [[ -n ${!var} ]] ; then |
23 | echo "${!var}" |
22 | echo "${!var}" |
24 | return 0 |
23 | return 0 |
25 | fi |
24 | fi |
26 | |
25 | |
27 | if [ -n "${CTARGET}" ] ; then |
|
|
28 | search="$(type -p "${CTARGET}-${prog}")" |
|
|
29 | elif [ -n "${CHOST}" ] ; then |
26 | if [[ -n ${CHOST} ]] ; then |
30 | search="$(type -p "${CHOST}-${prog}")" |
27 | local search=$(type -p "${CHOST}-${prog}") |
|
|
28 | prog=${search##*/} |
31 | fi |
29 | fi |
32 | |
30 | |
33 | if [ -n "${search}" ] ; then |
|
|
34 | prog="${search##*/}" |
|
|
35 | fi |
|
|
36 | export ${var}="${prog}" |
31 | export ${var}=${prog} |
37 | echo "${!var}" |
32 | echo "${!var}" |
38 | } |
33 | } |
39 | |
34 | |
40 | # Returns the name of the archiver |
35 | # Returns the name of the archiver |
41 | tc-getAR() { tc-getPROG AR ar; } |
36 | tc-getAR() { tc-getPROG AR ar; } |
… | |
… | |
56 | # Returns the name of the java compiler |
51 | # Returns the name of the java compiler |
57 | tc-getGCJ() { tc-getPROG GCJ gcj; } |
52 | tc-getGCJ() { tc-getPROG GCJ gcj; } |
58 | |
53 | |
59 | # Returns the name of the C compiler for build |
54 | # Returns the name of the C compiler for build |
60 | tc-getBUILD_CC() { |
55 | tc-getBUILD_CC() { |
61 | if [ -n "${CC_FOR_BUILD}" ] ; then |
56 | if [[ -n ${CC_FOR_BUILD} ]] ; then |
62 | export BUILD_CC="${CC_FOR_BUILD}" |
57 | export BUILD_CC=${CC_FOR_BUILD} |
63 | echo "${CC_FOR_BUILD}" |
58 | echo "${CC_FOR_BUILD}" |
64 | return 0 |
59 | return 0 |
65 | fi |
60 | fi |
66 | |
61 | |
67 | local search= |
62 | local search= |
68 | if [ -n "${CBUILD}" ] ; then |
63 | if [[ -n ${CBUILD} ]] ; then |
69 | search="$(type -p "${CBUILD}-gcc")" |
64 | search=$(type -p "${CBUILD}-gcc") |
|
|
65 | search=${search##*/} |
|
|
66 | else |
|
|
67 | search=gcc |
70 | fi |
68 | fi |
71 | |
69 | |
72 | if [ -n "${search}" ] ; then |
|
|
73 | search="${search##*/}" |
|
|
74 | else |
|
|
75 | search="gcc" |
|
|
76 | fi |
|
|
77 | |
|
|
78 | export BUILD_CC="${search}" |
70 | export BUILD_CC=${search} |
79 | echo "${search}" |
71 | echo "${search}" |
80 | } |
72 | } |
81 | |
73 | |
82 | # Quick way to export a bunch of vars at once |
74 | # Quick way to export a bunch of vars at once |
83 | tc-export() { |
75 | tc-export() { |