1load(default_post)
2
3contains(TEMPLATE, ".*app") {
4    contains(CONFIG, stdbinary) {
5        QMAKE_LIBS +=
6    } else:contains(CONFIG,qt) {
7        QMAKE_LIBS += $$QMAKE_LIBS_QT_ENTRY
8    } else {
9        QMAKE_LIBS += $$QMAKE_LIBS_NO_QT_ENTRY
10    }
11
12    contains(DESTDIR, "/.*") {
13        default_bin_deployment.files += $$DESTDIR/$$symbianRemoveSpecialCharacters($$basename(TARGET)).exe
14    } else:isEmpty(DESTDIR) {
15        default_bin_deployment.files += $$OUT_PWD/$$symbianRemoveSpecialCharacters($$basename(TARGET)).exe
16    } else {
17        default_bin_deployment.files += $$OUT_PWD/$$DESTDIR/$$symbianRemoveSpecialCharacters($$basename(TARGET)).exe
18    }
19    default_bin_deployment.path += /sys/bin
20
21    load(application_icon.prf)
22
23    # Specify default graphics memory quota for applications unless explicitly set by developer.
24    !contains(S60_VERSION, 5.0):!contains(S60_VERSION, 5.1):!contains(S60_VERSION, 5.2):!contains(S60_VERSION, 5.3) {
25        !contains(RSS_RULES, .*graphics_memory.*) {
26            contains(QT, gui) {
27                RSS_RULES += "graphics_memory=24576;"
28            } else {
29                RSS_RULES += "graphics_memory=0;"
30            }
31        }
32    }
33}
34
35contains(TEMPLATE, lib): {
36    contains(CONFIG, staticlib)|contains(CONFIG, static): {
37        # Static libs should not have LIBRARY statements in S60
38        QMAKE_LIBS =
39        # Static libs do not need def files
40        MMP_RULES -= EXPORTUNFROZEN
41    }
42    contains(CONFIG, plugin):!contains(CONFIG, stdbinary): {
43        # Plugins based on normal libraries have predefined def file
44        MMP_RULES -= EXPORTUNFROZEN
45    }
46} else {
47    # Applications don't need this
48    MMP_RULES -= EXPORTUNFROZEN
49}
50
51isEmpty(TARGET.UID3):TARGET.UID3 = $$generate_uid("$${OUT_PWD}/$${TARGET}")
52isEmpty(TARGET.UID2) {
53    contains(CONFIG, stdbinary) {
54        TARGET.UID2 = 0x20004C45
55    } else {
56        contains(TEMPLATE, app) {
57            contains(QT, gui) {
58                TARGET.UID2 = 0x100039CE
59            } else {
60                TARGET.UID2 = 0
61            }
62        } else:contains(TEMPLATE, lib):!contains(CONFIG, static):!contains(CONFIG, staticlib) {
63            TARGET.UID2 = 0x1000008d
64        }
65    }
66}
67
68# Add dependency to Qt package to all other projects besides Qt libs.
69# Note: Qt libs package with full capabilities has UID3 of 0x2001E61C,
70#       while self-signed version typically has temporary UID3 of 0xE001E61C.
71contains(CONFIG, qt):!contains(TARGET.UID3, 0x2001E61C):!contains(TARGET.UID3, 0xE001E61C):isEmpty(QT_LIBINFIX) {
72    qt_pkg_name = Qt
73    pkg_depends_qt += \
74        "; Default dependency to Qt libraries" \
75        "(0x2001E61C), $${QT_MAJOR_VERSION}, $${QT_MINOR_VERSION}, $${QT_PATCH_VERSION}, {$$addLanguageDependentPkgItem(qt_pkg_name)}"
76
77    # Projects linking to webkit need dependency to webkit
78    contains(QT, webkit): {
79        # these can be overridden by mkspecs/modules/qt_webkit.pri
80        isEmpty(QT_WEBKIT_MAJOR_VERSION) {
81            QT_WEBKIT_MAJOR_VERSION = $${QT_MAJOR_VERSION}
82            QT_WEBKIT_MINOR_VERSION = $${QT_MINOR_VERSION}
83            QT_WEBKIT_PATCH_VERSION = $${QT_PATCH_VERSION}
84        }
85
86        webkit_pkg_name = QtWebKit
87        pkg_depends_webkit += \
88            "; Dependency to Qt Webkit" \
89            "(0x200267C2), $${QT_WEBKIT_MAJOR_VERSION}, $${QT_WEBKIT_MINOR_VERSION}, $${QT_WEBKIT_PATCH_VERSION}, {$$addLanguageDependentPkgItem(webkit_pkg_name)}"
90    } else {
91        default_deployment.pkg_prerules -= pkg_depends_webkit
92    }
93} else {
94    default_deployment.pkg_prerules -= pkg_depends_webkit pkg_depends_qt
95}
96
97isEmpty(TARGET.EPOCSTACKSIZE):TARGET.EPOCSTACKSIZE = 0x14000
98isEmpty(TARGET.EPOCHEAPSIZE):TARGET.EPOCHEAPSIZE = 0x020000 0x800000
99
100# Supports Symbian^3 platforms by default and also S60 3.1, 3.2, and 5.0 if built against any of those.
101platform_product_id = S60ProductID
102platform_product_id = $$addLanguageDependentPkgItem(platform_product_id)
103pkg_platform_dependencies = \
104    "; Default HW/platform dependencies" \
105    "[0x20022E6D],0,0,0,{$$platform_product_id}" \
106    "[0x2003A678],0,0,0,{$$platform_product_id}"
107contains(S60_VERSION, 3.1)|contains(S60_VERSION, 3.2)|contains(S60_VERSION, 5.0) {
108    pkg_platform_dependencies += \
109        "[0x102032BE],0,0,0,{$$platform_product_id}" \
110        "[0x102752AE],0,0,0,{$$platform_product_id}" \
111        "[0x1028315F],0,0,0,{$$platform_product_id}"
112}
113