Information and patches for compiling WebKit-Gtk on linux (Fedora 10) for windows. vi /usr/i686-pc-mingw32/sys-root/mingw/include/stdlib.h Change line 317 to: __inline__ double __cdecl __MINGW_NOTHROW strtod (const char* __restrict__ __nptr, char** __restrict__ __endptr) Thanks to Camarade_Tux for most of the patches. # rpm -qa | grep mingw32 mingw32-zlib-1.2.3-11.fc10.noarch mingw32-gettext-0.17-7.fc10.noarch mingw32-binutils-2.19-2.fc10.i386 mingw32-pixman-0.13.2-2.fc10.noarch mingw32-gcc-4.3.2-12.fc10.i386 mingw32-expat-2.0.1-2.fc10.noarch mingw32-curl-7.18.2-5.fc10.noarch mingw32-pthreads-2.8.0-4.fc10.noarch mingw32-gcc-c++-4.3.2-12.fc10.i386 mingw32-filesystem-43-6.fc11.noarch mingw32-iconv-1.12-7.fc10.noarch mingw32-termcap-1.3.1-5.fc10.noarch mingw32-glib2-2.19.5-2.1.fc10.noarch mingw32-freetype-2.3.8-1.fc10.noarch mingw32-jasper-1.900.1-6.fc10.noarch mingw32-cairo-1.8.0-6.fc10.noarch mingw32-w32api-3.12-8.fc10.noarch mingw32-libidn-1.9-3.fc10.noarch mingw32-atk-1.25.2-5.fc10.noarch mingw32-libssh2-0.18-4.fc10.noarch mingw32-gtk2-2.15.0-3.fc10.noarch mingw32-cpp-4.3.2-12.fc10.i386 mingw32-runtime-3.15.1-10.fc10.noarch mingw32-libpng-1.2.34-2.fc10.noarch mingw32-libjpeg-6b-8.fc10.noarch mingw32-pango-1.22.1-4.fc10.noarch mingw32-libxml2-2.7.2-6.fc10.noarch mingw32-openssl-0.9.8j-2.fc10.noarch mingw32-fontconfig-2.6.0-8.fc10.noarch mingw32-libglade2-2.6.3-4.fc10.noarch
Created attachment 27524 [details] 1-39903-replace_icu_with_glib_idn
Created attachment 27525 [details] 2-39903-mingw.diff
Created attachment 27526 [details] 3-39903-localtime_gmtime.diff
Created attachment 27528 [details] 4-39903-web-workers.diff
Created attachment 27529 [details] 5-39903-pluginwin.diff
One patch is missing (need to be created). When it complains about missing pthread.h and sched.h do this. vi GNUmakefile and add "-I/usr/i686-pc-mingw32/sys-root/mingw/include/pthread" to GLOBALDEPS_CFLAGS
Comment on attachment 27524 [details] 1-39903-replace_icu_with_glib_idn Keep an eye on this bug: 15914
Created attachment 29739 [details] 1-1.1.5-replace_icu_with_glib_idn.diff
Created attachment 29740 [details] 2-1.1.5-mingw.diff
Created attachment 29741 [details] 3-1.1.5-localtime_gmtime.diff
Created attachment 29742 [details] 4-1.1.5-database.diff
Created attachment 29743 [details] 5-1.1.5-gio.diff
Created attachment 29744 [details] 6-1.1.5-download.diff
Just updated to 1.1.5 for cross-compiling webkitgtk to windows. These are not quality patches, but it works on Windows. 5-1.1.5-gio.diff: Needs to be fixed so that "didReceiveResponse" also works on Windows. 6-1.1.5-download.diff: Some conflict with the signal "ERROR" renamed to "DOWNLOAD_ERROR" One patch is still missing (need to be created). When it complains about missing pthread.h and sched.h do this. vi GNUmakefile and add "-I/usr/i686-pc-mingw32/sys-root/mingw/include/pthread" to GLIB_CFLAGS
Can you provide a binary for me to test? I'm looking to use webkitgtk for the gnucash project for report/chart display. I've integrated with webkitgtk 1.0.1 on my ubuntu linux system, and someone has built it on macosx, but I've been unable to build properly on mingw on win32. If you could post a binary somewhere, I could integrate on winxp and test.
Here is the binaries: http://bohr.linet.dk/files/ bin.zip is the full "bin" dir I use.
Is this still being worked on? Do you have patches for more recent versions of webkit-gtk?
Most of these patches is not necessary any more. Keep a eye out for: https://bugs.webkit.org/show_bug.cgi?id=31468 https://bugs.webkit.org/show_bug.cgi?id=31469 https://bugs.webkit.org/show_bug.cgi?id=31470 I uses two patches now for 1.1.11, since newer versions need the newest GLib (or Gtk) Will close this, when the bugs above is closed.
Created attachment 43224 [details] webkit-1.1.11-glibunicode.patch
Created attachment 43225 [details] webkit-1.1.11-gio.patch
> Will close this, when the bugs above is closed. The bugs listed in comment 18 are fixed now - can this be closed? The remaining patches here aren't marked for review.
All patches are in the latest 1.2 The gio patch was a workaround, a new bug will be opened for that.
Created attachment 58587 [details] All kinds of fixes All kinds of fixes
Created attachment 58588 [details] Fix for opening local files on windows Fix for opening local files on windows Should work for all other platforms aswell.
Created attachment 58589 [details] JPEG patch JPEG patch to use jpeg_boolean Also a patch for some stat stuff.
Reopen for Fedora 13
(In reply to comment #25) > Created an attachment (id=58589) [details] > JPEG patch > > JPEG patch to use jpeg_boolean > > Also a patch for some stat stuff. The jpeg_boolean is something I introduced in Fedora's version of libjpeg as libjpeg's definition of 'boolean' conflicts with the Win32 API's definition of 'boolean'. See https://bugzilla.redhat.com/show_bug.cgi?id=497492 and http://sourceforge.net/mailarchive/forum.php?thread_name=10940.1240594567%40sss.pgh.pa.us&forum_name=libjpeg-devel-6x for more details. This change hasn't been upstreamed yet (upstream libjpeg is kinda death). In my opinion this conflict should be fixed in libjpeg as we can't change the Win32 headers.
> Reopen for Fedora 13 Thanks for following up on this! Generally, we prefer to have a separate bug for every patch, when practical. This particular bug is old enough for most discussion it in to be irrelevant for current work and misleading, meaning that someone won't be easily able to figure out what's going on by reading it. > JPEG patch This patch isn't marked for review - is that intentional?
(In reply to comment #28) > Generally, we prefer to have a separate bug for every patch, when practical. I will open separate patches for "Fix for opening local files on windows" and "JPEG patch". The "All kinds of fixes" is a mess that needs splitting up and further testing and different fixes. It is hardcoded for windows compiling, needs "if OS_WIN" and stuff in Makefiles. Will try to split it up. Hope Fridrich will help. > > JPEG patch > > This patch isn't marked for review - is that intentional? This patch I don't know about, since the change is in "libjpeg" like Erik #27 said it's a jpeg upstream fix, that we need to wait for. But that means changing the API of libjpeg, which maybe be bad. So yes it is intentional that it is not marked for review. -- Overall I just kept this bug open for people that needs to compile webkit for windows.
I believe all the patches here have either landed in the webkit tree or are obsolete by now, and the bug can be closed.
Marking fixed per the above two comments. > Overall I just kept this bug open for people that needs to compile webkit for windows. If there is some information or patches that cannot be landed in WebKit trunk, WebKit wiki is a better place for that than Bugzilla.
(In reply to comment #30) > I believe all the patches here have either landed in the webkit tree or are obsolete by now, and the bug can be closed. All patches are in the webkit tree. This bug can be closed