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
23 ${SCRIPTDIR}/apply_patches.sh
26 function postBuild() {
27 rollbackGbsSysrootChanges $1
28 ${SCRIPTDIR}/apply_patches.sh -r
31 if [ -z "$GYP_GENERATOR_OUTPUT" ]; then
32 export GYP_GENERATOR_OUTPUT=${TOPDIR}/"out.cross.arm"
35 parseHostBuildScriptParams crosscompile $@
37 if [ -z "$GBS_ROOT_PATH" ]; then
38 echo "Set GBS_ROOT_PATH for cross compilation"
42 if [ -z "$CROSS_COMPILE" ]; then
43 echo "Set CROSS_COMPILE for cross compilation like: /home/user/toolchains/bin/armv7l-tizen-linux-gnueabi-"
47 # Only override if not set to enable customization for distributed compiling.
48 export CC_target=$(setIfUndef CC_target ${CROSS_COMPILE}gcc)
49 export CXX_target=$(setIfUndef CXX_target ${CROSS_COMPILE}g++)
50 export AR_target=${CROSS_COMPILE}ar
51 export AS_target=${CROSS_COMPILE}as
52 export RANLIB_target=${CROSS_COMPILE}ranlib
54 export SYSROOTDIR="${GBS_ROOT_PATH}"/local/BUILD-ROOTS/scratch.armv7l.0
55 export PKG_CONFIG_SYSROOT_DIR="${SYSROOTDIR}"
56 export PKG_CONFIG_PATH="${SYSROOTDIR}/usr/lib/pkgconfig:${SYSROOTDIR}/usr/share/pkgconfig"
57 export GYP_CROSSCOMPILE=1
59 export PATH="${TOPDIR}/build/cross-shim:$PATH"
61 preBuild ${SYSROOTDIR}
63 export __GYP_CHROMIUMEFL_TARGET=crosscompile
64 hostGypChromiumEfl -Dbuilding_for_tizen_mobile=1
66 hostNinja crosscompile
69 postBuild ${SYSROOTDIR}