3 SCRIPTDIR=$( cd $(dirname $0) ; pwd -P )
4 TOPDIR=$( cd ${SCRIPTDIR}/.. ; pwd -P )
6 source ${SCRIPTDIR}/common.sh
8 host_arch=$(getHostArch)
10 export GYP_GENERATOR_OUTPUT=${TOPDIR}/"out.${host_arch}"
16 Build desktop version of chromium-efl
19 -h, --help Show this message
20 --skip-gyp Skip restore_gyp, jhbuild and gyp_chromium steps
21 --ccache configure ccache installed in your system
22 --skip-ninja Skip ninja step
23 --build-ewk-unittests build ewk unittests
24 --debug build debug version of chromium-efl (in $GYP_GENERATOR_OUTPUT/Debug instead of default $GYP_GENERATOR_OUTPUT/Release)
25 -jN set number of jobs, just like with make or ninja
29 $0 --skip-gyp --ccache
39 BUILD_SUBDIRECTORY=Release
41 if echo "$@" | grep -cq '\(\(\-\-help\)\|\(\-h\)\)'; then
45 if echo "$@" | grep -cq '\-\-skip-gyp'; then
49 if echo "$@" | grep -cq '\-\-skip-ninja'; then
53 if echo "$@" | grep -cq '\-\-ccache'; then
57 if echo "$@" | grep -cq '\-\-build-ewk-unittests'; then
61 if echo "$@" | grep -cq '\-\-content_shell'; then
65 JHBUILD_STAMPFILE="${GYP_GENERATOR_OUTPUT}/Dependencies/Root/jhbuild.stamp"
67 shouldForceJHBuild() {
68 if echo "$@" | grep -cq '\-\-force-jhbuild'; then
72 # Check if anything in jhbuild is more recent than stamp file.
73 for i in $(find "$SCRIPTDIR/jhbuild"); do
74 if [ -f "$i" -a "$JHBUILD_STAMPFILE" -ot "$i" ]; then
82 if [ "$(shouldForceJHBuild $@)" == "1" ]; then
83 rm -f $JHBUILD_STAMPFILE
86 if echo "$@" | grep -cq '\-\-debug'; then
87 BUILD_SUBDIRECTORY=Debug
90 # Will be empty string if -j not specified or ill-formatted, otherwise -j and the number argument together.
91 # \grep because folks often alias grep but we want the vanilla behavior.
92 JOBS=$(echo "$@" | \grep -Eo '\-j\s*[1-9]([0-9]*)')
96 JHBUILD_DEPS="${GYP_GENERATOR_OUTPUT}/Dependencies/Root"
97 if [ "${host_arch}" == "x64" ]; then
99 elif [ "${host_arch}" == "ia32" ]; then
102 export PKG_CONFIG_PATH="${JHBUILD_DEPS}/${_LIBDIR}/pkgconfig"
104 if [ ! -f "$JHBUILD_STAMPFILE" ]; then
105 jhbuild --no-interact -f ${SCRIPTDIR}/jhbuild/jhbuildrc
107 if [ "$?" == "0" ]; then
108 echo "Yay! jhbuild done!" > $JHBUILD_STAMPFILE
112 if [ "$SKIP_GYP" == "0" ]; then
113 ${TOPDIR}/build/gyp_chromiumefl.sh
116 if [ "$SKIP_NINJA" == "0" ]; then
117 if [ "$USE_CCACHE" == "1" ]; then
120 source $TOPDIR/build/ccache_env.sh desktop
123 export LD_LIBRARY_PATH="${JHBUILD_DEPS}/${_LIBDIR}:$LD_LIBRARY_PATH"
124 export PATH="${JHBUILD_DEPS}/bin:$PATH"
126 TARGETS="chromium-efl efl_webprocess chromium-ewk efl_webview_app"
127 if [ "$BUILD_EWK_UNITTESTS" == "1" ]; then
128 TARGETS="$TARGETS ewk_unittests"
131 if [ "$BUILD_CONTENT_SHELL" == "1" ]; then
132 TARGETS="$TARGETS content_shell_efl"
135 ninja -C ${GYP_GENERATOR_OUTPUT}/${BUILD_SUBDIRECTORY} ${JOBS} ${TARGETS}