相关网站资源:
BuildingGtk: http://trac.webkit.org/wiki/BuildingGtk
Getting the Sources:
-
Download a nightly tarball (small download)
-
Download a release
- Check out using SVN (large download)
-
svn checkout http://svn.webkit.org/repository/webkit/trunk WebKit
-
- Check out using GIT (large download, advanced users only)
-
git clone git://git.webkit.org/WebKit.git WebKit
-
For more information about WebKit see the following links
-
< http://webkit.org/ > - The WebKit Open Source Project.
-
< http://trac.webkit.org/wiki/BuildingGtk > - Building the GTK+ port.
-
< http://trac.webkit.org/wiki/HackingGtk > - Hacker's guide to WebKit/GTK+.
-
< http://trac.webkit.org/wiki/ApplicationsGtk > - Applications using WebKit/GTK+.
-
< http://live.gnome.org/WebKitGtk > - Gnome hosted site dedicated to WebKit/GTK+.
-
< http://planet.webkit.org/ > - Planet WebKit provides updated news about WebKit.
1, 下载源代码:
download some fix version:
webkit537.75 : http://nightly.webkit.org/builds/trunk/src/13 http://nightly.webkit.org/builds/trunk/src/1
比如下载webkit537.75
r166330 | 29.7 MB | 2014-03-27 04:18:26 GMT |
webkit600.3:
https://trac.webkit.org/browser/branches/safari-600.3-branch
# svn co http://svn.webkit.org/repository/webkit/branches/safari-600.3-branch
download latest trunk code:
svn checkout http://svn.webkit.org/repository/webkit/trunk WebKit_svn
git clone git://git.webkit.org/WebKit.git WebKit_git
Run the ./Tools/Scripts/update-webkit
script to update your source tree.
Download the all svn source code from http://nightly.webkit.org/files/WebKit-SVN-source.tar.bz2
tar jxvf WebKit-SVN-source.tar.bz2
cd webkit
Run the ./Tools/Scripts/update-webkit
script to update your source tree.
2, 编译(build on linux)
Building WebKit requires that you have the proper developer toolsinstalled and that you have a copy of the WebKit source tree.
Building WebKitGTK+ http://trac.webkit.org/wiki/BuildingGtk
Dependencies
- Install the base WebKitGTK+ dependencies:
$ Tools/gtk/install-dependencies
- Download and build all jhbuild modules:
$ Tools/Scripts/update-webkitgtk-libs
-
$ Tools/Scripts/update-webkitgtk-libs gtk-doc
Building
$ Tools/Scripts/build-webkit --gtk [--debug] ; alert 3, Running: $Tools/Scripts/run-launcher --gtk [--debug] LInk: https://github.com/cablelabs/webkit/wiki/Building-WebKitGTK https://help.ubuntu.com/community/WebKit https://trac.webkit.org/wiki/WebKitGTK/StartHacking
@localhost WebKit-r166330__safari-537.75-branch_r166306]$ Tools/Scripts/build-webkit --gtk
which: no ninja in (/usr/lib/qt-3.3/bin:/usr/lib/ccache:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/home/leosu/trunk/bin:/home/leosu/my_bin:/home/leosu/.local/bin:/home/leosu/bin:/home/leosu/trunk/bin:/home/leosu/my_bin)
which: no ninja-build in (/usr/lib/qt-3.3/bin:/usr/lib/ccache:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/home/leosu/trunk/bin:/home/leosu/my_bin:/home/leosu/.local/bin:/home/leosu/bin:/home/leosu/trunk/bin:/home/leosu/my_bin)
Not searching for unused variables given on the command line.
-- The C compiler identification is GNU 4.9.2
-- The CXX compiler identification is GNU 4.9.2
-- Check for working C compiler: /usr/lib/ccache/cc
-- Check for working C compiler: /usr/lib/ccache/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/lib/ccache/c++
-- Check for working CXX compiler: /usr/lib/ccache/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Found BISON: /usr/bin/bison (found suitable version "3.0.2", minimum required is "2.4.1")
-- Found FLEX: /usr/bin/flex (found suitable version "2.5.37", minimum required is "2.5.34")
-- Found Gperf: /usr/bin/gperf (Required is at least version "3.0.1")
-- Found Perl: /usr/bin/perl (found suitable version "5.18.4", minimum required is "5.10.0")
-- Found PythonInterp: /usr/bin/python2 (found suitable version "2.7.8", minimum required is "2.6.0")
-- Could NOT find Ruby (missing: RUBY_INCLUDE_DIR RUBY_LIBRARY RUBY_CONFIG_INCLUDE_DIR) (found suitable version "2.1.0", minimum required is "1.8.7")
-- Enabled features:
-- ENABLE_3D_RENDERING ......................... ON
-- ENABLE_ACCELERATED_2D_CANVAS OFF
-- ENABLE_ACCESSIBILITY ........................ ON
-- ENABLE_API_TESTS ON
-- ENABLE_ASSEMBLER_WX_EXCLUSIVE ............... OFF
-- ENABLE_BATTERY_STATUS OFF
-- ENABLE_BLOB ................................. ON
-- ENABLE_CANVAS_PATH ON
-- ENABLE_CANVAS_PROXY ......................... OFF
-- ENABLE_CHANNEL_MESSAGING ON
-- ENABLE_CONTEXT_MENUS ........................ ON
-- ENABLE_CSP_NEXT ON
-- ENABLE_CSS3_CONDITIONAL_RULES ............... OFF
-- ENABLE_CSS3_TEXT ON
-- ENABLE_CSS3_TEXT_LINE_BREAK ................. OFF
-- ENABLE_CSS_BOX_DECORATION_BREAK ON
-- ENABLE_CSS_COMPOSITING ...................... OFF
-- ENABLE_CSS_DEVICE_ADAPTATION OFF
-- ENABLE_CSS_EXCLUSIONS ....................... ON
-- ENABLE_CSS_FILTERS OFF
-- ENABLE_CSS_GRID_LAYOUT ...................... ON
-- ENABLE_CSS_IMAGE_ORIENTATION ON
-- ENABLE_CSS_IMAGE_RESOLUTION ................. ON
-- ENABLE_CSS_IMAGE_SET ON
-- ENABLE_CSS_REGIONS .......................... ON
-- ENABLE_CSS_SHAPES ON
-- ENABLE_CSS_STICKY_POSITION .................. ON
-- ENABLE_CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED ON
-- ENABLE_CUSTOM_SCHEME_HANDLER ................ OFF
-- ENABLE_DATALIST_ELEMENT OFF
-- ENABLE_DATA_TRANSFER_ITEMS .................. OFF
-- ENABLE_DETAILS_ELEMENT ON
-- ENABLE_DEVICE_ORIENTATION ................... OFF
-- ENABLE_DOM4_EVENTS_CONSTRUCTOR ON
-- ENABLE_DOWNLOAD_ATTRIBUTE ................... OFF
-- ENABLE_DRAG_SUPPORT ON
-- ENABLE_ENCRYPTED_MEDIA ...................... OFF
-- ENABLE_ENCRYPTED_MEDIA_V2 OFF
-- ENABLE_FAST_MOBILE_SCROLLING ................ ON
-- ENABLE_FILTERS ON
-- ENABLE_FONT_LOAD_EVENTS ..................... OFF
-- ENABLE_FTPDIR ON
-- ENABLE_FULLSCREEN_API ....................... ON
-- ENABLE_GAMEPAD ON
-- ENABLE_GEOLOCATION .......................... ON
-- ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING OFF
-- ENABLE_HIGH_DPI_CANVAS ...................... OFF
-- ENABLE_ICONDATABASE ON
-- ENABLE_IMAGE_DECODER_DOWN_SAMPLING .......... OFF
-- ENABLE_INDEXED_DATABASE ON
-- ENABLE_INPUT_SPEECH ......................... OFF
-- ENABLE_INPUT_TYPE_COLOR OFF
-- ENABLE_INPUT_TYPE_DATE ...................... OFF
-- ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE OFF
-- ENABLE_INPUT_TYPE_DATETIMELOCAL ............. OFF
-- ENABLE_INPUT_TYPE_MONTH OFF
-- ENABLE_INPUT_TYPE_TIME ...................... OFF
-- ENABLE_INPUT_TYPE_WEEK OFF
-- ENABLE_INSPECTOR ............................ ON
-- ENABLE_JIT ON
-- ENABLE_LEGACY_NOTIFICATIONS ................. OFF
-- ENABLE_LEGACY_VENDOR_PREFIXES ON
-- ENABLE_LEGACY_WEB_AUDIO ..................... ON
-- ENABLE_LINK_PREFETCH ON
-- ENABLE_LLINT ................................ ON
-- ENABLE_LLINT_C_LOOP OFF
-- ENABLE_MATHML ............................... ON
-- ENABLE_MEDIA_CAPTURE OFF
-- ENABLE_MEDIA_CONTROLS_SCRIPT ................ ON
-- ENABLE_MEDIA_SOURCE ON
-- ENABLE_MEDIA_STATISTICS ..................... OFF
-- ENABLE_MEDIA_STREAM ON
-- ENABLE_MEMORY_SAMPLER ....................... ON
-- ENABLE_METER_ELEMENT ON
-- ENABLE_MHTML ................................ ON
-- ENABLE_MOUSE_CURSOR_SCALE OFF
-- ENABLE_NAVIGATOR_CONTENT_UTILS .............. OFF
-- ENABLE_NOSNIFF OFF
-- ENABLE_NETSCAPE_PLUGIN_API .................. ON
-- ENABLE_NETWORK_INFO OFF
-- ENABLE_NETWORK_PROCESS ...................... ON
-- ENABLE_NOTIFICATIONS OFF
-- ENABLE_ORIENTATION_EVENTS ................... OFF
-- ENABLE_PAGE_VISIBILITY_API ON
-- ENABLE_PERFORMANCE_TIMELINE ................. ON
-- ENABLE_PROMISES ON
-- ENABLE_PROGRESS_ELEMENT ..................... ON
-- ENABLE_PLUGIN_PROXY_FOR_VIDEO OFF
-- ENABLE_PROXIMITY_EVENTS ..................... OFF
-- ENABLE_QUOTA OFF
-- ENABLE_REQUEST_ANIMATION_FRAME .............. ON
-- ENABLE_RESOLUTION_MEDIA_QUERY OFF
-- ENABLE_RESOURCE_TIMING ...................... ON
-- ENABLE_SCRIPTED_SPEECH OFF
-- ENABLE_SECCOMP_FILTERS ...................... OFF
-- ENABLE_SHARED_WORKERS ON
-- ENABLE_SPELLCHECK ........................... ON
-- ENABLE_SQL_DATABASE ON
-- ENABLE_SVG_FONTS ............................ ON
-- ENABLE_TEMPLATE_ELEMENT ON
-- ENABLE_TEXT_AUTOSIZING ...................... OFF
-- ENABLE_TOUCH_EVENTS ON
-- ENABLE_TOUCH_SLIDER ......................... OFF
-- ENABLE_TOUCH_ICON_LOADING OFF
-- ENABLE_USERSELECT_ALL ....................... ON
-- ENABLE_USER_TIMING ON
-- ENABLE_VIBRATION ............................ OFF
-- ENABLE_VIDEO ON
-- ENABLE_VIDEO_TRACK .......................... ON
-- ENABLE_VIEW_MODE_CSS_MEDIA ON
-- ENABLE_WEB_AUDIO ............................ ON
-- ENABLE_WEB_SOCKETS ON
-- ENABLE_WEB_TIMING ........................... ON
-- ENABLE_WEBGL ON
-- ENABLE_XHR_TIMEOUT .......................... ON
-- ENABLE_XSLT ON
-- USE_SYSTEM_MALLOC ........................... OFF
-- WTF_USE_TILED_BACKING_STORE OFF
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.28")
-- Found GStreamer: GSTREAMER_INCLUDE_DIRS;GSTREAMER_LIBRARIES;GSTREAMER_VERSION;GSTREAMER_BASE_INCLUDE_DIRS;GSTREAMER_BASE_LIBRARIES;GSTREAMER_APP_INCLUDE_DIRS;GSTREAMER_APP_LIBRARIES;GSTREAMER_PBUTILS_INCLUDE_DIRS;GSTREAMER_PBUTILS_LIBRARIES;GSTREAMER_VIDEO_INCLUDE_DIRS;GSTREAMER_VIDEO_LIBRARIES;GSTREAMER_TAG_INCLUDE_DIRS;GSTREAMER_TAG_LIBRARIES;GSTREAMER_AUDIO_INCLUDE_DIRS;GSTREAMER_AUDIO_LIBRARIES;GSTREAMER_FFT_INCLUDE_DIRS;GSTREAMER_FFT_LIBRARIES (found suitable version "1.2.1", minimum required is "1.0.3")
-- Found Cairo: /usr/include/cairo (found suitable version "1.14.0", minimum required is "1.10.2")
-- checking for module 'fontconfig'
-- found fontconfig, version 2.8.0
-- Found Fontconfig: /mnt/WebKit-r166330__safari-537.75-branch_r166306/WebKitBuild/Dependencies/Root/lib/libfontconfig.so (Required is at least version "2.8.0")
-- checking for module 'freetype2'
-- found freetype2, version 16.0.10
-- Found Freetype2: /mnt/WebKit-r166330__safari-537.75-branch_r166306/WebKitBuild/Dependencies/Root/include/freetype2/freetype;/mnt/WebKit-r166330__safari-537.75-branch_r166306/WebKitBuild/Dependencies/Root/include/freetype2 (Required is at least version "2.4.2")
-- checking for module 'gtk+-2.0'
-- package 'gtk+-2.0' not found
CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:136 (message):
Could NOT find GTK2 (missing: GTK2_INCLUDE_DIRS GTK2_LIBRARIES) (Required
is at least version "2.24.10")
Call Stack (most recent call first):
/usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:343 (_FPHSA_FAILURE_MESSAGE)
Source/cmake/FindGTK2.cmake:49 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
Source/cmake/OptionsGTK.cmake:174 (find_package)
CMakeLists.txt:141 (include)
-- Configuring incomplete, errors occurred!
----->>>>>>>>>>>>>>
export GTK2_INCLUDE_DIRS="/usr/include/gtk-2.0/"
export GTK2_LIBRARIES="/usr/lib/gtk-2.0/"
export PKG_CONFIG_PATH="/usr/lib/pkgconfig:$PKG_CONFIG_PATH"
sudo add-apt-repository ppa:webkit-team
sudo apt-get update
---->>>>>>
sudo apt-get install libwebkitgtk-3.0-0 libwebkitgtk-dev python-webkit python-webkit-dev
fatal error: llvm/ADT/OwningPtr.h: No such file or directory------------>>>>>>>
sudo apt-get remove llvm
sudo apt-get autoremove llvm-3.5 llvm-3.5-dev llvm-3.5-runtime
The following packages will be REMOVED:
llvm-3.5 llvm-3.5-dev llvm-3.5-runtime llvm-runtime
sudo apt-get install llvm-3.4 llvm-3.4-tools llvm-runtime llvm-3.4-dev llvm-3.4-runtime
sudo apt-get install llvm-3.5 llvm-3.5-tools llvm-runtime llvm-3.5-dev llvm-3.5-runtime llvm-runtime