aboutsummaryrefslogtreecommitdiff
blob: 85f847daf2668c4c3c8cbabe7ea43717cd07a469 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#!/bin/sh
# Copyright 2008-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

if [ -z "${CHOST}" ] ; then
	CHOST=${0##*/}
	CHOST=${CHOST%-emerge}
	CHOST=${CHOST#emerge-}
fi
export CHOST

: ${SYSROOT=/usr/${CHOST}}
: ${PORTAGE_CONFIGROOT=${SYSROOT}}
export SYSROOT PORTAGE_CONFIGROOT

if [ -z "${CHOST}" ] || [ ! -d "${SYSROOT}" ] ; then
	echo "cross-emerge: CHOST is not set properly"
	exit 1
fi

# Portage defaults CBUILD to CHOST, so we have to remove CHOST
# from the env to get a "good" value for CBUILD
: ${CBUILD=$(env -i portageq envvar CBUILD)}
: ${BUILD_CFLAGS=$(env -i portageq envvar CFLAGS)}
: ${BUILD_CXXFLAGS=$(env -i portageq envvar CXXFLAGS)}
: ${BUILD_CPPFLAGS=$(env -i portageq envvar CPPFLAGS)}
export CBUILD BUILD_CFLAGS BUILD_CXXFLAGS BUILD_CPPFLAGS

FAKEROOT=
if [ $(id -u) -ne 0 ] ; then
	type -P fakeroot >/dev/null && FAKEROOT=fakeroot
fi

: ${CROSS_CMD:=emerge --root-deps=rdeps}
exec ${FAKEROOT} ${CROSS_CMD} "$@"