Qt 4.8.2 / Webkit patch

IRIX/Nekoware development, porting and related topics.
Forum rules
Any posts concerning pirated software or offering to buy/sell/trade commercial software are subject to removal.
User avatar
bplaa.yai
Posts: 318
Joined: Wed Mar 26, 2008 12:04 pm
Location: Paris

Qt 4.8.2 / Webkit patch

Unread postby bplaa.yai » Fri Jul 27, 2012 5:03 am

I've been working on this when I had a lot more free time available, but it seems that I don't have time anymore to push this forward, and it will probably be getting worse in the upcoming months. So it's time to give this work to the community, in case anyone wants to continue where I left off.

This patch is the result of a work in progress in my attempt to port Webkit/JSC to Irix (mipspro), in various states :
- The Qt part should be clean enough to package a neko Qt 4.8.2
- The Webkit/Webcore part may need some rework/cleaning, but up to now I never had issues with Webcore itself
- The Webkit/JavaScriptCore part is where most of problems remains, and is in a heavy "work in progress state"

I used the following configure line :

Code: Select all

./configure --prefix=/usr/nekoware/qt4 -verbose -platform irix-cc -debug -webkit -graphicssystem opengl -nomake examples


A few "out of my head" comments :
- The OpenGL graphics system should be a great feature on Irix. But it does not seem to enable itself at runtime, not sure exactly why, I didn't investigate much
- The libQtWekbit.so can be used with the qt demo browser. Arora also builds just fine, and should be a nice modern browser for Irix
- Linking the whole libQtWebkit can be difficult (see here for details). In my case, the quickfix was to strip the WebCore objects before linking (this is the biggest part of the library, and as I never had a runtime problem with it, stripping the objects shouldn't cause any problems).
- JavaScriptCore can be built as a full interpreter, but there is also JIT code for mips processors. Unfortunately, this code targets little endian and the O32 ABI, and uses gcc inline assembler. To enable/disable mips JIT, see the ENABLE_JIT define in JavaScriptCore/wtf/Platform.h and (un)comment the defined(_ABIO32) preprocessor condition.
- There is various "XXXX" comments in JSC code, these are hacks for my debug in progress and should be removed (see patch)
- It's easier to debug and faster to build the JSC library without the whole WebKit/WebCore stuff, so I used a script to build the jsc command line executable, that is not build by default.

That's all I can think of for now, questions or comments are welcome in this thread or by pm.
Attachments
build_jsc_debug.sh.txt
build the jsc executable
(1.01 KiB) Downloaded 32 times
fix_derived_sources.sh.txt
fix the DEFINE_GLOBAL macro in generated sources
(271 Bytes) Downloaded 32 times
qt-4.8.2-webkit.patch
the patch
(258.38 KiB) Downloaded 34 times
:Onyx2: :O2: :O3x0: :O3x0:

telackey
Posts: 48
Joined: Tue Aug 03, 2010 9:08 am

Re: Qt 4.8.2 / Webkit patch

Unread postby telackey » Tue Aug 07, 2012 3:31 pm

For anyone starting to poke into this, what is the next step?

For example, what was the very next thing on your list to tackle before you got swamped?
:1600SW: :O2: :O2+: :O2: :1600SW:

User avatar
bplaa.yai
Posts: 318
Joined: Wed Mar 26, 2008 12:04 pm
Location: Paris

Re: Qt 4.8.2 / Webkit patch

Unread postby bplaa.yai » Wed Aug 08, 2012 12:14 am

telackey wrote:For anyone starting to poke into this, what is the next step?

For example, what was the very next thing on your list to tackle before you got swamped?


The "only" remaining work would be to fix JavaScriptCore, that crashes in some circumstances.
A good way to have a broad test coverage is to run the sputnik conformance test suite with jsc.
:Onyx2: :O2: :O3x0: :O3x0:

telackey
Posts: 48
Joined: Tue Aug 03, 2010 9:08 am

Re: Qt 4.8.2 / Webkit patch

Unread postby telackey » Wed Aug 08, 2012 8:54 am

As large as that "only" is, it is still pretty encouraging.
:1600SW: :O2: :O2+: :O2: :1600SW:


Return to “SGI: Development”

Who is online

Users browsing this forum: Yahoo [Bot] and 1 guest