| 1 | # Copyright 1999-2007 Gentoo Foundation |
1 | # Copyright 1999-2007 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.69 2007/03/27 01:46:50 vapier Exp $ |
3 | # $Header: /var/cvsroot/gentoo-x86/eclass/toolchain-funcs.eclass,v 1.71 2007/07/11 04:06:29 robbat2 Exp $ |
| 4 | # |
4 | # |
| 5 | # Maintainer: Toolchain Ninjas <toolchain@gentoo.org> |
5 | # Maintainer: Toolchain Ninjas <toolchain@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...) |
| … | |
… | |
| 170 | tc-ninja_magic_to_arch kern $@ |
170 | tc-ninja_magic_to_arch kern $@ |
| 171 | } |
171 | } |
| 172 | tc-arch() { |
172 | tc-arch() { |
| 173 | tc-ninja_magic_to_arch portage $@ |
173 | tc-ninja_magic_to_arch portage $@ |
| 174 | } |
174 | } |
|
|
175 | tc-endian() { |
|
|
176 | local host=$1 |
|
|
177 | [[ -z ${host} ]] && host=${CTARGET:-${CHOST}} |
|
|
178 | host=${host%%-*} |
|
|
179 | |
|
|
180 | case ${host} in |
|
|
181 | alpha*) echo big;; |
|
|
182 | arm*b*) echo big;; |
|
|
183 | arm*) echo little;; |
|
|
184 | cris*) echo little;; |
|
|
185 | hppa*) echo big;; |
|
|
186 | i?86*) echo little;; |
|
|
187 | ia64*) echo little;; |
|
|
188 | m68*) echo big;; |
|
|
189 | mips*l*) echo little;; |
|
|
190 | mips*) echo big;; |
|
|
191 | powerpc*) echo big;; |
|
|
192 | s390*) echo big;; |
|
|
193 | sh*b*) echo big;; |
|
|
194 | sh*) echo little;; |
|
|
195 | sparc*) echo big;; |
|
|
196 | x86_64*) echo little;; |
|
|
197 | *) echo wtf;; |
|
|
198 | esac |
|
|
199 | } |
| 175 | |
200 | |
| 176 | # Returns the version as by `$CC -dumpversion` |
201 | # Returns the version as by `$CC -dumpversion` |
| 177 | gcc-fullversion() { |
202 | gcc-fullversion() { |
| 178 | $(tc-getCC "$@") -dumpversion |
203 | $(tc-getCC "$@") -dumpversion |
| 179 | } |
204 | } |
| … | |
… | |
| 291 | # gen_usr_ldscript libfoo.so |
316 | # gen_usr_ldscript libfoo.so |
| 292 | # |
317 | # |
| 293 | # Note that you should in general use the unversioned name of |
318 | # Note that you should in general use the unversioned name of |
| 294 | # the library, as ldconfig should usually update it correctly |
319 | # the library, as ldconfig should usually update it correctly |
| 295 | # to point to the latest version of the library present. |
320 | # to point to the latest version of the library present. |
| 296 | _tc_gen_usr_ldscript() { |
321 | gen_usr_ldscript() { |
| 297 | local lib libdir=$(get_libdir) output_format="" |
322 | local lib libdir=$(get_libdir) output_format="" |
| 298 | # Just make sure it exists |
323 | # Just make sure it exists |
| 299 | dodir /usr/${libdir} |
324 | dodir /usr/${libdir} |
| 300 | |
325 | |
| 301 | # OUTPUT_FORMAT gives hints to the linker as to what binary format |
326 | # OUTPUT_FORMAT gives hints to the linker as to what binary format |
| … | |
… | |
| 323 | END_LDSCRIPT |
348 | END_LDSCRIPT |
| 324 | fi |
349 | fi |
| 325 | fperms a+x "/usr/${libdir}/${lib}" || die "could not change perms on ${lib}" |
350 | fperms a+x "/usr/${libdir}/${lib}" || die "could not change perms on ${lib}" |
| 326 | done |
351 | done |
| 327 | } |
352 | } |
| 328 | gen_usr_ldscript() { _tc_gen_usr_ldscript "$@" ; } |
|
|