WelcomeWelcome | FAQFAQ | DownloadsDownloads | WikiWiki

Author Topic: Webkit notes  (Read 18053 times)

Offline curaga

  • Administrator
  • Hero Member
  • *****
  • Posts: 10992
Re: Webkit notes
« Reply #30 on: November 17, 2014, 02:35:02 AM »
NICE. Bug report: pressing . finds stuff, but pressing enter doesn't go to where the link of the found text points to :)

Added to the todo list.

Quote
opera should have hired you for their webkit shit, haha.

Apart from avoiding compiling webkit I never had a use for corepure64, but today I tried it for the first time. Problem: there is no mplayer extension, so I wonder if anyone is actually using this for his day to day web browsing and slacking off :)

Thanks. I rarely use corepure64 though.

BTW, which package links against liburlmatch.a - fifth itself?

Fifth, yeah. Not used in webkitfltk.
The only barriers that can stop you are the ones you create yourself.

Offline Juanito

  • Administrator
  • Hero Member
  • *****
  • Posts: 14634
Re: Webkit notes
« Reply #31 on: November 17, 2014, 04:33:09 AM »
physfs uploaded to tc-6.x x86_64 repo

Offline Juanito

  • Administrator
  • Hero Member
  • *****
  • Posts: 14634
Re: Webkit notes
« Reply #32 on: November 17, 2014, 07:32:11 AM »
..looks like I found the problem - compilation in progress...

Offline Juanito

  • Administrator
  • Hero Member
  • *****
  • Posts: 14634
Re: Webkit notes
« Reply #33 on: November 17, 2014, 10:01:58 AM »
..but still no luck:
Code: [Select]
CC="gcc -flto -fuse-linker-plugin -mtune=generic -Os -pipe" CXX="g++ -flto -fuse-linker-plugin -mtune=generic -Os -pipe -fno-exceptions -fno-rtti" make -C Source/WebKit/fltk
...
g++ -mtune=generic -Os -pipe -c -o dirlisting.o -I .. -I ../.. -I . -I ../../WTF -I webkit -I WebCoreSupport -std=gnu++11 -g -Wall -DBUILDING_FLTK__ -D_GLIBCXX_USE_SCHED_YIELD -D_GLIBCXX_USE_NANOSLEEP -I/usr/local/include  -I/usr/local/include/cairo -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include -I/usr/local/include/pixman-1 -I/usr/local/include -I/usr/local/include/freetype2 -I/usr/local/include/libpng16 -I/usr/local/include/harfbuzz -I/usr/local/include -I/usr/local/include/freetype2 -I/usr/local/include -I/usr/local/include/libdrm -I/usr/local/include -I/usr/local/include/libpng16 -I/usr/local/include -I/usr/local/include/libxml2 -I/usr/local/include/harfbuzz  -I
../../JavaScriptCore/ForwardingHeaders -I ../../WebCore -I ../../WebCore/ForwardingHeaders -I ../../WebCore/Modules/geolocation -I ../../WebCore/Modules/filesystem -I ../../WebCore/Modules/mediastream -I ../../WebCore/Modules/navigatorcontentutils -I ../../WebCore/Modules/networkinfo -I ../../WebCore/Modules/webdatabase -I ../../WebCore/Modules/websockets -I ../../WebCore/accessibility -I ../../WebCore/bindings/generic -I ../../WebCore/bindings/js -I ../../WebCore/bindings -I ../../WebCore/bridge -I ../../WebCore/bridge/c -I ../../WebCore/bridge/jsc -I ../../WebCore/css -I ../../WebCore/dom -I ../../WebCore/dom/default -I ../../WebCore/editing -I ../../WebCore/fileapi -I ../../WebCore/history -I ../../WebCore/html -I ../../WebCore/html/forms -I ../../WebCore/html/shadow -I ../../WebCore/inspector -I ../../WebCore/loader -I ../../WebCore/loader/archive -I ../../WebCore/loader/appcache -I ../../WebCore/loader/icon -I ../../WebCore/loader/cache -I ../../WebCore/page -I ../../WebCore/page/animation -I
../../WebCore/page/scrolling -I ../../WebCore/platform -I ../../WebCore/platform/animation -I ../../WebCore/platform/audio -I ../../WebCore/platform/fltk -I ../../WebCore/platform/cairo -I ../../WebCore/platform/graphics -I ../../WebCore/platform/graphics/filters -I ../../WebCore/platform/graphics/harfbuzz -I ../../WebCore/platform/graphics/harfbuzz/ng -I ../../WebCore/platform/graphics/cairo -I ../../WebCore/platform/graphics/texmap -I ../../WebCore/platform/graphics/opentype -I ../../WebCore/platform/graphics/transforms -I ../../WebCore/platform/mediastream -I ../../WebCore/platform/mock -I ../../WebCore/platform/network -I ../../WebCore/platform/network/curl -I ../../WebCore/platform/sql -I ../../WebCore/platform/text -I ../../WebCore/plugins -I ../../WebCore/rendering -I ../../WebCore/rendering/line -I ../../WebCore/rendering/shapes -I ../../WebCore/rendering/style -I ../../WebCore/storage -I ../../WebCore/style -I ../../WebCore/svg -I ../../WebCore/svg/animation -I ../../WebCore/svg/graphics -I
../../WebCore/svg/properties -I ../../WebCore/workers -I ../../JavaScriptCore -I ../../JavaScriptCore/API -I ../../JavaScriptCore/assembler -I ../../JavaScriptCore/bytecode -I ../../JavaScriptCore/bytecompiler -I ../../JavaScriptCore/disassembler -I ../../JavaScriptCore/dfg -I ../../JavaScriptCore/heap -I ../../JavaScriptCore/debugger -I ../../JavaScriptCore/interpreter -I ../../JavaScriptCore/jit -I ../../JavaScriptCore/llint -I ../../JavaScriptCore/parser -I ../../JavaScriptCore/profiler -I ../../JavaScriptCore/runtime
-DENABLE_CANVAS_PATH  -DENABLE_CHANNEL_MESSAGING  -DENABLE_CONTEXT_MENUS  -DENABLE_CSS_BOX_DECORATION_BREAK  -DENABLE_CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED  -DENABLE_DETAILS_ELEMENT  -DENABLE_FTPDIR  -DENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING  -DENABLE_ICONDATABASE  -DENABLE_IMAGE_DECODER_DOWN_SAMPLING  -DENABLE_INSPECTOR  -DENABLE_JIT  -DENABLE_LEGACY_VENDOR_PREFIXES  -DENABLE_LINK_PREFETCH  -DENABLE_LLINT  -DENABLE_METER_ELEMENT  -DENABLE_NAVIGATOR_HWCONCURRENCY  -DENABLE_PROMISES  -DENABLE_PROGRESS_ELEMENT  -DENABLE_SVG_FONTS  -DENABLE_TEMPLATE_ELEMENT  -DENABLE_WEB_SOCKETS  -DENABLE_XSLT  -DENABLE_SUBPIXEL_LAYOUT  -DENABLE_VIEW_MODE_CSS_MEDIA  -DENABLE_CURSOR_SUPPORT  -DENABLE_DRAG_SUPPORT  -DENABLE_FIFTH_VIDEO  -DENABLE_VIDEO  -DENABLE_VIDEO_TRACK  -DENABLE_MATHML  -DENABLE_TEXT_CARET  -DENABLE_TEXT_SELECTION  -DENABLE_WILL_REVEAL_EDGE_EVENTS  -DWTF_USE_TEXTURE_MAPPER  -DWTF_USE_CROSS_PLATFORM_CONTEXT_MENUS -DENABLE_NETSCAPE_PLUGIN_API=0 -DENABLE_SQL_DATABASE=0 -DENABLE_DATE_AND_TIME_INPUT_TYPES=0 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -Wall -I/usr/local/include -mtune=generic -Os -pipe -fno-exceptions -fno-rtti -fvisibility-inlines-hidden -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_THREAD_SAFE -D_REENTRANT dirlisting.cpp
dirlisting.cpp: In function 'const char* gendirlisting(const char*)':
dirlisting.cpp:85:51: error: invalid conversion from 'int (*)(const void*, const void*)' to 'int (*)(const dirent**, const dirent**)' [-fpermissive]
  const int num = scandir(dir, &names, filter, comp);
                                                   ^
In file included from dirlisting.cpp:22:0:
/usr/include/dirent.h:254:12: note: initializing argument 4 of 'int scandir(const char*, dirent***, int (*)(const dirent*), int (*)(const dirent**, const dirent**))'
 extern int scandir (const char *__restrict __dir,
            ^
Makefile:139: recipe for target 'dirlisting.o' failed
make: *** [dirlisting.o] Error 1
make: Leaving directory '/usr/src/webkitfltk-0.1/Source/WebKit/fltk'
« Last Edit: November 17, 2014, 10:30:33 PM by Juanito »

Offline curaga

  • Administrator
  • Hero Member
  • *****
  • Posts: 10992
Re: Webkit notes
« Reply #34 on: November 17, 2014, 12:04:00 PM »
What was the problem? dirlisting thing is a bug, will be fixed soon.
The only barriers that can stop you are the ones you create yourself.

Offline Juanito

  • Administrator
  • Hero Member
  • *****
  • Posts: 14634
Re: Webkit notes
« Reply #35 on: November 17, 2014, 10:31:36 PM »
edited previous post with more detailed error listing (I had to split the line as it was too long to cut and paste...)

Edit: - looks similar to fltk str#3023 and http://permalink.gmane.org/gmane.comp.lib.fltk.bugs/6551?

Edit2; This seems to fix it, but is it kosher?

static int comp(const void *ap, const void *bp) { -> static int comp(const dirent **ap, const dirent **bp) {
« Last Edit: November 18, 2014, 12:43:41 AM by Juanito »

Offline curaga

  • Administrator
  • Hero Member
  • *****
  • Posts: 10992
Re: Webkit notes
« Reply #36 on: November 18, 2014, 03:06:54 AM »
The dirlisting thing was fixed in git. What was the issue with the missing header?
The only barriers that can stop you are the ones you create yourself.

Offline Juanito

  • Administrator
  • Hero Member
  • *****
  • Posts: 14634
Re: Webkit notes
« Reply #37 on: November 18, 2014, 04:15:32 AM »
Really? It must have been pretty recent as I tried git last night...

The missing header was operator error - without my reading glasses, I missed the "make WebCore" step  :-[

Now it's baulking at webkit/fltk when it gets to a static link to harfbuzz-icu

Offline Juanito

  • Administrator
  • Hero Member
  • *****
  • Posts: 14634
Re: Webkit notes
« Reply #38 on: November 18, 2014, 05:24:11 AM »
got there - see screenshot  8)

..trouble is that webkitfltk.a is 340mb and fifth is  41mb (unpacked), but a more manageable 13.7mb as an extension...
« Last Edit: November 18, 2014, 05:39:18 AM by Juanito »

Offline curaga

  • Administrator
  • Hero Member
  • *****
  • Posts: 10992
Re: Webkit notes
« Reply #39 on: November 18, 2014, 09:37:55 AM »
Yay :) Just curious, how long did it take you to build webkitfltk? What kind of cpu?

You can make it smaller by disabling asserts in webkitfltk, then the webkit lib is only ~130mb. See the latest webkitfltk README.
The only barriers that can stop you are the ones you create yourself.

Offline curaga

  • Administrator
  • Hero Member
  • *****
  • Posts: 10992
Re: Webkit notes
« Reply #40 on: November 18, 2014, 09:47:36 AM »
Also, if your bravery is unmatched you could see what *glances around* LTO could do. I haven't had the guts, with rumors being an hour more and 8GB ram minimum.
The only barriers that can stop you are the ones you create yourself.

Offline Juanito

  • Administrator
  • Hero Member
  • *****
  • Posts: 14634
Re: Webkit notes
« Reply #41 on: November 18, 2014, 10:00:21 AM »
Code: [Select]
make -j5 -C Source/JavaScriptCore [real 8m 45.67s]
make -j5 -C Source/WebCore [real 39m 56.38s]
JavaScriptCore fails to compile with -flto (of course it fails at the final link stage right at the end). Anyway, it still makes static libs larger than without using it most of the time.

Since various Makefiles invoke icu-config, fltk-config, etc, -flto is used in places

cpu is an intel i7-4600 @ 2.10ghz, but I believe it's the 16gb ram that makes the difference.

Not sure if it's useful, but a couple of notes:

* webkit puts headers in include/webkitfltk, but fifth looks for them in include only
* the fifth tarball will not compile due to missing src/genver.sh (and possibly others)
* liburlmatch Makefile is missing "install"

fifth posted to tc-6.x x86_64 repo - I like it  :)

Offline curaga

  • Administrator
  • Hero Member
  • *****
  • Posts: 10992
Re: Webkit notes
« Reply #42 on: November 18, 2014, 10:10:18 AM »
- header thing has been changed in today's git, pkg-config is now used
- urlmatch install target was added yesterday

The tarball needs some tuning yeah.
The only barriers that can stop you are the ones you create yourself.

Offline curaga

  • Administrator
  • Hero Member
  • *****
  • Posts: 10992
Re: Webkit notes
« Reply #43 on: November 18, 2014, 11:08:59 AM »
0.1.1 released with build fixes mainly.
The only barriers that can stop you are the ones you create yourself.

Offline Juanito

  • Administrator
  • Hero Member
  • *****
  • Posts: 14634
Re: Webkit notes
« Reply #44 on: November 18, 2014, 09:57:21 PM »
One thing I forgot to mention is that I couldn't resize the fifth window from the corner, only from the bottom or side.