summaryrefslogtreecommitdiffstats
path: root/qmake
diff options
context:
space:
mode:
authorQt Continuous Integration System <qt-info@nokia.com>2010-03-30 17:19:27 (GMT)
committerQt Continuous Integration System <qt-info@nokia.com>2010-03-30 17:19:27 (GMT)
commit1b7c80fb09e962c7a05249d4b2779b84701ed326 (patch)
treecc86e8593614ea88012db53ea905fedf25e66a2a /qmake
parent78b3b444d0d1f3d0afa9c4317f4e183ab2368b5c (diff)
parent7c613a9ef4610fa2e0e1630eb3cd2b474875631d (diff)
downloadQt-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.cpp45
-rw-r--r--qmake/generators/symbian/symmake.cpp10
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;