Bug 133216

Summary: [EFL] Add LLVM as optional jhbuild module for FTL developers
Product: WebKit Reporter: Tibor Mészáros <mtiborinf>
Component: WebKit EFLAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: buildbot, cgarcia, commit-queue, gyuyoung.kim, llango.u-szeged, lucas.de.marchi, rniwa, zan
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch
none
Patch v2
none
Archive of layout-test-results from webkit-ews-09 for mac-mountainlion-wk2 none

Description Tibor Mészáros 2014-05-23 08:32:44 PDT
LLVM is a hard dependency of FTL JIT. The easiest way to install it is adding it as an optional jhbuild module.
FTL JIT on EFL is in very experimental phase, so we shouldn't build it by default, but let the developers to build it easily with:
- Tools/Scripts/update-webkitefl-libs llvm
- WEBKIT_EXTRA_MODULES=llvm Tools/Scripts/update-webkitefl-libs

Note: LLVM configure script prefers Clang to GCC, which can be a problem if the user works on Ubuntu 13.10 with installed icecc
and without installed Clang. The problem is that the icecc package in Ubuntu 13.10 is buggy, because it creates /usr/lib/icecc/bin/clang
symlink without reference to installed Clang, which causes build fail.

Workarounds for this bug: remove useless clang symlinks or use 14.04.
Comment 1 Tibor Mészáros 2014-05-23 08:41:56 PDT
Created attachment 231965 [details]
Patch

This patch will add LLVM as optional jhbuild module for FTL developers
Comment 2 Zan Dobersek 2014-05-25 12:09:44 PDT
Sure 3.4 is enough? Building tip-of-tree JSC with that version fails.

The GTK port is adding[1] the Subversion repository of LLVM to its Jhbuild optional moduleset, and will be checking out r133219 of that code, the same revision that Apple is building its LLVM libraries from[2].

There are still a lot of crashes with that revision of LLVM, so there's fun to be had.

[1] Bug #133219.
[2] http://trac.webkit.org/changeset/167334 and http://trac.webkit.org/changeset/167337
Comment 3 Carlos Garcia Campos 2014-05-25 23:42:41 PDT
Comment on attachment 231965 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=231965&action=review

Yes, 3.4 is not enough nowadays, jsc required this commit http://llvm.org/viewvc/llvm-project?view=revision&revision=195173 that is not in 3.4.

> Tools/efl/jhbuild.modules:136
> +             autogenargs="--enable-optimized=yes --enable-backtraces=no --enable-targets=x86_64 --enable-zlib=no --enable-terminfo=no --enable-crash-overrides=no --disable-expensive-checks --disable-debug-runtime --disable-assertions">

hmm, I made jsc link to zlib and terminfo, aren't they really needed? In that case we should do the same in GTK, since it's indeed better and simpler.
Comment 4 László Langó 2014-05-26 03:58:41 PDT
(In reply to comment #3)
> (From update of attachment 231965 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=231965&action=review
> 
> Yes, 3.4 is not enough nowadays, jsc required this commit http://llvm.org/viewvc/llvm-project?view=revision&revision=195173 that is not in 3.4.
> 
> > Tools/efl/jhbuild.modules:136
> > +             autogenargs="--enable-optimized=yes --enable-backtraces=no --enable-targets=x86_64 --enable-zlib=no --enable-terminfo=no --enable-crash-overrides=no --disable-expensive-checks --disable-debug-runtime --disable-assertions">
> 
> hmm, I made jsc link to zlib and terminfo, aren't they really needed? In that case we should do the same in GTK, since it's indeed better and simpler.

As I know they aren't needed for FTL.
Comment 5 Tibor Mészáros 2014-05-26 04:58:20 PDT
Created attachment 232070 [details]
Patch v2

I had added a Subversion repository of LLVM to its Jhbuild optional moduleset, and it will checking out r206311.
Comment 6 László Langó 2014-05-26 06:03:46 PDT
LGTM
Comment 7 Build Bot 2014-05-26 09:31:34 PDT
Comment on attachment 232070 [details]
Patch v2

Attachment 232070 [details] did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.appspot.com/results/5145795535831040

New failing tests:
media/W3C/video/networkState/networkState_during_loadstart.html
Comment 8 Build Bot 2014-05-26 09:31:39 PDT
Created attachment 232080 [details]
Archive of layout-test-results from webkit-ews-09 for mac-mountainlion-wk2

The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: webkit-ews-09  Port: mac-mountainlion-wk2  Platform: Mac OS X 10.8.5
Comment 9 Gyuyoung Kim 2014-05-26 18:51:28 PDT
Comment on attachment 232070 [details]
Patch v2

r+ed based on internal review.
Comment 10 WebKit Commit Bot 2014-05-27 00:06:16 PDT
Comment on attachment 232070 [details]
Patch v2

Clearing flags on attachment: 232070

Committed r169371: <http://trac.webkit.org/changeset/169371>
Comment 11 WebKit Commit Bot 2014-05-27 00:06:26 PDT
All reviewed patches have been landed.  Closing bug.