summaryrefslogtreecommitdiffstats
path: root/mkspecs/common/symbian/symbian-mmp.conf
blob: e54e8782e9d28c1d202d7acb74115943477f5f81 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#
# qmake configuration for symbian-*
#

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
}

include(symbian.conf)
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 \
    $$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 ."

# Supports S60 3.0, 3.1, 3.2 and 5.0 by default
default_deployment.pkg_prerules = \
    "; Default HW/platform dependencies" \
    "[0x101F7961],0,0,0,{\"S60ProductID\"}" \
    "[0x102032BE],0,0,0,{\"S60ProductID\"}" \
    "[0x102752AE],0,0,0,{\"S60ProductID\"}" \
    "[0x1028315F],0,0,0,{\"S60ProductID\"}" \
    " "

DEPLOYMENT += default_deployment

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}
        }
    }
}