diff options
author | Qt Continuous Integration System <qt-info@nokia.com> | 2010-03-30 17:19:27 (GMT) |
---|---|---|
committer | Qt Continuous Integration System <qt-info@nokia.com> | 2010-03-30 17:19:27 (GMT) |
commit | 1b7c80fb09e962c7a05249d4b2779b84701ed326 (patch) | |
tree | cc86e8593614ea88012db53ea905fedf25e66a2a /qmake | |
parent | 78b3b444d0d1f3d0afa9c4317f4e183ab2368b5c (diff) | |
parent | 7c613a9ef4610fa2e0e1630eb3cd2b474875631d (diff) | |
download | Qt-1b7c80fb09e962c7a05249d4b2779b84701ed326.zip Qt-1b7c80fb09e962c7a05249d4b2779b84701ed326.tar.gz Qt-1b7c80fb09e962c7a05249d4b2779b84701ed326.tar.bz2 |
Merge branch 'qt-4.7-from-4.6' of scm.dev.nokia.troll.no:qt/qt-integration into 4.7-integration
* 'qt-4.7-from-4.6' of scm.dev.nokia.troll.no:qt/qt-integration: (35 commits)
Fix a crash in QGtkStyle when theme not available
Exporting QFontDatabase::removeAllApplicationFonts()
Adding QFontDatabase::removeAllApplicationFonts()
Fixed crash in Phonon MMF backend during application shutdown
Updated WebKit from /home/shausman/src/webkit/trunk to qtwebkit/qtwebkit-4.6 ( e9151b11e974f0aa47fd40c225f88f35ced91496 )
Fixed bitfield-related crash on Symbian WINSCW
Compile with MSVC 2005 and 2003 when no platform SDK is used
Updated WebKit from /home/shausman/src/webkit/trunk to qtwebkit/qtwebkit-4.6 ( c39615d8e78f083b23f34ac24cf7d3a7ce765122 )
Updated WebKit from /home/shausman/src/webkit/trunk to qtwebkit/qtwebkit-4.6 ( bd724fb2f716336a8a4b54cd2edc96851a5a26a4 )
QS60Style: very tall QSpinBox's buttons hide lineEdit
Export QGLContextResource for use with Qt/3D
Use QSKIP rather than commenting a failure.
Refactor QDirectFBPixmap::fromImage slightly
QDirectFBPixmap can handle NoOpaqueDetection.
Reverts using composition mode when using DeviceCoordinateMode cache.
Fix linking error
Fix compile error on Symbian 9.1, caused in network/access.
QInputContextFactory::languages implementation for Symbian.
QS60Style cannot draw transparency to UI element border areas
Changed pkg_prerules to not use default_deployment for vendor ID
...
Diffstat (limited to 'qmake')
-rw-r--r-- | qmake/generators/symbian/symbiancommon.cpp | 45 | ||||
-rw-r--r-- | qmake/generators/symbian/symmake.cpp | 10 |
2 files changed, 43 insertions, 12 deletions
diff --git a/qmake/generators/symbian/symbiancommon.cpp b/qmake/generators/symbian/symbiancommon.cpp index 1de4b65..54b60be 100644 --- a/qmake/generators/symbian/symbiancommon.cpp +++ b/qmake/generators/symbian/symbiancommon.cpp @@ -180,17 +180,36 @@ void SymbianCommonGenerator::generatePkgFile(const QString &iconFile, Deployment tw << headerComment.arg(wrapperPkgFilename).arg(dateStr); // Construct QStringList from pkg_prerules since we need search it before printed to file + // Note: Though there can't be more than one language or header line, use stringlists + // in case user wants comments to go with the rules. QStringList rawPkgPreRules; + QStringList languageRules; + QStringList headerRules; foreach(QString deploymentItem, project->values("DEPLOYMENT")) { foreach(QString pkgrulesItem, project->values(deploymentItem + ".pkg_prerules")) { QStringList pkgrulesValue = project->values(pkgrulesItem); // If there is no stringlist defined for a rule, use rule name directly // This is convenience for defining single line mmp statements if (pkgrulesValue.isEmpty()) { - rawPkgPreRules << pkgrulesItem; + if (pkgrulesItem.startsWith("&")) + languageRules << pkgrulesItem; + else if (pkgrulesItem.startsWith("#")) + headerRules << pkgrulesItem; + else + rawPkgPreRules << pkgrulesItem; } else { - foreach(QString pkgrule, pkgrulesValue) { - rawPkgPreRules << pkgrule; + if (containsStartWithItem('&', pkgrulesValue)) { + foreach(QString pkgrule, pkgrulesValue) { + languageRules << pkgrule; + } + } else if (containsStartWithItem('#', pkgrulesValue)) { + foreach(QString pkgrule, pkgrulesValue) { + headerRules << pkgrule; + } + } else { + foreach(QString pkgrule, pkgrulesValue) { + rawPkgPreRules << pkgrule; + } } } } @@ -198,17 +217,17 @@ void SymbianCommonGenerator::generatePkgFile(const QString &iconFile, Deployment // Apply some defaults if specific data does not exist in PKG pre-rules - if (!containsStartWithItem('&', rawPkgPreRules)) { + if (languageRules.isEmpty()) { // language, (*** hardcoded to english atm, should be parsed from TRANSLATIONS) - QString languageCode = "; Language\n&EN\n\n"; - t << languageCode; - tw << languageCode; - } else { + languageRules << "; Language\n&EN\n\n"; + } else if (headerRules.isEmpty()) { // In case user defines langs, he must take care also about SIS header - if (!containsStartWithItem('#', rawPkgPreRules)) - fprintf(stderr, "Warning: If language is defined with DEPLOYMENT pkg_prerules, also the SIS header must be defined\n"); + fprintf(stderr, "Warning: If language is defined with DEPLOYMENT pkg_prerules, also the SIS header must be defined\n"); } + t << languageRules.join("\n") << endl; + tw << languageRules.join("\n") << endl; + // name of application, UID and version QString applicationVersion = project->first("VERSION").isEmpty() ? "1,0,0" : project->first("VERSION").replace('.', ','); QString sisHeader = "; SIS header: name, uid, version\n#{\"%1\"},(%2),%3\n\n"; @@ -222,9 +241,11 @@ void SymbianCommonGenerator::generatePkgFile(const QString &iconFile, Deployment } else { tw << installerSisHeader << endl; } - if (!containsStartWithItem('#', rawPkgPreRules)) { + + if (headerRules.isEmpty()) t << sisHeader.arg(visualTarget).arg(uid3).arg(applicationVersion); - } + else + t << headerRules.join("\n") << endl; // Localized vendor name QString vendorName; diff --git a/qmake/generators/symbian/symmake.cpp b/qmake/generators/symbian/symmake.cpp index af85a2a..0fcd26d 100644 --- a/qmake/generators/symbian/symmake.cpp +++ b/qmake/generators/symbian/symmake.cpp @@ -873,6 +873,16 @@ void SymbianMakefileGenerator::writeMmpFileCompilerOptionPart(QTextStream& t) t << MMP_OPTION_CW " " << cw << endl; if (!armcc.isEmpty()) t << MMP_OPTION_ARMCC " " << armcc << endl; + + foreach(QString armccVersion, project->values("VERSION_FLAGS.ARMCC")) { + QStringList currentValues = project->values("QMAKE_CXXFLAGS." + armccVersion); + if (currentValues.size()) { + t << "#if defined(" << armccVersion << ")" << endl; + t << MMP_OPTION_ARMCC " " << currentValues.join(" ") << endl; + t << "#endif" << endl; + } + } + if (!gcce.isEmpty()) t << MMP_OPTION_GCCE " " << gcce << endl; |