mirror of https://github.com/vitalif/phantomjs
WIP: Get the PhantomJS+Qt build for MSVC working.
http://code.google.com/p/phantomjs/issues/detail?id=598 http://code.google.com/p/phantomjs/issues/detail?id=4241.7
parent
5f1a636583
commit
b11c6de9ab
|
@ -542,7 +542,7 @@ static int outputChars(struct current *current, const char *buf, int len)
|
|||
COORD pos = { current->x, current->y };
|
||||
DWORD n;
|
||||
|
||||
WriteConsoleOutputCharacter(current->outh, buf, len, pos, &n);
|
||||
WriteConsoleOutputCharacterA(current->outh, buf, len, pos, &n);
|
||||
current->x += len;
|
||||
return 0;
|
||||
}
|
||||
|
|
25
src/main.cpp
25
src/main.cpp
|
@ -41,6 +41,31 @@
|
|||
|
||||
#include <QApplication>
|
||||
|
||||
#if !defined(QT_SHARED) && !defined(QT_DLL)
|
||||
#include <QtPlugin>
|
||||
|
||||
// HACK: When linking a static PhantomJS + MSVC agains the
|
||||
// static Qt included in PhantomJS, we get linker errors.
|
||||
// This noop function can cure them.
|
||||
#include <QUuid>
|
||||
#include <QPainter>
|
||||
#include <QXmlStreamAttributes>
|
||||
void makeLinkerHappy()
|
||||
{
|
||||
QWidget().colorCount();
|
||||
QUuid().createUuid();
|
||||
QPainter().drawImage(QPointF(), QImage(), QRect());
|
||||
const QXmlStreamAttributes foo;
|
||||
foo[0];
|
||||
}
|
||||
// End of linker hack.
|
||||
|
||||
Q_IMPORT_PLUGIN(qcncodecs)
|
||||
Q_IMPORT_PLUGIN(qjpcodecs)
|
||||
Q_IMPORT_PLUGIN(qkrcodecs)
|
||||
Q_IMPORT_PLUGIN(qtwcodecs)
|
||||
#endif
|
||||
|
||||
#if QT_VERSION != QT_VERSION_CHECK(4, 8, 2)
|
||||
#error Something is wrong with the setup. Please report to the mailing list!
|
||||
#endif
|
||||
|
|
|
@ -105,3 +105,14 @@ mac {
|
|||
# Uncomment to build a Mac OS X Universal Binary (i.e. x86 + ppc)
|
||||
# CONFIG += x86 ppc
|
||||
}
|
||||
|
||||
CONFIG(static) {
|
||||
DEFINES += STATIC_BUILD
|
||||
QTPLUGIN += \
|
||||
qcncodecs \
|
||||
qjpcodecs \
|
||||
qkrcodecs \
|
||||
qtwcodecs
|
||||
}
|
||||
|
||||
win32-msvc*:LIBS += -lCrypt32
|
||||
|
|
|
@ -30,28 +30,10 @@ my $basedir = $ENV{"QTDIR"};
|
|||
$basedir =~ s=\\=/=g;
|
||||
my %modules = ( # path to module name map
|
||||
"QtGui" => "$basedir/src/gui",
|
||||
"QtOpenGL" => "$basedir/src/opengl",
|
||||
"QtOpenVG" => "$basedir/src/openvg",
|
||||
"QtCore" => "$basedir/src/corelib",
|
||||
"QtXml" => "$basedir/src/xml",
|
||||
"QtXmlPatterns" => "$basedir/src/xmlpatterns",
|
||||
"QtSql" => "$basedir/src/sql",
|
||||
"QtNetwork" => "$basedir/src/network",
|
||||
"QtSvg" => "$basedir/src/svg",
|
||||
"QtDeclarative" => "$basedir/src/declarative",
|
||||
"QtScript" => "$basedir/src/script",
|
||||
"QtScriptTools" => "$basedir/src/scripttools",
|
||||
"Qt3Support" => "$basedir/src/qt3support",
|
||||
"ActiveQt" => "$basedir/src/activeqt",
|
||||
"QtTest" => "$basedir/src/testlib",
|
||||
"QtHelp" => "$basedir/tools/assistant/lib",
|
||||
"QtDesigner" => "$basedir/tools/designer/src/lib",
|
||||
"QtUiTools" => "$basedir/tools/designer/src/uitools",
|
||||
"QtDBus" => "$basedir/src/dbus",
|
||||
"QtWebKit" => "$basedir/src/3rdparty/webkit/Source/WebKit/qt",
|
||||
"phonon" => "$basedir/src/phonon",
|
||||
"QtMultimedia" => "$basedir/src/multimedia",
|
||||
"QtMeeGoGraphicsSystemHelper" => "$basedir/tools/qmeegographicssystemhelper",
|
||||
);
|
||||
my %moduleheaders = ( # restrict the module headers to those found in relative path
|
||||
"QtWebKit" => "Api",
|
||||
|
@ -694,7 +676,7 @@ my @ignore_for_master_contents = ( "qt.h", "qpaintdevicedefs.h" );
|
|||
my @ignore_for_include_check = ( "qatomic.h" );
|
||||
my @ignore_for_qt_begin_header_check = ( "qiconset.h", "qconfig.h", "qconfig-dist.h", "qconfig-large.h", "qconfig-medium.h", "qconfig-minimal.h", "qconfig-small.h", "qfeatures.h", "qt_windows.h" );
|
||||
my @ignore_for_qt_begin_namespace_check = ( "qconfig.h", "qconfig-dist.h", "qconfig-large.h", "qconfig-medium.h", "qconfig-minimal.h", "qconfig-small.h", "qfeatures.h", "qatomic_arch.h", "qatomic_windowsce.h", "qt_windows.h", "qatomic_macosx.h", "qatomic_arm.h", "qatomic_armv7.h" );
|
||||
my @ignore_for_qt_module_check = ( "$modules{QtCore}/arch", "$modules{QtCore}/global", "$modules{QtSql}/drivers", "$modules{QtTest}", "$modules{QtDesigner}", "$modules{QtUiTools}", "$modules{QtDBus}", "$modules{phonon}" );
|
||||
my @ignore_for_qt_module_check = ( "$modules{QtCore}/arch", "$modules{QtCore}/global" );
|
||||
my %colliding_headers = ();
|
||||
my %inject_headers = ( "$basedir/src/corelib/global" => ( "qconfig.h" ) ); # all from build dir
|
||||
|
||||
|
@ -740,7 +722,6 @@ foreach my $lib (@modules_to_sync) {
|
|||
$master_contents .= "#include <QtCore/QtCore>\n" if($_ eq "core");
|
||||
$master_contents .= "#include <QtGui/QtGui>\n" if($_ eq "gui");
|
||||
$master_contents .= "#include <QtNetwork/QtNetwork>\n" if($_ eq "network");
|
||||
$master_contents .= "#include <QtSvg/QtSvg>\n" if($_ eq "svg");
|
||||
$master_contents .= "#include <QtDeclarative/QtDeclarative>\n" if($_ eq "declarative");
|
||||
$master_contents .= "#include <QtScript/QtScript>\n" if($_ eq "script");
|
||||
$master_contents .= "#include <QtScriptTools/QtScriptTools>\n" if($_ eq "scripttools");
|
||||
|
|
|
@ -19,9 +19,9 @@ QMAKE_YACCFLAGS = -d
|
|||
QMAKE_CFLAGS = -nologo -Zm200 -Zc:wchar_t-
|
||||
QMAKE_CFLAGS_WARN_ON = -W3
|
||||
QMAKE_CFLAGS_WARN_OFF = -W0
|
||||
QMAKE_CFLAGS_RELEASE = -O2 -MD
|
||||
QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -MD -Zi
|
||||
QMAKE_CFLAGS_DEBUG = -Zi -MDd
|
||||
QMAKE_CFLAGS_RELEASE = -O2 -MT
|
||||
QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -MT -Zi
|
||||
QMAKE_CFLAGS_DEBUG = -Zi -MTd
|
||||
QMAKE_CFLAGS_YACC =
|
||||
QMAKE_CFLAGS_LTCG = -GL
|
||||
QMAKE_CFLAGS_MP = -MP
|
||||
|
|
|
@ -0,0 +1,70 @@
|
|||
@echo off
|
||||
|
||||
set QT_CFG=
|
||||
|
||||
set QT_CFG=%QT_CFG% -opensource
|
||||
set QT_CFG=%QT_CFG% -confirm-license
|
||||
|
||||
set QT_CFG=%QT_CFG% -release
|
||||
set QT_CFG=%QT_CFG% -static
|
||||
|
||||
set QT_CFG=%QT_CFG% -no-exceptions
|
||||
set QT_CFG=%QT_CFG% -no-stl
|
||||
set QT_CFG=%QT_CFG% -no-xmlpatterns
|
||||
set QT_CFG=%QT_CFG% -no-phonon
|
||||
set QT_CFG=%QT_CFG% -no-qt3support
|
||||
set QT_CFG=%QT_CFG% -no-opengl
|
||||
set QT_CFG=%QT_CFG% -no-declarative
|
||||
set QT_CFG=%QT_CFG% -no-script
|
||||
set QT_CFG=%QT_CFG% -no-multimedia
|
||||
|
||||
set QT_CFG=%QT_CFG% -qt-libpng
|
||||
set QT_CFG=%QT_CFG% -qt-libjpeg
|
||||
set QT_CFG=%QT_CFG% -no-libmng
|
||||
set QT_CFG=%QT_CFG% -no-libtiff
|
||||
|
||||
set QT_CFG=%QT_CFG% -D QT_NO_GRAPHICSVIEW
|
||||
set QT_CFG=%QT_CFG% -D QT_NO_GRAPHICSEFFECT
|
||||
rem set QT_CFG=%QT_CFG% -D QT_NO_NATIVE_GESTURES
|
||||
|
||||
set QT_CFG=%QT_CFG% -D QT_NO_STYLE_CDE
|
||||
set QT_CFG=%QT_CFG% -D QT_NO_STYLE_CLEANLOOKS
|
||||
set QT_CFG=%QT_CFG% -D QT_NO_STYLE_MOTIF
|
||||
set QT_CFG=%QT_CFG% -D QT_NO_STYLE_PLASTIQUE
|
||||
|
||||
set QT_CFG=%QT_CFG% -nomake demos
|
||||
set QT_CFG=%QT_CFG% -nomake examples
|
||||
set QT_CFG=%QT_CFG% -nomake tools
|
||||
set QT_CFG=%QT_CFG% -nomake translations
|
||||
|
||||
set OPEN_SSL_DIR=d:\ownprojects\OpenSSL
|
||||
|
||||
set QT_CFG=%QT_CFG% -openssl-linked
|
||||
set QT_CFG=%QT_CFG% -I %OPEN_SSL_DIR%\include
|
||||
set QT_CFG=%QT_CFG% -L %OPEN_SSL_DIR%\lib
|
||||
set QT_CFG=%QT_CFG% -l libeay32
|
||||
set QT_CFG=%QT_CFG% -l ssleay32
|
||||
set QT_CFG=%QT_CFG% OPENSSL_LIBS="-L%OPEN_SSL_DIR%\lib -lssleay32 -llibeay32 -luser32 -lgdi32"
|
||||
|
||||
set MAKE_COMMAND=nmake
|
||||
rem set QT_CFG=%QT_CFG% -make %MAKE_COMMAND%
|
||||
|
||||
configure %QT_CFG%
|
||||
|
||||
%MAKE_COMMAND%
|
||||
|
||||
cd src\plugins\codecs\
|
||||
..\..\..\bin\qmake -r
|
||||
%MAKE_COMMAND%
|
||||
cd ..\..\..\
|
||||
|
||||
cd src\3rdparty\webkit\Source\
|
||||
..\..\..\..\bin\qmake -r
|
||||
%MAKE_COMMAND%
|
||||
cd ..\..\..\..\
|
||||
|
||||
set PHANTOMJSDIR=..\..\
|
||||
md %PHANTOMJSDIR%\..\JavaScriptCore\release
|
||||
copy src\3rdparty\webkit\Source\JavaScriptCore\release %PHANTOMJSDIR%\..\JavaScriptCore\release\
|
||||
md %PHANTOMJSDIR%\..\WebCore\release
|
||||
copy src\3rdparty\webkit\Source\WebCore\release %PHANTOMJSDIR%\..\WebCore\release\
|
|
@ -33,6 +33,7 @@
|
|||
#include "PlatformString.h"
|
||||
#include "ScriptProfile.h"
|
||||
#include "ScriptState.h"
|
||||
#include "../inspector/ScriptCallStack.h"
|
||||
|
||||
#include <wtf/Forward.h>
|
||||
#include <wtf/PassRefPtr.h>
|
||||
|
@ -48,7 +49,6 @@ typedef Vector<RefPtr<ScriptProfile> > ProfilesArray;
|
|||
|
||||
class Frame;
|
||||
class Page;
|
||||
class ScriptCallStack;
|
||||
|
||||
enum MessageSource {
|
||||
HTMLMessageSource,
|
||||
|
|
|
@ -32,5 +32,3 @@ symbian {
|
|||
install.commands = $(MAKE) -C WebCore install
|
||||
QMAKE_EXTRA_TARGETS += install
|
||||
}
|
||||
|
||||
include(WebKit/qt/docs/docs.pri)
|
||||
|
|
|
@ -63,6 +63,8 @@ win32*:!win32-msvc* {
|
|||
contains(DEFINES, ENABLE_WEBGL=1)|contains(CONFIG, texmap): LIBS += $$QMAKE_LIBS_OPENGL
|
||||
}
|
||||
|
||||
win32-msvc*:LIBS += -lAdvapi32
|
||||
|
||||
include_webinspector: RESOURCES += $$SOURCE_DIR/WebCore/inspector/front-end/WebKit.qrc $$WC_GENERATED_SOURCES_DIR/InspectorBackendStub.qrc
|
||||
|
||||
# Extract sources to build from the generator definitions
|
||||
|
|
|
@ -369,6 +369,7 @@ void QAccessible::updateAccessibility(QObject *o, int who, Event reason)
|
|||
if (w->internalWinId())
|
||||
break;
|
||||
}
|
||||
#ifndef QT_NO_GRAPHICSVIEW
|
||||
if (QGraphicsObject *gfxObj = qobject_cast<QGraphicsObject*>(p)) {
|
||||
QGraphicsItem *parentItem = gfxObj->parentItem();
|
||||
if (parentItem) {
|
||||
|
@ -384,7 +385,9 @@ void QAccessible::updateAccessibility(QObject *o, int who, Event reason)
|
|||
}
|
||||
p = view;
|
||||
}
|
||||
} else {
|
||||
} else
|
||||
#endif // QT_NO_GRAPHICSVIEW
|
||||
{
|
||||
p = p->parent();
|
||||
}
|
||||
|
||||
|
|
|
@ -41,7 +41,6 @@ include(statemachine/statemachine.pri)
|
|||
include(math3d/math3d.pri)
|
||||
include(effects/effects.pri)
|
||||
|
||||
include(egl/egl.pri)
|
||||
win32:!wince*: DEFINES += QT_NO_EGL
|
||||
embedded: QT += network
|
||||
|
||||
|
|
|
@ -66,8 +66,10 @@ QGesture *QWinNativePanGestureRecognizer::create(QObject *target)
|
|||
return new QPanGesture; // a special case
|
||||
if (!target->isWidgetType())
|
||||
return 0;
|
||||
#ifndef QT_NO_GRAPHICSVIEW
|
||||
if (qobject_cast<QGraphicsObject *>(target))
|
||||
return 0;
|
||||
#endif // QT_NO_GRAPHICSVIEW
|
||||
|
||||
QWidget *q = static_cast<QWidget *>(target);
|
||||
QWidgetPrivate *d = q->d_func();
|
||||
|
|
|
@ -172,7 +172,7 @@ public:
|
|||
virtual void addCheckBox(const QRectF &r, bool checked, const QString &name, bool readOnly) {
|
||||
Q_UNUSED(r); Q_UNUSED(checked); Q_UNUSED(name); Q_UNUSED(readOnly);
|
||||
}
|
||||
virtual void addRadioButton(const QRectF &r, const QString & group="", bool checked=false, const QString &name="", bool readOnly=false) {
|
||||
virtual void addRadioButton(const QRectF &r, const QString &group = QString(), bool checked = false, const QString &name = QString(), bool readOnly = false) {
|
||||
Q_UNUSED(r); Q_UNUSED(checked); Q_UNUSED(name); Q_UNUSED(readOnly); Q_UNUSED(group);
|
||||
}
|
||||
|
||||
|
|
|
@ -53,7 +53,6 @@
|
|||
#include <qt_windows.h>
|
||||
#include <wininet.h>
|
||||
#include <private/qsystemlibrary_p.h>
|
||||
#include "qnetworkfunctions_wince.h"
|
||||
|
||||
/*
|
||||
* Information on the WinHTTP DLL:
|
||||
|
|
|
@ -11,14 +11,12 @@ nacl: SRC_SUBDIRS -= src_network src_testlib
|
|||
!wince*:!symbian:!vxworks:!integrity:contains(QT_CONFIG, qt3support): SRC_SUBDIRS += src_qt3support
|
||||
|
||||
!wince*:!symbian-abld:!symbian-sbsv2:include(tools/tools.pro)
|
||||
win32:SRC_SUBDIRS += src_activeqt
|
||||
|
||||
contains(QT_CONFIG, opengl)|contains(QT_CONFIG, opengles1)|contains(QT_CONFIG, opengles2): SRC_SUBDIRS += src_opengl
|
||||
contains(QT_CONFIG, openvg): SRC_SUBDIRS += src_openvg
|
||||
contains(QT_CONFIG, xmlpatterns): SRC_SUBDIRS += src_xmlpatterns
|
||||
contains(QT_CONFIG, phonon): SRC_SUBDIRS += src_phonon
|
||||
contains(QT_CONFIG, multimedia): SRC_SUBDIRS += src_multimedia
|
||||
contains(QT_CONFIG, svg): SRC_SUBDIRS += src_svg
|
||||
contains(QT_CONFIG, script): SRC_SUBDIRS += src_script
|
||||
contains(QT_CONFIG, declarative): SRC_SUBDIRS += src_declarative
|
||||
contains(QT_CONFIG, webkit) {
|
||||
|
|
|
@ -4,7 +4,6 @@ TOOLS_SUBDIRS = src_tools_bootstrap src_tools_moc src_tools_rcc
|
|||
!contains(QT_CONFIG, no-gui): TOOLS_SUBDIRS += src_tools_uic
|
||||
!cross_compile {
|
||||
contains(QT_CONFIG, qt3support): SRC_SUBDIRS += src_tools_uic3
|
||||
win32:!wince*:!win32-g++*: SRC_SUBDIRS += src_tools_idc
|
||||
}
|
||||
|
||||
# Set subdir and respective target name
|
||||
|
|
Loading…
Reference in New Issue