3 pushd `dirname $0` > /dev/null
4 export SCRIPTDIR=`pwd -L`
7 export TOPDIR=$(readlink -f "${SCRIPTDIR}/../..")
8 export CHROME_SRC="${TOPDIR}"
15 echo Applying $patchfile in $directory
16 pushd "$directory" > /dev/null
17 patch -p1 $@ < "$patchfile"
21 function getHostOs() {
22 echo $(uname -s | sed -e 's/Linux/linux/;s/Darwin/mac/')
25 function getHostArch() {
26 echo $(uname -m | sed -e \
27 's/i.86/ia32/;s/x86_64/x64/;s/amd64/x64/;s/arm.*/arm/;s/i86pc/ia32/')
30 function getPythonVersion() {
31 echo $(python --version 2>&1 | sed -e 's/Python \([0-9]\+\.[0-9]\+\)\.[0-9]\+/\1/')
34 function setIfUndef() {
37 if [ -n "$original" ]; then
45 function hostBuldScriptUsage() {
49 Build non gbs version of chromium-efl
52 -h, --help Show this message
53 --build-ewk-unittests Build ewk unittests
54 --ccache Configure ccache installed in your system
55 --clang Use chromium's clang compiler to build the sources
56 --content-shell Build content_shell application
57 --debug Build debug version of chromium-efl (out.${host_arch}/Debug instead of out.${host_arch}/Release)
58 -jN Set number of jobs, just like with make or ninja
59 --skip-gyp Skip restore_gyp, jhbuild and gyp_chromium steps
60 --skip-ninja Skip ninja step
64 $0 --skip-gyp --ccache
70 function parseHostBuildScriptParams() {
75 export FORCE_JHBUILD=0
77 export BUILD_EWK_UNITTESTS=0
78 export BUILD_CONTENT_SHELL=0
79 export BUILD_SUBDIRECTORY=Release
84 while [[ $# > 0 ]]; do
87 hostBuldScriptUsage ${0}
95 source $TOPDIR/build/ccache_env.sh ${platform}
101 export BUILD_CONTENT_SHELL=1
104 export FORCE_JHBUILD=1
109 --build-ewk-unittests)
110 export BUILD_EWK_UNITTESTS=1
113 export BUILD_SUBDIRECTORY="Debug"
119 echo "Unknown argument: $1"
127 function hostGypChromiumEfl() {
128 if [[ $SKIP_GYP == 0 ]]; then
129 ${TOPDIR}/tizen_src/build/gyp_chromiumefl.sh $@
133 function hostNinja() {
134 if [[ $SKIP_NINJA == 0 ]]; then
135 TARGETS="chromium-ewk efl_webprocess efl_webview_app ubrowser"
136 if [[ $BUILD_EWK_UNITTESTS == 1 ]]; then
137 TARGETS="$TARGETS ewk_unittests"
139 if [[ $BUILD_CONTENT_SHELL == 1 ]]; then
140 TARGETS="$TARGETS content_shell"
142 BUILDDIR=${GYP_GENERATOR_OUTPUT}/${BUILD_SUBDIRECTORY}
143 ninja -C $BUILDDIR ${JOBS} ${TARGETS}
147 function error_report() {
148 echo "Error: File:$1 Line:$2"
152 function findElementInArray() {
154 for elm in "${@:2}"; do
155 [[ "$elm" = "$1" ]] && return 0;
160 function setupAndExecuteTargetBuild() {
166 local DEFAULT_PROFILE_NAME
171 # "|| :" means "or always succeeding built-in command"
172 PROFILE_NAME=$(echo "$@" | grep -Po "(?<=\-P\s)[^\s]*" || :)
174 if [[ $platform == "mobile" ]]; then
175 DEFAULT_PROFILE_NAME=tizenmb_v2.4
177 elif [[ $platform == "tv" ]]; then
178 DEFAULT_PROFILE_NAME=tztv_v2.2.1_prehawk
180 elif [[ $platform == "emulator" ]]; then
181 DEFAULT_PROFILE_NAME=tizen_emulator_v2.4
185 if [ "$PROFILE_NAME" == "" ]; then
186 PROFILE_NAME=$DEFAULT_PROFILE_NAME
189 PROFILE_FLAG="-P $PROFILE_NAME"
191 if [ "$USE_GLOBAL_GBS_CONF" == "" ]; then
192 CONF_FLAG="--conf ${SCRIPTDIR}/gbs.conf"
195 gbs $CONF_FLAG build $PROFILE_FLAG -A $ARCHITECTURE --incremental "${@}"