mkspecs/common/symbian/symbian-mmp.conf
changeset 30 5dc02b23752f
child 33 3e2da88830cd
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mkspecs/common/symbian/symbian-mmp.conf	Tue Jul 06 15:10:48 2010 +0300
@@ -0,0 +1,67 @@
+#
+# qmake configuration for symbian-*
+#
+
+include(symbian.conf)
+
+contains(QMAKE_HOST.os, "Windows") {
+    QMAKE_MOC       = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}moc.exe
+    QMAKE_UIC       = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}uic.exe
+    QMAKE_IDC       = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}idc.exe
+} else {
+    QMAKE_MOC       = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}moc
+    QMAKE_UIC       = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}uic
+    QMAKE_IDC       = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}idc
+}
+
+load(symbian/add_mmp_rules)
+
+symbian-abld {
+# Versions of abld prior to Symbian^3 have a bug where you cannot remove something from the command line without replacing it
+# Rather than figure out which version of abld we're using, we'll replace the command with a macro *that should never be used*
+    MMP_RULES_DONT_EXPORT_ALL_CLASS_IMPEDIMENTA = "OPTION_REPLACE ARMCC --export_all_vtbl -D__QT_NOEFFECTMACRO_DONOTUSE"
+} else {
+    MMP_RULES_DONT_EXPORT_ALL_CLASS_IMPEDIMENTA = "OPTION_REPLACE ARMCC --export_all_vtbl // don't use --export_all_vtbl"
+}
+MMP_RULES += PAGED BYTEPAIRCOMPRESSTARGET
+MMP_RULES += $$MMP_RULES_DONT_EXPORT_ALL_CLASS_IMPEDIMENTA
+SYMBIAN_PLATFORMS = WINSCW GCCE ARMV5 ARMV6
+
+INCLUDEPATH = \
+    $$[QT_INSTALL_PREFIX]/mkspecs/common/symbian/stl-off \
+    $$[QT_INSTALL_PREFIX]/mkspecs/common/symbian \
+    $${EPOCROOT}epoc32/include \
+    $$OS_LAYER_LIBC_SYSTEMINCLUDE \
+    $$MW_LAYER_SYSTEMINCLUDE \
+    $$INCLUDEPATH
+
+# Ensure '.' directory is the first in include path.
+# RVCT seems to do this automatically, but WINSCW compiler does not, so add it here.
+MMP_RULES += "USERINCLUDE ."
+
+exists($${EPOCROOT}epoc32/release/winscw/udeb/z/system/install/series60v5.0.sis )|exists($${EPOCROOT}epoc32/data/z/system/install/series60v5.0.sis) {
+    S60_VERSION = 5.0
+} else {
+    exists($${EPOCROOT}epoc32/release/winscw/udeb/z/system/install/series60v3.2.sis )|exists($${EPOCROOT}epoc32/data/z/system/install/series60v3.2.sis) {
+        S60_VERSION = 3.2
+    } else {
+        S60_VERSION = 3.1
+        MMP_RULES -= PAGED BYTEPAIRCOMPRESSTARGET
+    }
+}
+
+QMAKE_CXXFLAGS_FAST_VFP.ARMCC = --fpmode fast
+# [TODO] QMAKE_CXXFLAGS_FAST_VFP.GCCE =
+
+symbian {
+    armfpu = $$find(MMP_RULES, "ARMFPU")
+    !isEmpty(armfpu) {
+        vfpv2 = $$find(MMP_RULES, "vfpv2")
+        !isEmpty(vfpv2) {
+            # we will respect fpu setting obtained from configure, but,
+            # if vfpv2 or softvfp+vfpv2 used we want to force RunFast VFP mode
+            QMAKE_CXXFLAGS.ARMCC += $${QMAKE_CXXFLAGS_FAST_VFP.ARMCC}
+            # [TODO] QMAKE_CXXFLAGS.GCCE += $${QMAKE_CXXFLAGS_FAST_VFP.GCCE}
+        }
+    }
+}