From 8090626d673a2a0a01e4cbba50e44cb7fdcba21c Mon Sep 17 00:00:00 2001 From: Ronan Le Martret Date: Wed, 17 Sep 2014 18:37:46 +0200 Subject: [PATCH] meta-tizen: Fix Crosswalk build. remove option: -Duse_system_libxml=1 (From meta-tizen rev: bb0f7f3003ed33e3e43ac6db8750559dbc48d038) Signed-off-by: Ronan Le Martret Change-Id: I5fe0eb7ad85aa0fe0c38f2b97ceb51647553a89a Signed-off-by: Patrick Ohly --- .../crosswalk/crosswalk-extraconf.inc | 78 ++++++++++++++++------ 1 file changed, 57 insertions(+), 21 deletions(-) diff --git a/meta-tizen/recipes-tizen/crosswalk/crosswalk-extraconf.inc b/meta-tizen/recipes-tizen/crosswalk/crosswalk-extraconf.inc index 3fce185..a72d522 100644 --- a/meta-tizen/recipes-tizen/crosswalk/crosswalk-extraconf.inc +++ b/meta-tizen/recipes-tizen/crosswalk/crosswalk-extraconf.inc @@ -20,33 +20,42 @@ COMPATIBLE_MACHINE_valleyisland-64 = "(.*)" RDEPENDS_${PN} += "libpulsecommon" +do_compile_prepend() { + + CC_host="gcc"; export CC_host + CXX_host="g++"; export CXX_host + + LD="${CXX}" export LD + CC="${CC}" export CC + CXX="${CXX}" export CXX_host + GYP_EXTRA_FLAGS="${GYP_EXTRA_FLAGS} -I${WORKDIR}/oe-defaults.gypi -I${WORKDIR}/include.gypi" + GYP_EXTRA_FLAGS="${GYP_EXTRA_FLAGS} -I${WORKDIR}/oe-defaults.gypi -I${WORKDIR}/include.gypi" +} + +do_configure() { +} + do_compile() { cd ${S} LANG=C export LANG unset DISPLAY LD_AS_NEEDED=1; export LD_AS_NEEDED ; - CC_host="gcc"; export CC_host - CXX_host="g++"; export CXX_host - - LD="${CXX}" export LD - CC="${CC}" export CC - CXX="${CXX}" export CXX - #CXXFLAGS="$CXXFLAGS -std=c++11" export CXXFLAGS # For ffmpeg on ia32. The original CFLAGS set by the gyp and config files in # src/third_party/ffmpeg already pass -O2 -fomit-frame-pointer, but Tizen's # CFLAGS end up appending -fno-omit-frame-pointer. See http://crbug.com/37246 export CFLAGS=`echo $CFLAGS | sed s,-fno-omit-frame-pointer,,g` - + + # Building the RPM in the GBS chroot fails with errors such as # /usr/lib/gcc/i586-tizen-linux/4.7/../../../../i586-tizen-linux/bin/ld: # failed to set dynamic section sizes: Memory exhausted # For now, work around it by passing a GNU ld-specific flag that optimizes the # linker for memory usage. - export LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory,--no-fatal-warnings" - + export LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory" + # Support building in a non-standard directory, possibly outside ${WORKDIR}. # Since the build root is erased every time a new build is performed, one way # to avoid losing the build directory is to specify a location outside the @@ -58,17 +67,40 @@ do_compile() { mkdir -p "${BUILDDIR_NAME}" ln -s "${BUILDDIR_NAME}" src/out fi - - GYP_EXTRA_FLAGS="${GYP_EXTRA_FLAGS} -Duse_ozone=1 -Denable_ozone_wayland_vkb=1 -Denable_xdg_shell=1" - GYP_EXTRA_FLAGS="${GYP_EXTRA_FLAGS} -Dlinux_use_bundled_binutils=0 -Dlinux_use_bundled_gold=0 -Ddisable_fatal_linker_warnings=1" - GYP_EXTRA_FLAGS="${GYP_EXTRA_FLAGS} -I${WORKDIR}/oe-defaults.gypi -I${WORKDIR}/include.gypi" - + + GYP_EXTRA_FLAGS="${GYP_EXTRA_FLAGS} -Duse_ozone=1 -Denable_ozone_wayland_vkb=1 -Denable_xdg_shell=0" + + # Force gold binary from chroot ld.gold provided by binutils-gold + GYP_EXTRA_FLAGS="${GYP_EXTRA_FLAGS} -Ddisable_nacl=1 -Dlinux_use_bundled_binutils=0 -Dlinux_use_bundled_gold=0 " + + # Linking fails in Tizen Common when fatal ld warnings are enabled. XWALK-1379. + GYP_EXTRA_FLAGS="${GYP_EXTRA_FLAGS} -Ddisable_fatal_linker_warnings=1" + + # Temporarily disable Alsa support while snd_seq_* support is not enabled on + # Tizen. See https://codereview.chromium.org/264973012 and + # https://review.tizen.org/gerrit/#/c/24336/ + GYP_EXTRA_FLAGS="${GYP_EXTRA_FLAGS} -Duse_alsa=0" + + # Temporarily disable WebRTC support because its build currently hardcodes + # dependencies on X11 and OpenSSL. We are still trying to get some + # clarifications as to whether this is really necessary. See XWALK-2160. + GYP_EXTRA_FLAGS="${GYP_EXTRA_FLAGS} -Denable_webrtc=0" + + # For building for arm in OBS, we need : + # -> to unset sysroot value. + # sysroot variable is automatically set for cross compilation to use arm-sysroot provided by Chromium project + # sysroot usage is not needed, we need to use arm libraries from the virtualized environment. + # + # Crosswalk build fails if the fpu selected in the gcc option is different from neon in case of arm7 compilation + # So force it. + + # --no-parallel is added because chroot does not mount a /dev/shm, this will + # cause python multiprocessing.SemLock error. export GYP_GENERATORS='ninja' ./src/xwalk/gyp_xwalk src/xwalk/xwalk.gyp \ --no-parallel \ ${GYP_EXTRA_FLAGS} \ -Dchromeos=0 \ - -Ddisable_nacl=1 \ -Dtizen=1 \ -Dpython_ver=2.7 \ -Duse_aura=1 \ @@ -76,12 +108,16 @@ do_compile() { -Duse_gconf=0 \ -Duse_gnome_keyring=0 \ -Duse_kerberos=0 \ - -Denable_hidpi=1 \ -Duse_system_bzip2=1 \ - -Duse_proprietary_codecs=0 - - ninja ${PARALLEL_MAKE} -C src/out/Release xwalk xwalkctl xwalk_launcher xwalk-pkg-helper - + -Duse_system_libexif=1 \ + -Duse_system_nspr=1 \ + -Dshared_process_mode=1 \ + -Denable_hidpi=1 + + ninja -j16 -C src/out/Release xwalk xwalkctl xwalk_launcher xwalk-pkg-helper + + + } crosswalk-dbg_files += "/usr/lib/xwalk/.debug" -- 2.7.4