Changes between Version 20 and Version 21 of BuildingGtk


Ignore:
Timestamp:
Jan 16, 2008 1:57:59 AM (13 years ago)
Author:
alp@atoker.com
Comment:

Link to the archived GTK+/qmake build instructions

Legend:

Unmodified
Added
Removed
Modified
  • BuildingGtk

    v20 v21  
    11[[PageOutline]]
    22
    3 = Building the Gtk port =
     3= Building the GTK+ port =
    44
    5 The Gtk port of WebKit is intended to provide a browser component primarily for users of the portable [http://www.gtk.org/ Gtk+] UI toolkit on platforms like Linux.
     5The GTK+ port of WebKit is intended to provide a browser component primarily for users of the portable [http://www.gtk.org/ Gtk+] UI toolkit on platforms like Linux.
    66
    77== Status of the port ==
     
    99The port is actively maintained, and its build state is continuously tested by the [http://build.webkit.org/ WebKit build-bot].
    1010
    11 Developers interested in using or contributing to the Gtk port should be willing to get their hands dirty at this stage. Patches are welcomed on the bug tracker and help is readily available on the IRC channel and mailing list for developers who want to learn the ropes.
     11Developers interested in using or contributing to the GTK+ port should be willing to get their hands dirty at this stage. Patches are welcomed on the bug tracker and help is readily available on the IRC channel and mailing list for developers who want to learn the ropes.
    1212
    1313It is worth noting that this project is being developed directly in WebKit SVN and is entirely unrelated to the classic [http://gtk-webcore.sourceforge.net/ Gtk+ WebCore].
     
    5252== Dependencies ==
    5353
    54 The code should be easily built on any Linux distribution which has development packages for Gtk+ installed. Packages you might need to install (in addition to an "ordinary build environment"):
     54The code should be easily built on any Linux distribution which has development packages for GTK+ installed. Packages you might need to install (in addition to an "ordinary build environment"):
    5555
    5656 * libicu-dev
     
    6464 * flex version 2.5.33 or later
    6565
    66 If you forgot to install one of the build dependencies, your build tree might be in a bad state and might fail to compile even after you've installed the missing dependency. In this case, you should ensure your SVN checkout is entirely clean with eg. make -C WebKitBuild/Release/WebCore clean
     66== Using autotools ==
    6767
    68 === On Debian ===
    69 
    70 To satify WebKit build dependencies simply:
    71 
    72 {{{
    73    apt-get build-dep webkit
    74 }}}
    75 
    76 == Using Qmake4 ==
    77 
    78 The Gtk port has made a compromise on its build system by incurring a dependency on qmake 4, the Qt toolkit build system. This is only a build-time dependency -- the compiled executables will of course continue to have no requirement of Qt. The decision was made to share resources with the Qt porting team and has been largely successful -- the Gtk port is more likely now than ever to be in a building state straight out of SVN while the port developers have more free time to write code instead of maintaining the old Bakefile build system.
    79 
    80 To start the build, ensure that you have qmake4 installed and run:
    81 
    82 WebKit/WebKitTools/Scripts$ ./build-webkit --gtk
    83 
    84 The above command will try to execute "qmake". If your qmake4 binary is named differently, e.g. on Debian,  use the --qmake= option.
    85 
    86 WebKit/WebKitTools/Scripts$ ./build-webkit --gtk --qmake=qmake-qt4
    87 
    88 This will build both the library and the GtkLauncher demo in WebKit/WebKitBuild
    89 
    90 Note: your system might have both qmake and qmake-qt4 (Debian).  You must use qmake-qt4.  Using `qmake` fails to compile WebCore/platform/gtk/gtk2drawing.c (missing header gtk/gtk.h)
    91 
    92 === Building qmake if your distribution doesn't ship it in a package ===
    93 {{{
    94  wget ftp://ftp.trolltech.com/qt/source/qtopia-core-opensource-src-4.3.2.tar.gz
    95  tar -xvzf qtopia-core-opensource-src-4.3.2.tar.gz
    96  cd qtopia-core-opensource-src-4.3.2
    97  echo yes | ./configure -fast
    98 }}}
    99  
    100 Et voila the bin/ directory holds a qmake binary you can use for the Gtk+ port. You might want to set the QMAKESPEC to $PWD/mkspecs/ANY-SPEC-YOU-WANT but the default should just work.
    101 
    102 To install the library and the header files:
    103 
    104 $ cd WebKitBuild/Release
    105 
    106 # make install
    107 
    108 === Change tracking issues with qmake4 ===
    109 
    110 Currently the build system's of Gtk, Qt and Wx do not detect source changes very well. So unfortunately you should build from scratch every time. :( A work around is to use `ccache`.
    111 
    112 === Building ===
    113  * Missing dependencies are not reported and force a user to take a closer look at the screen.
    114 
    115 == Using Autotools ==
    116 
    117 The Gtk+ port can now be built using autotools (autoconf, automake with libtool). To build the Gtk+ port using autotools just issue the following commands in the command-line:
     68The GTK+ port can now be built using autotools (autoconf, automake, libtool). To build the GTK+ port just issue the following commands:
    11869
    11970{{{
     
    12273}}}
    12374
    124 This will build a demo browser that uses the Gtk+ port in the `Programs/` directory which you can run using the following command:
     75This will build a demo browser that uses the GTK+ port in the `Programs/` directory which you can run using the following command:
    12576
    12677{{{
     
    13485}}}
    13586
    136 The `configure` script also supports the different features WebKit/Gtk+ provide (e.g., SVG filters and animation features, HTML5 Video element support, etc..). Simply issuing
     87The `configure` script also supports the different features WebKit/GTK+ provide (e.g., SVG filters and animation features, HTML5 Video element support, etc..). Simply issuing
    13788
    13889{{{
     
    14091}}}
    14192
    142 in the command-line should give you a brief overview of what can be configured. Although you can build with these features enabled, it doesn't mean that the functionality is complete, let alone working properly. Feel free to submit a bug at http://bugs.webkit.org if you find something that is not working.
     93on the command-line should give you a brief overview of what can be configured. Although you can build with these features enabled, it doesn't mean that the functionality is complete, let alone working properly. Feel free to submit a bug at http://bugs.webkit.org if you find something that is not working.
    14394
     95== Using qmake ==
     96
     97It's still possible to use the legacy build system following the [wiki:BuildingGtkUsingQMake GTK+/qmake build instructions].
     98
     99This system will be phased out soon for the GTK+ port, but is actively maintained at time of writing.
    144100
    145101= Further links =