From 73610e1308d6414eda8e2a525584c83434b9cf78 Mon Sep 17 00:00:00 2001 From: Thomas Zander Date: Wed, 28 Apr 2010 12:17:35 +0200 Subject: Fix 'make sis' when media services is disabled and multimedia is not These two libs are separately configurable so we should check individually --- src/s60installs/s60installs.pro | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/s60installs/s60installs.pro b/src/s60installs/s60installs.pro index ad196a8..d40ff00 100644 --- a/src/s60installs/s60installs.pro +++ b/src/s60installs/s60installs.pro @@ -153,6 +153,9 @@ symbian: { contains(QT_CONFIG, multimedia) { qtlibraries.sources += $$QMAKE_LIBDIR_QT/QtMultimedia$${QT_LIBINFIX}.dll + } + + contains(QT_CONFIG, media-backend) { qtlibraries.sources += $$QMAKE_LIBDIR_QT/QtMediaServices$${QT_LIBINFIX}.dll } -- cgit v0.12 From c3dfc6760d3db3f524292d99685b95d1e1238422 Mon Sep 17 00:00:00 2001 From: Shane Kearns Date: Wed, 28 Apr 2010 13:31:00 +0100 Subject: Correction to EGL stub implementation Symbian typedefs EGLImageKHR as int rather than the reference void * For ARM builds this causes a symbol mismatch for eglDestroyImageKHR() when using the stubs. Task-number: QTBUG-7870 Reviewed-by: Miikka Heikkinen --- src/gui/egl/qegl_p.h | 6 ++++++ src/gui/egl/qegl_stub.cpp | 8 -------- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/src/gui/egl/qegl_p.h b/src/gui/egl/qegl_p.h index 6c562ef..4fc1338 100644 --- a/src/gui/egl/qegl_p.h +++ b/src/gui/egl/qegl_p.h @@ -154,7 +154,13 @@ QT_BEGIN_NAMESPACE // Declare/define the bits of EGL_KHR_image_base we need: #if !defined(EGL_KHR_image) && !defined(EGL_KHR_image_base) +#ifdef Q_OS_SYMBIAN +//symbian version of eglext.h differs from the khronos reference +typedef int EGLImageKHR; +#else typedef void *EGLImageKHR; +#endif + #define EGL_NO_IMAGE_KHR ((EGLImageKHR)0) #define EGL_IMAGE_PRESERVED_KHR 0x30D2 #define EGL_KHR_image_base diff --git a/src/gui/egl/qegl_stub.cpp b/src/gui/egl/qegl_stub.cpp index 0bd3451..86a7aab 100644 --- a/src/gui/egl/qegl_stub.cpp +++ b/src/gui/egl/qegl_stub.cpp @@ -183,14 +183,6 @@ int QEglContext::configAttrib(int name) const return 0; } -typedef EGLImageKHR (EGLAPIENTRY *_eglCreateImageKHR)(EGLDisplay, EGLContext, EGLenum, EGLClientBuffer, const EGLint*); -typedef EGLBoolean (EGLAPIENTRY *_eglDestroyImageKHR)(EGLDisplay, EGLImageKHR); - -// Defined in qegl.cpp: -static _eglCreateImageKHR qt_eglCreateImageKHR = 0; -static _eglDestroyImageKHR qt_eglDestroyImageKHR = 0; - - EGLDisplay QEgl::display() { NOEGL -- cgit v0.12 From b134ba553381f0e759004a003be909e40e5060f2 Mon Sep 17 00:00:00 2001 From: Shane Kearns Date: Wed, 28 Apr 2010 15:39:10 +0100 Subject: Update symbian def files for 4.7 Reviewed-by: Trust Me --- src/s60installs/bwins/QtCoreu.def | 4 ++-- src/s60installs/bwins/QtDeclarativeu.def | 2 +- src/s60installs/eabi/QtCoreu.def | 1 + src/s60installs/eabi/QtDeclarativeu.def | 40 ++++++++++++++++++++++++++++++++ src/s60installs/eabi/QtNetworku.def | 1 + 5 files changed, 45 insertions(+), 3 deletions(-) diff --git a/src/s60installs/bwins/QtCoreu.def b/src/s60installs/bwins/QtCoreu.def index d0a446b..e309e25 100644 --- a/src/s60installs/bwins/QtCoreu.def +++ b/src/s60installs/bwins/QtCoreu.def @@ -3122,7 +3122,7 @@ EXPORTS ?reset@QIODevice@@UAE_NXZ @ 3121 NONAME ; bool QIODevice::reset(void) ?reset@QMetaProperty@@QBE_NPAVQObject@@@Z @ 3122 NONAME ; bool QMetaProperty::reset(class QObject *) const ?reset@QTextStream@@QAEXXZ @ 3123 NONAME ; void QTextStream::reset(void) - ?resetCurrentSender@QObjectPrivate@@SAXPAVQObject@@PAUSender@1@1@Z @ 3124 NONAME ; void QObjectPrivate::resetCurrentSender(class QObject *, struct QObjectPrivate::Sender *, struct QObjectPrivate::Sender *) + ?resetCurrentSender@QObjectPrivate@@SAXPAVQObject@@PAUSender@1@1@Z @ 3124 NONAME ABSENT ; void QObjectPrivate::resetCurrentSender(class QObject *, struct QObjectPrivate::Sender *, struct QObjectPrivate::Sender *) ?resetDeleteWatch@QObjectPrivate@@SAXPAV1@PAHH@Z @ 3125 NONAME ; void QObjectPrivate::resetDeleteWatch(class QObjectPrivate *, int *, int) ?resetStatus@QDataStream@@QAEXXZ @ 3126 NONAME ; void QDataStream::resetStatus(void) ?resetStatus@QTextStream@@QAEXXZ @ 3127 NONAME ; void QTextStream::resetStatus(void) @@ -3281,7 +3281,7 @@ EXPORTS ?setCoords@QRectF@@QAEXMMMM@Z @ 3280 NONAME ; void QRectF::setCoords(float, float, float, float) ?setCurrent@QDir@@SA_NABVQString@@@Z @ 3281 NONAME ; bool QDir::setCurrent(class QString const &) ?setCurrentPath@QFSFileEngine@@SA_NABVQString@@@Z @ 3282 NONAME ; bool QFSFileEngine::setCurrentPath(class QString const &) - ?setCurrentSender@QObjectPrivate@@SAPAUSender@1@PAVQObject@@PAU21@@Z @ 3283 NONAME ; struct QObjectPrivate::Sender * QObjectPrivate::setCurrentSender(class QObject *, struct QObjectPrivate::Sender *) + ?setCurrentSender@QObjectPrivate@@SAPAUSender@1@PAVQObject@@PAU21@@Z @ 3283 NONAME ABSENT ; struct QObjectPrivate::Sender * QObjectPrivate::setCurrentSender(class QObject *, struct QObjectPrivate::Sender *) ?setCurrentTime@QAbstractAnimation@@QAEXH@Z @ 3284 NONAME ; void QAbstractAnimation::setCurrentTime(int) ?setCurrentTime@QTimeLine@@QAEXH@Z @ 3285 NONAME ; void QTimeLine::setCurrentTime(int) ?setCurveShape@QTimeLine@@QAEXW4CurveShape@1@@Z @ 3286 NONAME ; void QTimeLine::setCurveShape(enum QTimeLine::CurveShape) diff --git a/src/s60installs/bwins/QtDeclarativeu.def b/src/s60installs/bwins/QtDeclarativeu.def index ec25b5c..5f05f08 100644 --- a/src/s60installs/bwins/QtDeclarativeu.def +++ b/src/s60installs/bwins/QtDeclarativeu.def @@ -3950,7 +3950,7 @@ EXPORTS ?qmlInfo@@YA?AVQDeclarativeInfo@@PBVQObject@@ABVQDeclarativeError@@@Z @ 3949 NONAME ; class QDeclarativeInfo qmlInfo(class QObject const *, class QDeclarativeError const &) ?error@QDeclarativeCustomParser@@IAEXABVQString@@@Z @ 3950 NONAME ; void QDeclarativeCustomParser::error(class QString const &) ?activeChanged@QDeclarativeDrag@@IAEXXZ @ 3951 NONAME ; void QDeclarativeDrag::activeChanged(void) - ??0QDeclarativeInfo@@AAE@PAUQDeclarativeInfoPrivate@@@Z @ 3952 NONAME ; QDeclarativeInfo::QDeclarativeInfo(struct QDeclarativeInfoPrivate *) + ??0QDeclarativeInfo@@AAE@PAUQDeclarativeInfoPrivate@@@Z @ 3952 NONAME ABSENT ; QDeclarativeInfo::QDeclarativeInfo(struct QDeclarativeInfoPrivate *) ?warnings@QDeclarativeEngine@@IAEXABV?$QList@VQDeclarativeError@@@@@Z @ 3953 NONAME ; void QDeclarativeEngine::warnings(class QList const &) ?parentModelIndex@QDeclarativeVisualDataModel@@QBE?AVQVariant@@XZ @ 3954 NONAME ; class QVariant QDeclarativeVisualDataModel::parentModelIndex(void) const ?usedAnchors@QDeclarativeAnchors@@QBE?AV?$QFlags@W4Anchor@QDeclarativeAnchors@@@@XZ @ 3955 NONAME ; class QFlags QDeclarativeAnchors::usedAnchors(void) const diff --git a/src/s60installs/eabi/QtCoreu.def b/src/s60installs/eabi/QtCoreu.def index daa9dc6..92a4020 100644 --- a/src/s60installs/eabi/QtCoreu.def +++ b/src/s60installs/eabi/QtCoreu.def @@ -3697,4 +3697,5 @@ EXPORTS _ZN16QDeclarativeData9destroyedE @ 3696 NONAME DATA 4 ABSENT _ZN24QAbstractDeclarativeData13parentChangedE @ 3697 NONAME DATA 4 _ZN24QAbstractDeclarativeData9destroyedE @ 3698 NONAME DATA 4 + _ZN23QEventDispatcherSymbian12selectThreadEv @ 3699 NONAME diff --git a/src/s60installs/eabi/QtDeclarativeu.def b/src/s60installs/eabi/QtDeclarativeu.def index 953d0a1..ad12166 100644 --- a/src/s60installs/eabi/QtDeclarativeu.def +++ b/src/s60installs/eabi/QtDeclarativeu.def @@ -3496,4 +3496,44 @@ EXPORTS _ZTIN14QDeclarativeJS3AST18FunctionExpressionE @ 3495 NONAME ABSENT _ZTIN14QDeclarativeJS3AST4NodeE @ 3496 NONAME ABSENT _ZTIN14QDeclarativeJS3AST9StatementE @ 3497 NONAME ABSENT + _Z7qmlInfoPK7QObjectRK17QDeclarativeError @ 3498 NONAME + _Z7qmlInfoPK7QObjectRK5QListI17QDeclarativeErrorE @ 3499 NONAME + _ZN16QDeclarativeDrag13activeChangedEv @ 3500 NONAME + _ZN16QDeclarativeDrag9setActiveEb @ 3501 NONAME + _ZN16QDeclarativeInfoC1EP23QDeclarativeInfoPrivate @ 3502 NONAME + _ZN16QDeclarativeInfoC1ERKS_ @ 3503 NONAME + _ZN16QDeclarativeInfoC2EP23QDeclarativeInfoPrivate @ 3504 NONAME + _ZN16QDeclarativeInfoC2ERKS_ @ 3505 NONAME + _ZN16QDeclarativeItem10forceFocusEv @ 3506 NONAME + _ZN16QDeclarativeView11eventFilterEP7QObjectP6QEvent @ 3507 NONAME + _ZN18QDeclarativeEngine32setOutputWarningsToStandardErrorEb @ 3508 NONAME + _ZN18QDeclarativeEngine8warningsERK5QListI17QDeclarativeErrorE @ 3509 NONAME + _ZN18QDeclarativeLoader20resetSourceComponentEv @ 3510 NONAME + _ZN20QDeclarativeFlipable15retransformBackEv @ 3511 NONAME + _ZN20QDeclarativeGridView11animStoppedEv @ 3512 NONAME + _ZN21QDeclarativeFlickable17setBoundsBehaviorENS_14BoundsBehaviorE @ 3513 NONAME + _ZN21QDeclarativeFlickable21boundsBehaviorChangedEv @ 3514 NONAME + _ZN21QDeclarativeMouseArea15geometryChangedERK6QRectFS2_ @ 3515 NONAME + _ZN21QDeclarativeMouseArea20mousePositionChangedEP22QDeclarativeMouseEvent @ 3516 NONAME + _ZN22QDeclarativeExpression8evaluateEPb @ 3517 NONAME + _ZN23QDeclarativeItemPrivate16transformChangedEv @ 3518 NONAME + _ZN24QDeclarativeCustomParser5errorERK7QString @ 3519 NONAME + _ZN24QDeclarativeDebugService18hasDebuggingClientEv @ 3520 NONAME + _ZN24QDeclarativeParentChange7executeEN23QDeclarativeActionEvent6ReasonE @ 3521 NONAME + _ZN24QDeclarativeParentChange7reverseEN23QDeclarativeActionEvent6ReasonE @ 3522 NONAME + _ZN25QDeclarativeAnchorChanges7executeEN23QDeclarativeActionEvent6ReasonE @ 3523 NONAME + _ZN25QDeclarativeAnchorChanges7reverseEN23QDeclarativeActionEvent6ReasonE @ 3524 NONAME + _ZN27QDeclarativeVisualDataModel12setRootIndexERK8QVariant @ 3525 NONAME + _ZN29QDeclarativeStateChangeScript7executeEN23QDeclarativeActionEvent6ReasonE @ 3526 NONAME + _ZNK16QDeclarativeDrag6activeEv @ 3527 NONAME + _ZNK16QDeclarativeType16noCreationReasonEv @ 3528 NONAME + _ZNK18QDeclarativeEngine29outputWarningsToStandardErrorEv @ 3529 NONAME + _ZNK21QDeclarativeFlickable14boundsBehaviorEv @ 3530 NONAME + _ZNK27QDeclarativeVisualDataModel10modelIndexEi @ 3531 NONAME + _ZNK27QDeclarativeVisualDataModel16parentModelIndexEv @ 3532 NONAME + _ZThn8_N24QDeclarativeParentChange7executeEN23QDeclarativeActionEvent6ReasonE @ 3533 NONAME + _ZThn8_N24QDeclarativeParentChange7reverseEN23QDeclarativeActionEvent6ReasonE @ 3534 NONAME + _ZThn8_N25QDeclarativeAnchorChanges7executeEN23QDeclarativeActionEvent6ReasonE @ 3535 NONAME + _ZThn8_N25QDeclarativeAnchorChanges7reverseEN23QDeclarativeActionEvent6ReasonE @ 3536 NONAME + _ZThn8_N29QDeclarativeStateChangeScript7executeEN23QDeclarativeActionEvent6ReasonE @ 3537 NONAME diff --git a/src/s60installs/eabi/QtNetworku.def b/src/s60installs/eabi/QtNetworku.def index 2796778..2566415 100644 --- a/src/s60installs/eabi/QtNetworku.def +++ b/src/s60installs/eabi/QtNetworku.def @@ -1166,4 +1166,5 @@ EXPORTS _ZNK13QBearerEngine15requiresPollingEv @ 1165 NONAME _ZNK13QBearerEngine19configurationsInUseEv @ 1166 NONAME _ZNK21QNetworkAccessManager17networkAccessibleEv @ 1167 NONAME + _ZN35QNetworkConfigurationManagerPrivate12capabilitiesEv @ 1168 NONAME -- cgit v0.12 From 66595764620c82ed525de86b7dabcec7a9314355 Mon Sep 17 00:00:00 2001 From: Thomas Zander Date: Thu, 29 Apr 2010 11:02:35 +0200 Subject: Make symbian-resource files aware of libInfix configure feature --- mkspecs/features/symbian/symbian_building.prf | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mkspecs/features/symbian/symbian_building.prf b/mkspecs/features/symbian/symbian_building.prf index a097771..c21b4c9 100644 --- a/mkspecs/features/symbian/symbian_building.prf +++ b/mkspecs/features/symbian/symbian_building.prf @@ -208,7 +208,7 @@ for(symbian_resource, SYMBIAN_RESOURCES) { } symbianresources.input = SYMBIAN_RESOURCES -symbianresources.output = $$symbian_resources_RCC_DIR/${QMAKE_FILE_BASE}.rsg +symbianresources.output = $$symbian_resources_RCC_DIR/${QMAKE_FILE_BASE}$${QT_LIBINFIX}.rsg symbianresources.commands = cpp -nostdinc -undef \ $$symbian_resources_INCLUDES \ $$symbian_resources_DEFINES \ @@ -216,8 +216,8 @@ symbianresources.commands = cpp -nostdinc -undef \ -o $${symbian_resources_RCC_DIR}/${QMAKE_FILE_BASE}.rpp \ && rcomp -u -m045,046,047 \ -s$${symbian_resources_RCC_DIR}/${QMAKE_FILE_BASE}.rpp \ - -o$${symbianDestdir}/${QMAKE_FILE_BASE}.rsc \ - -h$${symbian_resources_RCC_DIR}/${QMAKE_FILE_BASE}.rsg \ + -o$${symbianDestdir}/${QMAKE_FILE_BASE}$${QT_LIBINFIX}.rsc \ + -h$${symbian_resources_RCC_DIR}/${QMAKE_FILE_BASE}$${QT_LIBINFIX}.rsg \ -i${QMAKE_FILE_NAME} symbianresources.dependency_type = TYPE_C symbianresources.CONFIG = no_link target_predeps -- cgit v0.12 From 185912f3366ba14ef8298c3674753a1aad4fd39b Mon Sep 17 00:00:00 2001 From: Thomas Zander Date: Thu, 29 Apr 2010 11:03:00 +0200 Subject: Fix libinfix usage --- src/3rdparty/webkit/WebCore/WebCore.pro | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/3rdparty/webkit/WebCore/WebCore.pro b/src/3rdparty/webkit/WebCore/WebCore.pro index 276ca04..3dfe803 100644 --- a/src/3rdparty/webkit/WebCore/WebCore.pro +++ b/src/3rdparty/webkit/WebCore/WebCore.pro @@ -55,8 +55,6 @@ CONFIG(standalone_package) { isEmpty(JSC_GENERATED_SOURCES_DIR):JSC_GENERATED_SOURCES_DIR = $$PWD/../JavaScriptCore/generated PRECOMPILED_HEADER = $$PWD/../WebKit/qt/WebKit_pch.h - - symbian: TARGET += $${QT_LIBINFIX} } else { isEmpty(WC_GENERATED_SOURCES_DIR):WC_GENERATED_SOURCES_DIR = generated isEmpty(JSC_GENERATED_SOURCES_DIR):JSC_GENERATED_SOURCES_DIR = ../JavaScriptCore/generated @@ -76,6 +74,7 @@ CONFIG(QTDIR_build) { VERSION = $${QT_MAJOR_VERSION}.$${QT_MINOR_VERSION}.$${QT_PATCH_VERSION} DESTDIR = $$OUTPUT_DIR/lib !static: DEFINES += QT_MAKEDLL + symbian: TARGET +=$${QT_LIBINFIX} } unix { -- cgit v0.12 From 133e72ae116fa41611c98ff21ccd64e75df1b81f Mon Sep 17 00:00:00 2001 From: Thomas Zander Date: Thu, 29 Apr 2010 15:49:35 +0200 Subject: Make 'make sis' recursive again. After default_deployment was added as default option our test for project type was not reached anymore. Fix that. --- mkspecs/features/sis_targets.prf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mkspecs/features/sis_targets.prf b/mkspecs/features/sis_targets.prf index 66a7a9d..7d70fc6 100644 --- a/mkspecs/features/sis_targets.prf +++ b/mkspecs/features/sis_targets.prf @@ -1,5 +1,5 @@ # Sis file creation -contains(TEMPLATE, app)|!isEmpty(DEPLOYMENT) { +contains(TEMPLATE, app)|!count(DEPLOYMENT, 1) { symbian-abld|symbian-sbsv2 { sis_destdir = make_cache_name = .make.cache -- cgit v0.12 From 82b3cf4a0fab2a0a54a7596f456e07c22552b50b Mon Sep 17 00:00:00 2001 From: Thomas Zander Date: Thu, 29 Apr 2010 18:18:59 +0200 Subject: Symbian (installation) docs. Done with: Axis --- doc/src/getting-started/installation.qdoc | 203 ++++++++++++++++++++++++ doc/src/snippets/code/doc_src_installation.qdoc | 86 +++++++++- 2 files changed, 287 insertions(+), 2 deletions(-) diff --git a/doc/src/getting-started/installation.qdoc b/doc/src/getting-started/installation.qdoc index 3a9d4ea..3ea351e 100644 --- a/doc/src/getting-started/installation.qdoc +++ b/doc/src/getting-started/installation.qdoc @@ -697,6 +697,209 @@ If you are using pre-built binaries, follow the instructions given in the \endlist */ +/*! \page install-Symbian-linux.html +\title Installing Qt on the Symbian platform using Linux (experimental) +\ingroup installation +\ingroup qtsymbian +\brief How to install Qt on the Symbian platform using Linux. + +\note Qt for the Symbian platform has some requirements that are given in more detail +in the \l{Qt for the Symbian platform Requirements} document. TODO list requirements like SDK here. + +\note \bold {This document describes how to install and configure Qt for +the Symbian platform from scratch, using Linux as the build host. +Qt does not come with a binary package for Linux yet, but if you want to avoid +the full build of Qt and start developing applications right away, you can +download drop-in binaries from here: TODO} + +\list 1 + + \o Setup the development environment + + TODO Make sure your Symbian development environment is correctly installed and + patched as explained in the \l{Qt for the Symbian platform Requirements} document. + + \o Install Qt + + Uncompress the \l{http://qt.nokia.com/downloads}{downloaded} source package into the + directory you want Qt installed, e.g. \c{/home/user/qt/%VERSION%}. + + \o Environment variables + + In order to build and use Qt, the \c PATH environment variable needs + to be extended to fine Qt tools and also to find the Symbian platform tools: + + First you need to set the \c EPOCROOT environment variable to point to the location + of your S60 SDK: + + \snippet doc/src/snippets/code/doc_src_installation.qdoc 36 + + Then you can update the PATH variable; + + \snippet doc/src/snippets/code/doc_src_installation.qdoc 37 + + \o Configure Qt + + To configure Qt for the Symbian platform, do: + + \snippet doc/src/snippets/code/doc_src_installation.qdoc 38 + to build the libraries using RVCT or + \snippet doc/src/snippets/code/doc_src_installation.qdoc 39 + to build the libraries using GCCE. + + \o Build Qt + + To build Qt for the device, type: + + \snippet doc/src/snippets/code/doc_src_installation.qdoc 40 + + Congratulations, Qt is now ready to use. + + \o Building Qt packages for the device + + To run any application or demo on a real device, you need to install it + on the device. To do this you first have to create a a package for the + device, containing the libraries: + + \list A + \o Building a Qt package without a certificate + + If you have no certificate, build a self signed Qt: + + \snippet doc/src/snippets/code/doc_src_installation.qdoc 41 + + The Qt libraries are built with "All -Tcb" capability, so that + they can support all types of applications. However, these + capabilities are automatically lowered if you make a selfsigned + package. + + \o Building a Qt package with a Symbian developer certificate + + If you have a symbian-signed developer certificate, specify the + capabilities you can sign for, for example: + + \snippet doc/src/snippets/code/doc_src_installation.qdoc 42 + \endlist + + \o Installing Qt packages to the device. + + It is possible to install packages to a phone in Linux by putting + the package on the phone memory card and then installing manually + from the phone menu. However, this is tedious and will not work + on phones without a memory card, so the method recommended by Qt is + to use the App TRK tool. + + \list a + \o Obtaining the App TRK package. + + Download the package from the following location. + + \list + \o \l{http://tools.ext.nokia.com/trk/}{Application TRK}. + Choose the correct installation package based on the + S60 version of your device + (\c{S60__app_trk_.sisx}). + \endlist + + This package currently has to be installed by putting the + package on the memory card and installing from the phone + menu, or using a Windows PC for doing the install. However, + the installation only has to be done once. + + \o Configuring App TRK on the phone. + + When App TRK is installed, connect the phone to the PC using + the USB cable. Select "PCSuite" as connection type. Then run + App TRK on the phone, and make sure that the connection type is + USB. This can be changed under + the \c Settings menu entry. If necessary, choose \c Connect + from the menu. + + \o Configuring the USB serial driver on the Linux system. + + On Linux, phone should appear as the \c /dev/ttyUSB1 device, + however if you are running an old kernel, you may need to + force the USB module to be loaded correctly before the device + will appear: + + \snippet doc/src/snippets/code/doc_src_installation.qdoc 43 + + Note the identifier on the line where your Symbian device + appears. Then execute the following, using the first and + second part of the identifier in place of \c XXXX, + respectively. + + \snippet doc/src/snippets/code/doc_src_installation.qdoc 44 + + The \c rmmod step may fail if the module is not already + loaded, but that is harmless. + + \o Building the \c runonphone tool. + + Note that building the \c runonphone tool requires a separate + installation of Qt for Linux. If there is a version of Qt + installed by your distribution's package mechanism, that that + should do fine. Some distributions separate the libraries from + the development setup which includes qmake. Make sure you have + both installed. + + First make sure that the \c qmake you use is taken from the + Linux installation of Qt. The easiest way to make sure of this + is to open a new shell and run the following command: + + \snippet doc/src/snippets/code/doc_src_installation.qdoc 45 + + \c qmake will tell you where it is installed. + + Copy the \c{%QTDIR%/tools/runonphone} folder to a place outside + of the Qt tree. Then go to the folder in a shell and build it: + + \snippet doc/src/snippets/code/doc_src_installation.qdoc 46 + + Copy the resulting executable to a folder which is in your + \c PATH environment variable. + + \o Installing the built package onto the phone. + + Return to the root of the Qt tree configured for Symbian. Then + install the Qt libraries by running the following: + + \snippet doc/src/snippets/code/doc_src_installation.qdoc 47 + + \note If the installation fails, please make sure that there is + no previously installed version of Qt on the phone. + + Qt requires some dependent packages to be installed on the device, + they are shipped in the Symbian SDK and can be installed using the + runonphone tool as well. + The packages can be found in the EPOCROOT at the following locations; + + \snippet doc/src/snippets/code/doc_src_installation.qdoc 50 + + \endlist + + \o Running Qt demos + + We've included a subset of the Qt demos in this package for you + to try out. An excellent starting point is the "fluidlauncher" + demo. + + Install and run the demo by using the following commands: + + \snippet doc/src/snippets/code/doc_src_installation.qdoc 48 + + The same command can be used for other applications: + + \snippet doc/src/snippets/code/doc_src_installation.qdoc 49 + + For more information about building and running Qt programs on the + Symbian platform, see \l{The Symbian platform - Introduction to Qt}. + + We hope you will enjoy using Qt. + +\endlist + +*/ /*! \page requirements.html \title General Qt Requirements diff --git a/doc/src/snippets/code/doc_src_installation.qdoc b/doc/src/snippets/code/doc_src_installation.qdoc index b3c9903..ac94cf7 100644 --- a/doc/src/snippets/code/doc_src_installation.qdoc +++ b/doc/src/snippets/code/doc_src_installation.qdoc @@ -225,10 +225,8 @@ SYMBIANBUILD_DEPENDENCYOFF=1 //! [34] cd src\s60installs -patch_capabilities.pl Qt_template.pkg release-armv5 make sis QT_SIS_OPTIONS=-i cd ..\3rdparty\webkit\WebCore -patch_capabilities.pl QtWebkit_template.pkg release-armv5 make sis QT_SIS_OPTIONS=-i //! [34] @@ -240,3 +238,87 @@ cd ..\3rdparty\webkit\WebCore patch_capabilities.pl QtWebKit_template.pkg release-armv5 "ALL -Tcb -AllFiles -DRM" make sis QT_SIS_OPTIONS=-i QT_SIS_CERTIFICATE= QT_SIS_KEY= //! [35] + +//! [36] +EPOCROOT=/home/user/s60-sdk/ +export EPOCROOT +//! [36] + +//! [37] +PATH=/home/user/qt/%VERSION%/bin:$EPOCROOT/epoc32/tools:$PATH +export PATH +//! [37] + +//! [38] +cd /home/user/qt/%VERSION% +./configure -platform linux-g++ -xplatform symbian/linux-armcc -arch symbian +//! [38] + +//! [39] +cd /home/user/qt/%VERSION% +./configure -platform linux-g++ -xplatform symbian/linux-gcce -arch symbian -no-webkit +//! [39] + +//! [40] +make +//! [40] + +//! [41] +cd src/s60installs +make sis +//! [41] + +//! [42] +cd src/s60installs +patch_capabilities.pl Qt_template.pkg - "ALL -Tcb -AllFiles -DRM" +make sis QT_SIS_CERTIFICATE= QT_SIS_KEY= +cd ../3rdparty/webkit/WebCore +patch_capabilities.pl QtWebKit_template.pkg - "ALL -Tcb -AllFiles -DRM" +make sis QT_SIS_CERTIFICATE= QT_SIS_KEY= +//! [42] + +//! [43] +lsusb +//! [43] + +//! [44] +sudo rmmod usbserial +sudo modprobe usbserial vendor=0x0XXX product=0x0XXX +//! [44] + +//! [45] +$ qmake -version +QMake version 2.01a +Using Qt version 4.6.2 in /usr/lib/qt4 +//! [45] + +//! [46] +cd $HOME/runonphone +qmake +make +//! [46] + +//! [47] +runonphone -s lib/Qt.sis +//! [47] + +//! [48] +cd demos/embedded/fluidlauncher +runonphone -s fluidlauncher.sis fluidlauncher.exe +//! [48] + +//! [49] +cd myapp +qmake +make +make sis +runonphone -s myapp.sis myapp.exe +//! [49] + +//! [50] +nokia_plugin/openc/s60opencsis/openc_ssl_s60_1_6_ss.sis +nokia_plugin/openc/s60opencsis/pips_s60_1_6_ss.sis +nokia_plugin/opencpp/s60opencppsis/stdcpp_s60_1_6_ss.sis +//! [50] + + -- cgit v0.12 From 0d32f1727e50f8e8c252aa208ae811a757671620 Mon Sep 17 00:00:00 2001 From: Shane Kearns Date: Thu, 29 Apr 2010 18:14:18 +0100 Subject: Fix compilation errors in tst_qfileinfo Reviewed-by: Gareth Stockwell --- tests/auto/qfileinfo/tst_qfileinfo.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/auto/qfileinfo/tst_qfileinfo.cpp b/tests/auto/qfileinfo/tst_qfileinfo.cpp index 403c5f9..4c651bf 100644 --- a/tests/auto/qfileinfo/tst_qfileinfo.cpp +++ b/tests/auto/qfileinfo/tst_qfileinfo.cpp @@ -1120,9 +1120,9 @@ void tst_QFileInfo::isHidden_data() t << "foobar"; QFile file2(notHiddenFileName); - QVERIFY(file2.open(QIODevice::WriteOnly)) - QTextStream t(&file); - t << "foobar"; + QVERIFY(file2.open(QIODevice::WriteOnly)); + QTextStream t2(&file2); + t2 << "foobar"; } RFs rfs; -- cgit v0.12 From 160b51018e1e365130173838f9c91a9cb4061ad7 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Thu, 29 Apr 2010 16:37:30 +0300 Subject: Fix path removal from target in Symbian builds Qt generic slash separator must be supported also in platforms that do not have that as platform specific separator. Reviewed-by: Thomas Zander --- qmake/generators/symbian/symbiancommon.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/qmake/generators/symbian/symbiancommon.cpp b/qmake/generators/symbian/symbiancommon.cpp index 0802c01..b730d9e 100644 --- a/qmake/generators/symbian/symbiancommon.cpp +++ b/qmake/generators/symbian/symbiancommon.cpp @@ -464,9 +464,12 @@ void SymbianCommonGenerator::generatePkgFile(const QString &iconFile, bool epocB QString SymbianCommonGenerator::removePathSeparators(QString &file) { QString ret = file; - while (ret.indexOf(QDir::separator()) > 0) { - ret.remove(0, ret.indexOf(QDir::separator()) + 1); - } + + if (QDir::separator().unicode() != '/') + ret.replace(QDir::separator(), QLatin1Char('/')); + + if (ret.indexOf(QLatin1Char('/')) > 0) + ret.remove(0, ret.lastIndexOf(QLatin1Char('/')) + 1); return ret; } -- cgit v0.12 From 0bebd8e4f3373e61e7fd906c60509cb5a3fa8d80 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Fri, 30 Apr 2010 13:12:03 +0300 Subject: Fix desktopservices demo missing icon in Symbian Symbian abld toolchain cannot handle very long paths for mifconv source images, so do not absolutize the path. This should not be a problem, as the absolute icon path is only needed for shadow builds, which are not supported in symbian-abld anyway. Task-number: QTBUG-10135 Reviewed-by: Thomas Zander --- mkspecs/features/symbian/application_icon.prf | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/mkspecs/features/symbian/application_icon.prf b/mkspecs/features/symbian/application_icon.prf index 9979f40..76f9ba1 100644 --- a/mkspecs/features/symbian/application_icon.prf +++ b/mkspecs/features/symbian/application_icon.prf @@ -31,7 +31,11 @@ contains( CONFIG, no_icon ) { # Note: symbian-sbsv2 builds can't utilize extra compiler for mifconv, so ICON handling is done in code !symbian-sbsv2 { - !contains(ICON, "^(/|\\\\|.:).*"):ICON = $$_PRO_FILE_PWD_/$$ICON #absolute path + # Absolute path required for shadow builds. + # However, in older Symbian environments abld toolchain can't handle even moderately long + # paths, so don't force absolute there. + !symbian-abld:!contains(ICON, "^(/|\\\\|.:).*"):ICON = $$_PRO_FILE_PWD_/$$ICON + #Makefile: requires paths with backslash ICON_backslashed = $$ICON -- cgit v0.12