See Also: * [BuildingQtOnLinux Building the Qt Port on Linux] * [BuildingQtOnWindows Building the Qt Port on Windows] These instructions assume you are building on an OSX system with Mac Ports installed having the qt4-mac (4.5.2) port installed. == Checkout the Code == You'll need to check out WebKit from SVN or Qt WebKit from Git {{{ svn checkout http://svn.webkit.org/repository/webkit/trunk WebKit # WebKit SVN Trunk }}} '''OR''' {{{ git clone git://gitorious.org/qtwebkit/qtwebkit.git # Qt WebKit Git Branch }}} == Building == === Workaround #1 - for missing Qt Headers === This works around the problem with Qt headers being reference directly from /usr/include regardless of where the QTDIR is (Fixes "''../../../WebKit/JavaScriptCore/wtf/unicode/qt4/UnicodeQt4.h:26:17: error: QChar: No such file or directory''" errors): {{{ export QTDIR=/opt/local/libexec/qt4-mac # mac ports Qt cd /usr/include for q in $QTDIR/include/*; do if [ ! -e "`basename $q`" ]; then sudo ln -s "$q"; fi ; done # create a symlink }}} === Workaround #2 - for flex tokenizer.cpp generation problem === Next start the build: {{{ export WEBKITSRCDIR=qtwebkit # change this to 'WebKit' to build WebKit SVN Trunk export WEBKITOUTPUTDIR=`pwd`/${WEBKITSRCDIR}-build ${WEBKITSRCDIR}/WebKitTools/Scripts/build-webkit --qt --qmake=qmake-4.5 --makeargs="-j2" -spec macx-g++ --no-video --debug }}} The build will ultimately fail with an error message "''Undefined symbols: "WebCore::CSSParser::lex()", referenced from: WebCore::CSSParser::lex(void*)in CSSParser.o''" when it attempts to link the binaries, to fix that we run the flex make target by hand and copy the result into the build output drectory: {{{ cd ${WEBKITSRCDIR}/WebCore rm tokenizer.cpp WebCore=. make -f DerivedSources.make tokenizer.cpp mv tokenizer.cpp ${WEBKITOUTPUTDIR}/Debug/WebCore/generated/debug/tokenizer.cpp cd ${WEBKITOUTPUTDIR}/.. }}} === Finish Up and Run === Rerunning the build should recompile CSSParser.cpp and link correctly. {{{ ${WEBKITSRCDIR}/WebKitTools/Scripts/build-webkit --qt --qmake=qmake-4.5 --makeargs="-j2" -spec macx-g++ --no-video --debug }}} Finally start the demo Qt browser: {{{ ${WEBKITSRCDIR}/WebKitTools/Scripts/run-launcher --qt --debug # After this, check the dock and you'll see an icon for a Qt console app ... }}}