summaryrefslogtreecommitdiffstats
path: root/mkspecs
diff options
context:
space:
mode:
Diffstat (limited to 'mkspecs')
-rw-r--r--mkspecs/common/symbian/header-wrappers/AknBitmapAnimation.h1
-rw-r--r--mkspecs/common/symbian/header-wrappers/AknFontAccess.h1
-rw-r--r--mkspecs/common/symbian/header-wrappers/AknInputLanguageInfo.h1
-rw-r--r--mkspecs/common/symbian/header-wrappers/ApAccessPointItem.h1
-rw-r--r--mkspecs/common/symbian/header-wrappers/ApDataHandler.h1
-rw-r--r--mkspecs/common/symbian/header-wrappers/ApUtils.h1
-rw-r--r--mkspecs/common/symbian/symbian-makefile.conf7
-rw-r--r--mkspecs/common/symbian/symbian-mmp.conf19
-rw-r--r--mkspecs/common/symbian/symbian.conf32
-rw-r--r--mkspecs/features/symbian/platform_paths.prf7
-rw-r--r--mkspecs/features/symbian/stl.prf20
-rw-r--r--mkspecs/features/symbian/symbian_building.prf2
-rw-r--r--mkspecs/symbian/linux-armcc/qmake.conf13
13 files changed, 75 insertions, 31 deletions
diff --git a/mkspecs/common/symbian/header-wrappers/AknBitmapAnimation.h b/mkspecs/common/symbian/header-wrappers/AknBitmapAnimation.h
new file mode 100644
index 0000000..d53605e
--- /dev/null
+++ b/mkspecs/common/symbian/header-wrappers/AknBitmapAnimation.h
@@ -0,0 +1 @@
+#include <aknbitmapanimation.h>
diff --git a/mkspecs/common/symbian/header-wrappers/AknFontAccess.h b/mkspecs/common/symbian/header-wrappers/AknFontAccess.h
new file mode 100644
index 0000000..e33baaf
--- /dev/null
+++ b/mkspecs/common/symbian/header-wrappers/AknFontAccess.h
@@ -0,0 +1 @@
+#include <aknfontaccess.h>
diff --git a/mkspecs/common/symbian/header-wrappers/AknInputLanguageInfo.h b/mkspecs/common/symbian/header-wrappers/AknInputLanguageInfo.h
new file mode 100644
index 0000000..5f993d7
--- /dev/null
+++ b/mkspecs/common/symbian/header-wrappers/AknInputLanguageInfo.h
@@ -0,0 +1 @@
+#include <akninputlanguageinfo.h>
diff --git a/mkspecs/common/symbian/header-wrappers/ApAccessPointItem.h b/mkspecs/common/symbian/header-wrappers/ApAccessPointItem.h
new file mode 100644
index 0000000..75b6c69
--- /dev/null
+++ b/mkspecs/common/symbian/header-wrappers/ApAccessPointItem.h
@@ -0,0 +1 @@
+#include <apaccesspointitem.h>
diff --git a/mkspecs/common/symbian/header-wrappers/ApDataHandler.h b/mkspecs/common/symbian/header-wrappers/ApDataHandler.h
new file mode 100644
index 0000000..b7b972d
--- /dev/null
+++ b/mkspecs/common/symbian/header-wrappers/ApDataHandler.h
@@ -0,0 +1 @@
+#include <apdatahandler.h>
diff --git a/mkspecs/common/symbian/header-wrappers/ApUtils.h b/mkspecs/common/symbian/header-wrappers/ApUtils.h
new file mode 100644
index 0000000..09cedce
--- /dev/null
+++ b/mkspecs/common/symbian/header-wrappers/ApUtils.h
@@ -0,0 +1 @@
+#include <aputils.h>
diff --git a/mkspecs/common/symbian/symbian-makefile.conf b/mkspecs/common/symbian/symbian-makefile.conf
index b1ca367..364e91b 100644
--- a/mkspecs/common/symbian/symbian-makefile.conf
+++ b/mkspecs/common/symbian/symbian-makefile.conf
@@ -29,7 +29,12 @@ QMAKE_PREFIX_STATICLIB =
QMAKE_EXTENSION_STATICLIB = lib
QMAKE_SYMBIAN_SHLIB = 1
-DEFINES *= __PRODUCT_INCLUDE__=\\<$${EPOCROOT}epoc32/include/variant/symbian_os.hrh\\> \
+is_using_gnupoc {
+ DEFINES *= __PRODUCT_INCLUDE__=\\<$${EPOCROOT}epoc32/include/variant/symbian_os.hrh\\>
+} else {
+ DEFINES *= __PRODUCT_INCLUDE__=\\<$${EPOCROOT}epoc32/include/variant/Symbian_OS.hrh\\>
+}
+DEFINES *= \
__SYMBIAN32__ \
__MARM_INTERWORK__ \
_UNICODE \
diff --git a/mkspecs/common/symbian/symbian-mmp.conf b/mkspecs/common/symbian/symbian-mmp.conf
index 5a7b2d2..4230ad7 100644
--- a/mkspecs/common/symbian/symbian-mmp.conf
+++ b/mkspecs/common/symbian/symbian-mmp.conf
@@ -38,24 +38,7 @@ INCLUDEPATH = \
# 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.2.sis)|exists($${EPOCROOT}epoc32/data/z/system/install/series60v5.2.sis) {
- S60_VERSION = 5.2 symbian3
-} else {
- exists($${EPOCROOT}epoc32/release/winscw/udeb/z/system/install/series60v5.1.sis)|exists($${EPOCROOT}epoc32/data/z/system/install/series60v5.1.sis) {
- S60_VERSION = 5.1 symbian2
- } else {
- 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
- }
- }
- }
-}
+contains(S60_VERSION, 3.1):MMP_RULES -= PAGED BYTEPAIRCOMPRESSTARGET
QMAKE_CXXFLAGS_FAST_VFP.ARMCC = --fpmode fast
# [TODO] QMAKE_CXXFLAGS_FAST_VFP.GCCE =
diff --git a/mkspecs/common/symbian/symbian.conf b/mkspecs/common/symbian/symbian.conf
index 7ec5c6c..6d96b01 100644
--- a/mkspecs/common/symbian/symbian.conf
+++ b/mkspecs/common/symbian/symbian.conf
@@ -119,6 +119,38 @@ QT_IMPORTS_BASE_DIR = /resource/qt/imports
load(qt_config)
load(symbian/platform_paths)
+# The Symbian^3 PDK does not necessarily contain the required sis files.
+# However, libstdcppv5 first appeared in Symbian^3 (S60 5.2), so check for that too.
+exists($${EPOCROOT}epoc32/release/winscw/udeb/z/system/install/series60v5.2.sis)|exists($${EPOCROOT}epoc32/data/z/system/install/series60v5.2.sis)|exists($${EPOCROOT}epoc32/release/armv5/lib/libstdcppv5.dso) {
+ S60_VERSION = 5.2
+} else {
+ exists($${EPOCROOT}epoc32/release/winscw/udeb/z/system/install/series60v5.1.sis)|exists($${EPOCROOT}epoc32/data/z/system/install/series60v5.1.sis) {
+ S60_VERSION = 5.1
+ } else {
+ 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
+ }
+ }
+ }
+}
+
+contains(S60_VERSION, "3\\.1") {
+ SYMBIAN_VERSION = 9.2
+} else:contains(S60_VERSION, "3\\.2") {
+ SYMBIAN_VERSION = 9.3
+} else:contains(S60_VERSION, "5\\.0") {
+ SYMBIAN_VERSION = 9.4
+} else:contains(S60_VERSION, "5\\.1") {
+ SYMBIAN_VERSION = Symbian2
+} else:contains(S60_VERSION, "5\\.2") {
+ SYMBIAN_VERSION = Symbian3
+}
+
# pkg_depends_webkit, pkg_depends_core, and pkg_platform_dependencies can be removed by developer
# if multiple languages need to be supported by pkg file. In that case the developer should declare
# multiple language compatible dependency statements him/herself.
diff --git a/mkspecs/features/symbian/platform_paths.prf b/mkspecs/features/symbian/platform_paths.prf
index 5c190c8..f19898f 100644
--- a/mkspecs/features/symbian/platform_paths.prf
+++ b/mkspecs/features/symbian/platform_paths.prf
@@ -65,8 +65,11 @@ symbian-abld|symbian-sbsv2 {
epocroot_prefix = $${EPOCROOT}
}
-exists($${EPOCROOT}epoc32/include/platform_paths.prf) {
-
+symbian-abld|symbian-sbsv2:exists($${EPOCROOT}epoc32/include/platform_paths.prf) {
+
+ # Symbian does not provide correct profiles for non-mmp based systems, so
+ # we only should get in here with abld and sbsv2.
+
# Load platform specific paths
load($${EPOCROOT}epoc32/include/platform_paths.prf)
diff --git a/mkspecs/features/symbian/stl.prf b/mkspecs/features/symbian/stl.prf
index 3091fce..2a3bce4 100644
--- a/mkspecs/features/symbian/stl.prf
+++ b/mkspecs/features/symbian/stl.prf
@@ -15,18 +15,24 @@ INCLUDEPATH += $$OS_LAYER_STDCPP_SYSTEMINCLUDE
INCLUDEPATH -= $$[QT_INSTALL_PREFIX]/mkspecs/common/symbian/stl-off
# libstdcppv5 is preferred over libstdcpp as it has/uses the throwing version of operator new
-STL_LIB = -llibstdcppv5.dll
-
# STDCPP turns on standard C++ new behaviour (ie. throwing new)
-STL_MMP_RULE = "STDCPP"
+use_libstdcppv5 = true
# Fall back to old implementation if that is the only one that is found
exists($${EPOCROOT}epoc32/release/armv5/lib/libstdcpp.dso)|exists($${EPOCROOT}epoc32/release/winscw/udeb/libstdcpp.dll) {
!exists($${EPOCROOT}epoc32/release/armv5/lib/libstdcppv5.dso):!exists($${EPOCROOT}epoc32/release/winscw/udeb/libstdcppv5.dll) {
- STL_LIB = -llibstdcpp.dll
- STL_MMP_RULE =
+ use_libstdcppv5 = false
}
}
-LIBS *= $$STL_LIB
-MMP_RULES *= $$STL_MMP_RULE
+equals(use_libstdcppv5, true) {
+ LIBS *= -llibstdcppv5.dll
+ symbian-abld|symbian-sbsv2 {
+ MMP_RULES *= "STDCPP"
+ } else {
+ DEFINES *= __SYMBIAN_STDCPP_SUPPORT__
+ LIBS *= -lstdnew.dll
+ }
+} else {
+ LIBS *= -llibstdcpp.dll
+}
diff --git a/mkspecs/features/symbian/symbian_building.prf b/mkspecs/features/symbian/symbian_building.prf
index c119c90..374fe21 100644
--- a/mkspecs/features/symbian/symbian_building.prf
+++ b/mkspecs/features/symbian/symbian_building.prf
@@ -186,7 +186,7 @@ contains(TEMPLATE, app):!contains(QMAKE_LINK, "^@:.*") {
$$elf2e32_LIBPATH \
$$capability \
$$QMAKE_ELF2E32_FLAGS \
- && ln "$${symbianDestdir}/$${baseTarget}.exe" "$${symbianDestdir}/$${baseTarget}" \
+ && $$QMAKE_COPY "$${symbianDestdir}/$${baseTarget}.exe" "$${symbianDestdir}/$${baseTarget}" \
$$QMAKE_POST_LINK
silent:QMAKE_POST_LINK = @echo postlinking $@ && $$QMAKE_POST_LINK
QMAKE_DISTCLEAN += $${symbianDestdir}/$${baseTarget}.sym
diff --git a/mkspecs/symbian/linux-armcc/qmake.conf b/mkspecs/symbian/linux-armcc/qmake.conf
index f8072e3..f058421 100644
--- a/mkspecs/symbian/linux-armcc/qmake.conf
+++ b/mkspecs/symbian/linux-armcc/qmake.conf
@@ -31,7 +31,7 @@ QMAKE_QtWebKit_CXXFLAGS = --arm
# Move RW-section base address to start from 0xE00000 instead of the toolchain default 0x400000.
QMAKE_QtWebKit_LFLAGS = --rw-base 0xE00000
-QMAKE_CFLAGS += --dllimport_runtime --preinclude rvct2_2.h --diag_suppress 186,611,654,1300 --thumb --fpu softvfp --cpu 5T --enum_is_int -Ono_known_library --fpmode ieee_no_fenv --no_vfe --apcs /inter
+QMAKE_CFLAGS += --dllimport_runtime --diag_suppress 186,611,654,1300 --thumb --fpu softvfp --cpu 5T --enum_is_int -Ono_known_library --fpmode ieee_no_fenv --no_vfe --apcs /inter
QMAKE_CXXFLAGS += $$QMAKE_CFLAGS
QMAKE_LFLAGS += --symver_soname --diag_suppress 6331,6780 --bpabi --reloc --datacompressor=off --split --dll --no_scanlib
QMAKE_LFLAGS_APP += --entry _E32Startup
@@ -47,7 +47,16 @@ QMAKE_LIBDIR += $${EPOCROOT}epoc32/release/armv5/lib
QMAKE_LIBDIR *= $$(RVCT22LIB)
INCLUDEPATH = $${EPOCROOT}epoc32/include \
- $${EPOCROOT}epoc32/include/rvct2_2 \
$${EPOCROOT}epoc32/include/variant \
$${EPOCROOT}epoc32/include/stdapis \
$$INCLUDEPATH
+
+exists($${EPOCROOT}epoc32/include/rvct2_2) {
+ INCLUDEPATH += $${EPOCROOT}epoc32/include/rvct2_2
+ QMAKE_CFLAGS += --preinclude rvct2_2.h
+ QMAKE_CXXFLAGS += --preinclude rvct2_2.h
+} else {
+ INCLUDEPATH += $${EPOCROOT}epoc32/include/rvct
+ QMAKE_CFLAGS += --preinclude rvct.h
+ QMAKE_CXXFLAGS += --preinclude rvct.h
+}