[M67 Dev][EFL] Set up build environment
[platform/framework/web/chromium-efl.git] / tizen_src / build / cross_build_mobile.sh
1 #!/bin/bash
2
3 SCRIPTDIR=$( cd $(dirname $0) ; pwd -P )
4
5 source ${SCRIPTDIR}/common.sh
6 trap 'postBuild ${SYSROOTDIR};\
7       error_report $0 $LINENO' ERR SIGINT SIGTERM SIGQUIT
8
9 host_arch=$(getHostArch)
10
11
12 __SUFFIX=crosscompile.orig
13
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}
16 }
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}
19 }
20
21 function preBuild() {
22   adaptGbsSysrootToCrossCompilation $1
23 }
24
25 function postBuild() {
26   rollbackGbsSysrootChanges $1
27 }
28
29 if [ -z "$GYP_GENERATOR_OUTPUT" ]; then
30   export GYP_GENERATOR_OUTPUT=${TOPDIR}/"out.cross.arm"
31 fi
32
33 parseHostBuildScriptParams crosscompile $@
34
35 if [ -z "$GBS_ROOT_PATH" ]; then
36   echo "Set GBS_ROOT_PATH for cross compilation"
37   exit 1
38 fi
39
40 if [ -z "$CROSS_COMPILE" ]; then
41   echo "Set CROSS_COMPILE for cross compilation like: /home/user/toolchains/bin/armv7l-tizen-linux-gnueabi-"
42   exit 1
43 fi
44
45 # Only override if not set to enable customization for distributed compiling.
46 export CC_target=$(setIfUndef CC_target ${CROSS_COMPILE}gcc)
47 export CXX_target=$(setIfUndef CXX_target ${CROSS_COMPILE}g++)
48 export AR_target=${CROSS_COMPILE}ar
49 export AS_target=${CROSS_COMPILE}as
50 export RANLIB_target=${CROSS_COMPILE}ranlib
51
52 export SYSROOTDIR="${GBS_ROOT_PATH}"/local/BUILD-ROOTS/scratch.armv7l.0
53 export PKG_CONFIG_SYSROOT_DIR="${SYSROOTDIR}"
54 export PKG_CONFIG_PATH="${SYSROOTDIR}/usr/lib/pkgconfig:${SYSROOTDIR}/usr/share/pkgconfig"
55 export GYP_CROSSCOMPILE=1
56
57 export PATH="${TOPDIR}/build/cross-shim:$PATH"
58
59 preBuild ${SYSROOTDIR}
60
61 export __GYP_CHROMIUMEFL_TARGET=crosscompile
62 hostGypChromiumEfl -Dbuilding_for_tizen_mobile=1
63
64 hostNinja crosscompile
65 RET=$?
66
67 postBuild ${SYSROOTDIR}
68
69 exit $RET