123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- # Copyright 1999-2014 Gentoo Foundation
- # Distributed under the terms of the GNU General Public License v2
- EAPI=5
- inherit eutils multilib
- DESCRIPTION="Wrappers for gcc tools to be used on non-native CHOSTs"
- HOMEPAGE="https://www.gentoo.org"
- SRC_URI=""
- LICENSE="public-domain"
- SLOT="0"
- KEYWORDS="~amd64"
- IUSE=""
- RDEPEND="sys-devel/gcc:="
- S=${WORKDIR}
- mkwrap() {
- einfo " ${2}"
- cat > "${T}"/wrapper <<-_EOF_
- #!${EPREFIX}/bin/sh
- exec ${1} $(get_abi_CFLAGS) "\${@}"
- _EOF_
- newbin "${T}"/wrapper "${2}"
- }
- src_install() {
- local host_prefix=${CHOST}
- # stolen from sys-devel/gcc-config
- # TODO: check if all of them actually support $(get_ABI_CFLAGS)
- local tools=(
- cpp cc gcc c++ g++ f77 g77 gcj gcjh gdc gdmd gfortran gccgo
- )
- cd "${EROOT%/}"/usr/bin || die
- eshopts_push -s nullglob
- # same as toolchain.eclass
- : ${TARGET_DEFAULT_ABI:=${DEFAULT_ABI}}
- : ${TARGET_MULTILIB_ABIS:=${MULTILIB_ABIS}}
- local ABI t e
- for ABI in $(get_all_abis TARGET); do
- [[ ${ABI} == ${TARGET_DEFAULT_ABI} ]] && continue
- einfo "Creating wrappers for ${ABI} ..."
- for t in "${tools[@]}"; do
- # look for both plain *-gcc and e.g. *-gcc-4.8.3
- # (but avoid *-gcc-nm)
- # note: nullglob applied above
- for e in ${host_prefix}[-]${t}{,-[0-9]*}; do
- local newname=$(get_abi_CHOST)-${e#${host_prefix}-}
- einfo " ${newname}"
- cat > "${T}"/wrapper <<-_EOF_
- #!${EPREFIX}/bin/sh
- exec ${e} $(get_abi_CFLAGS) "\${@}"
- _EOF_
- newbin "${T}"/wrapper "${newname}"
- done
- done
- done
- eshopts_pop
- }
|