Commit 0321d23b authored by zack's avatar zack

CMake is too slow to make it the default build for us. This

patch adds QMake build which works, way, way better. Mostly 
done by Simon Hausmann.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@18114 268f45cc-cd09-0410-ab3c-d52691b4dbfc
parent 46b7aad7
2006-12-09 Lars Knoll <lars@trolltech.com>
Reviewed by Zack
Make it possible to build WebKit with qmake.
* WebKit.pri: Added.
* WebKit.pro: Added.
2006-11-19 Simon Hausmann <hausmann@kde.org>
Reviewed by Zack.
......
2006-12-09 Lars Knoll <lars@trolltech.com>
Reviewed by Zack
Make it possible to build WebKit with qmake.
* JavaScriptCore.pro: Added.
* kjs/kjs.pro: Removed.
* pcre/pcre.pri: Added.
2006-12-09 Zack Rusin <zack@kde.org>
Fixing the compilation with platform kde after the icu changes.
......
# JavaScriptCore - Qt4 build info
VPATH += $$PWD
TEMPLATE = lib
TARGET = JavaScriptCore
DESTDIR = ../lib
OBJECTS_DIR = tmp
INCLUDEPATH += tmp
INCLUDEPATH += $$PWD $$PWD/kjs $$PWD/bindings $$PWD/bindings/c $$PWD/wtf
DEFINES -= KJS_IDENTIFIER_HIDE_GLOBALS
DEFINES += BUILDING_QT__
QT -= gui
isEmpty(OUTPUT_DIR):OUTPUT_DIR=$$PWD
include($$OUTPUT_DIR/config.pri)
include(pcre/pcre.pri)
LUT_FILES += \
kjs/date_object.cpp \
kjs/number_object.cpp \
kjs/string_object.cpp \
kjs/array_object.cpp \
kjs/math_object.cpp \
kjs/regexp_object.cpp
KEYWORDLUT_FILES += \
kjs/keywords.table
KJSBISON += \
kjs/grammar.y
SOURCES += \
wtf/TCSystemAlloc.cpp \
wtf/Assertions.cpp \
wtf/HashTable.cpp \
wtf/FastMalloc.cpp \
bindings/NP_jsobject.cpp \
bindings/npruntime.cpp \
bindings/runtime_array.cpp \
bindings/runtime.cpp \
bindings/runtime_method.cpp \
bindings/runtime_object.cpp \
bindings/runtime_root.cpp \
bindings/c/c_class.cpp \
bindings/c/c_instance.cpp \
bindings/c/c_runtime.cpp \
bindings/c/c_utility.cpp \
kjs/DateMath.cpp \
kjs/JSWrapperObject.cpp \
kjs/PropertyNameArray.cpp \
kjs/array_object.cpp \
kjs/bool_object.cpp \
kjs/collector.cpp \
kjs/Context.cpp \
kjs/date_object.cpp \
kjs/debugger.cpp \
kjs/dtoa.cpp \
kjs/error_object.cpp \
kjs/ExecState.cpp \
kjs/fpconst.cpp \
kjs/function.cpp \
kjs/function_object.cpp \
kjs/identifier.cpp \
kjs/internal.cpp \
kjs/interpreter.cpp \
kjs/JSImmediate.cpp \
kjs/JSLock.cpp \
kjs/lexer.cpp \
kjs/list.cpp \
kjs/lookup.cpp \
kjs/math_object.cpp \
kjs/nodes.cpp \
kjs/nodes2string.cpp \
kjs/number_object.cpp \
kjs/object.cpp \
kjs/object_object.cpp \
kjs/operations.cpp \
kjs/Parser.cpp \
kjs/property_map.cpp \
kjs/property_slot.cpp \
kjs/regexp.cpp \
kjs/regexp_object.cpp \
kjs/scope_chain.cpp \
kjs/string_object.cpp \
kjs/ustring.cpp \
kjs/value.cpp
# GENERATOR 1-A: LUT creator
lut.output = tmp/${QMAKE_FILE_BASE}.lut.h
lut.commands = perl $$PWD/kjs/create_hash_table ${QMAKE_FILE_NAME} -i > ${QMAKE_FILE_OUT}
lut.depend = ${QMAKE_FILE_NAME}
lut.input = LUT_FILES
lut.CONFIG += no_link
QMAKE_EXTRA_COMPILERS += lut
# GENERATOR 1-B: particular LUT creator (for 1 file only)
keywordlut.output = tmp/lexer.lut.h
keywordlut.commands = perl $$PWD/kjs/create_hash_table ${QMAKE_FILE_NAME} -i > ${QMAKE_FILE_OUT}
keywordlut.depend = ${QMAKE_FILE_NAME}
keywordlut.input = KEYWORDLUT_FILES
keywordlut.CONFIG += no_link
QMAKE_EXTRA_COMPILERS += keywordlut
# GENERATOR 2: bison grammar
kjsbison.output = tmp/${QMAKE_FILE_BASE}.cpp
macx:kjsbison.commands = bison -d -p kjsyy ${QMAKE_FILE_NAME} && mv kjs/${QMAKE_FILE_BASE}.tab.c ${QMAKE_FILE_OUT} && mv kjs/${QMAKE_FILE_BASE}.tab.h tmp/${QMAKE_FILE_BASE}.h
!macx:kjsbison.commands = bison -d -p kjsyy ${QMAKE_FILE_NAME} && mv ${QMAKE_FILE_BASE}.tab.c ${QMAKE_FILE_OUT} && mv ${QMAKE_FILE_BASE}.tab.h tmp/${QMAKE_FILE_BASE}.h
kjsbison.depend = ${QMAKE_FILE_NAME}
kjsbison.input = KJSBISON
kjsbison.variable_out = GENERATED_SOURCES
kjsbison.dependency_type = TYPE_C
kjsbison.CONFIG = target_predeps
QMAKE_EXTRA_COMPILERS += kjsbison
LANGUAGE = C++
TARGET = kjs
TEMPLATE = lib
CONFIG += qt warn_on debug static
QT -= gui
unix {
!system(which perl >/dev/null 2>&1):error("Build requires perl.")
!exists(lexer.lut.h):system(perl create_hash_table keywords.table -i >lexer.lut.h)
!exists(array_object.lut.h):system(perl create_hash_table array_object.cpp -i >array_object.lut.h)
!exists(math_object.lut.h):system(perl create_hash_table math_object.cpp -i >math_object.lut.h)
!exists(date_object.lut.h):system(perl create_hash_table date_object.cpp -i >date_object.lut.h)
!exists(number_object.lut.h):system(perl create_hash_table number_object.cpp -i >number_object.lut.h)
!exists(string_object.lut.h):system(perl create_hash_table string_object.cpp -i >string_object.lut.h)
!exists(regexp_object.lut.h):system(perl create_hash_table regexp_object.cpp -i >regexp_object.lut.h)
!exists(grammar.cpp):system(bison -d -p kjsyy grammar.y && mv grammar.tab.c grammar.cpp && mv grammar.tab.h grammar.h)
}
# QMakes YACC support is strange
# YACCSOURCES += grammar.y
SOURCES += \
../kxmlcore/FastMalloc.cpp \
../kxmlcore/TCSystemAlloc.cpp \
../kxmlcore/HashTable.cpp \
array_object.cpp \
function_object.cpp \
nodes2string.cpp \
reference.cpp \
bool_object.cpp \
identifier.cpp \
nodes.cpp \
reference_list.cpp \
collector.cpp \
internal.cpp \
number_object.cpp \
regexp.cpp \
date_object.cpp \
interpreter.cpp \
object.cpp \
regexp_object.cpp \
debugger.cpp \
object_object.cpp \
scope_chain.cpp \
dtoa.cpp \
lexer.cpp \
operations.cpp \
string_object.cpp \
error_object.cpp \
list.cpp \
property_map.cpp \
fpconst.cpp \
lookup.cpp \
property_slot.cpp \
ustring.cpp \
function.cpp \
math_object.cpp \
value.cpp \
JSLock.cpp \
grammar.cpp
!macx:unix {
INCLUDEPATH += .. ../pcre ../kxmlcore ../bindings
MOC_DIR = .moc
OBJECTS_DIR = .obj
QMAKE_CXXFLAGS_DEBUG += -ansi
}
win32 {
INCLUDEPATH += .. ../pcre ../kxmlcore ../bindings ../icu
QMAKE_CXXFLAGS_RELEASE += /Zm1000
QMAKE_CXXFLAGS_DEBUG += /Zm1000
}
# Perl Compatible Regular Expressions - Qt4 build info
VPATH += $$PWD
INCLUDEPATH += $$PWD
SOURCES += \
pcre_get.c \
pcre_printint.c \
pcre_refcount.c \
pcre_ucp_findchar.c \
pcre_compile.c \
pcre_globals.c \
pcre_config.c \
pcre_version.c \
pcre_info.c \
pcre_study.c \
pcre_exec.c \
pcre_xclass.c \
ucp_findchar.c \
pcre_tables.c \
pcre_maketables.c \
pcre_try_flipped.c \
pcre_ord2utf8.c \
pcre_fullinfo.c
CTGENFILE += \
dftables.c
# GENERATOR: "chartables.c": compile and execute the chartables generator (and add it to sources)
ctgen.output = tmp/chartables.c
ctgen.commands = gcc ${QMAKE_FILE_NAME} -DBUILDING_QT__ -I$$PWD/../wtf -o tmp/${QMAKE_FILE_BASE} && ./tmp/${QMAKE_FILE_BASE} ${QMAKE_FILE_OUT}
ctgen.input = CTGENFILE
ctgen.CONFIG += target_predeps no_link
ctgen.variable_out = GENERATED_SOURCES
ctgen.dependency_type = TYPE_C
QMAKE_EXTRA_COMPILERS += ctgen
2006-12-09 Lars Knoll <lars@trolltech.com>
Reviewed by Zack
Make it possible to build WebKit with qmake.
* WebCore.pro: Added.
* platform/graphics/qt/GraphicsContextQt.cpp:
2006-12-10 Lars Knoll <lars@trolltech.com>
Reviewed by Zack.
This diff is collapsed.
......@@ -38,6 +38,7 @@
#include "GraphicsContext.h"
#include "Font.h"
#include "Pen.h"
#include "SVGResourceImage.h"
#include <QStack>
#include <QPainter>
......@@ -850,11 +851,13 @@ void GraphicsContext::setPlatformFillColor(const Color& color)
m_data->p().setBrush(QBrush(color));
}
#ifdef SVG_SUPPORT
GraphicsContext* contextForImage(SVGResourceImage*)
{
// FIXME!
return 0;
}
#endif
}
// vim: ts=4 sw=4 et
# Include file to make it easy to include WebKit into Qt projects
INCLUDEPATH += $$PWD/JavaScriptCore \
$$PWD/WebCore \
$$PWD/WebCore/platform \
$$PWD/WebCore/platform/qt \
$$PWD/WebCore/platform/network \
$$PWD/WebCore/platform/graphics \
$$PWD/WebCore/editing \
$$PWD/WebCore/page \
$$PWD/WebCore/dom \
$$PWD/WebCore/html \
$$PWD/WebCore/rendering \
$$PWD/WebCore/loader \
$$PWD/WebCore/loader/qt \
$$PWD/WebCore/css \
$$PWD/WebCore/bridge
DEFINES += BUILDING_QT__=1
isEmpty(OUTPUT_DIR):OUTPUT_DIR=$$PWD
LIBS += -L$$OUTPUT_DIR/lib -lWebKitQt -lJavaScriptCore
macx {
INCLUDEPATH += /opt/local/include /opt/local/include/libxml2
INCLUDEPATH += /usr/include/libxml2
LIBS += -L/opt/local/lib -lxml2 -lxslt
}
TEMPLATE = subdirs
CONFIG += ordered
SUBDIRS = \
JavaScriptCore \
WebCore \
WebKitQt/QtLauncher
2006-12-09 Lars Knoll <lars@trolltech.com>
Reviewed by Zack
Make it possible to build WebKit with qmake.
* QtLauncher/QtLauncher.pro: Added.
* QtLauncher/main.cpp:
2006-12-08 Zack Rusin <zack@kde.org>
Reviewed by Maciej.
......
TEMPLATE = app
SOURCES += main.cpp
include(../../WebKit.pri)
......@@ -31,6 +31,7 @@
#include <wtf/Platform.h>
#include <QApplication>
#include <QWidget>
#if PLATFORM(KDE)
#include <kapplication.h>
#include <kcmdlineargs.h>
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment