3 SCRIPTDIR=$( cd $(dirname $0) ; pwd -P )
5 source ${SCRIPTDIR}/common.sh
6 trap 'postBuild ${SYSROOTDIR};\
7 error_report $0 $LINENO' ERR SIGINT SIGTERM SIGQUIT
9 host_arch=$(getHostArch)
12 __SUFFIX=crosscompile.orig
14 function adaptGbsSysrootToCrossCompilation() {
15 echo "cd /etc/; [ -e ld.so.conf.d ] && mv ld.so.conf.d ld.so.conf.d.$__SUFFIX;" | gbs chroot --root ${1}
17 function rollbackGbsSysrootChanges() {
18 echo "cd /etc/; [ -e ld.so.conf.d.$__SUFFIX ] && mv ld.so.conf.d.$__SUFFIX ld.so.conf.d;" | gbs chroot --root ${1}
22 adaptGbsSysrootToCrossCompilation $1
25 function postBuild() {
26 rollbackGbsSysrootChanges $1
29 parseHostBuildScriptParams crosscompile $@
31 if [ -z "$GBS_ROOT_PATH" ]; then
32 echo "Set GBS_ROOT_PATH for cross compilation"
36 if [ -z "$CROSS_COMPILE" ]; then
37 echo "Set CROSS_COMPILE for cross compilation like: /home/user/toolchains/bin/armv7l-tizen-linux-gnueabi-"
41 # Only override if not set to enable customization for distributed compiling.
42 export CC_target=$(setIfUndef CC_target ${CROSS_COMPILE}gcc)
43 export CXX_target=$(setIfUndef CXX_target ${CROSS_COMPILE}g++)
44 export AR_target=${CROSS_COMPILE}ar
45 export AS_target=${CROSS_COMPILE}as
46 export RANLIB_target=${CROSS_COMPILE}ranlib
48 export SYSROOTDIR="${GBS_ROOT_PATH}"/local/BUILD-ROOTS/scratch.armv7l.0
49 export PKG_CONFIG_SYSROOT_DIR="${SYSROOTDIR}"
50 export PKG_CONFIG_PATH="${SYSROOTDIR}/usr/lib/pkgconfig:${SYSROOTDIR}/usr/share/pkgconfig"
52 export PATH="${TOPDIR}/build/cross-shim:$PATH"
54 preBuild ${SYSROOTDIR}
56 hostNinja crosscompile
59 postBuild ${SYSROOTDIR}