= EFL Port of WebKit = WebKit is an open source web browser engine. WebKit's HTML and JavaScript code began as a branch of the KHTML and KJS libraries from KDE. As part of KDE framework KHTML was based on Qt but during their porting efforts Apple's engineers made WebKit toolkit independent. == About EFL == The [http://en.wikipedia.org/wiki/Enlightenment_Foundation_Libraries Enlightenment Foundation Libraries] (EFL for short) are a set of graphical libraries intended to provide easy-to-use resources for building rich user interfaces based applications. It is the core of the [http://enlightenment.org/p.php?p=sponsors&l=en Enlightenment] (E!) window environment. As mentioned in E!'s official web site, "the libraries are meant to be portable and optimized to be functional even on devices such as mobile devices". Its core components are: * Evas: Highly optimized raster canvas * Edje: Declarative UI library * Ecore: Event loop and utility classes * Eina: Basic data types * Embryo: Scripting == About the port == WebKit/EFL is a project aiming at porting WebKit to the Enlightenment Foundation Libraries, and as the developers also work on the Qt port, we try to keep the implementation as close as possible to that of QtWebKit. == Getting the source == As the port is not upstreamed, one can not get the source from official [http://webkit.org/building/checkout.html WebKit repository]. Instead, we are hosting our development in the [http://gitorious.org Gitorious] server at thie stage of development. See also [http://gitorious.org/webkit-efl WebKit/EFL project homepage] there. {{{ $ git clone git://gitorious.org/webkit-efl/webkit-efl.git webkit $ cd webkit $ git checkout origin/master $ git checkout -b < branch name > # e.g. webkit-efl }}} NOTE: We try to keep it in sync with WebKit trunk as much as possible, though it might be a week or two behind. == Development == === Dependencies === Below is a list of Debian package names you will need to install. * libicu-dev * libxslt-dev * libcurl3 * libsqlite3-dev * gperf * bison * flex * libjpeg62-dev * libpng12-dev * libxt-dev * autotools-dev * libfontconfig1-dev * libcairo2-dev * libfreetype6-dev * libglib2.0-dev (for flash support) Additionally, the [https://svn.enlightenment.org/svn/e/trunk/ EFL specific packages] (not officially debianized) have to be installed. * eina * evas * ecore * edje == Build and Install == Like Gtk+ port, EFL port can also be built using autotools (autoconf, automake, libtool): {{{ $ ./autogen.sh --prefix=/path/to/install/directory -disable-video $ make }}} OR through webkit's build instructure scripts: {{{ WebKitInstallationPrefix=/path/to/install/directory WebKitTools/Scripts/build-webkit --efl --makeargs=<-s -jXX> --no-video }}} This will build a demo browser that uses the EFL port in the `Programs/` directory which you can run using the following command: {{{ WebKitTools/Scripts/run-launcher --efl }}} If you have questions just join #webkit-efl on irc.freenode.net.