summaryrefslogtreecommitdiffstats
path: root/mkspecs
diff options
context:
space:
mode:
Diffstat (limited to 'mkspecs')
-rw-r--r--mkspecs/common/symbian/symbian-makefile.conf2
-rw-r--r--mkspecs/common/symbian/symbian-mmp.conf5
-rw-r--r--mkspecs/features/qt_functions.prf6
-rw-r--r--mkspecs/features/symbian/default_post.prf14
-rw-r--r--mkspecs/features/symbian/symbian_building.prf7
-rw-r--r--mkspecs/symbian-sbsv2/flm/qt/qmake_clean.flm18
-rw-r--r--mkspecs/symbian-sbsv2/flm/qt/qmake_emulator_deployment.flm8
-rw-r--r--mkspecs/symbian-sbsv2/flm/qt/qmake_post_link.flm2
-rw-r--r--mkspecs/symbian-sbsv2/flm/qt/qt.xml5
-rw-r--r--mkspecs/symbian/linux-gcce/qmake.conf9
-rw-r--r--mkspecs/win32-g++/qmake.conf2
11 files changed, 51 insertions, 27 deletions
diff --git a/mkspecs/common/symbian/symbian-makefile.conf b/mkspecs/common/symbian/symbian-makefile.conf
index 0360615fb9..e51de1df66 100644
--- a/mkspecs/common/symbian/symbian-makefile.conf
+++ b/mkspecs/common/symbian/symbian-makefile.conf
@@ -19,8 +19,6 @@ QMAKE_ELF2E32_FLAGS = --dlldata \
--compressionmethod bytepair \
--unpaged
-include(../../common/unix.conf)
-
QMAKE_PREFIX_SHLIB =
CONFIG *= no_plugin_name_prefix
QMAKE_PREFIX_STATICLIB =
diff --git a/mkspecs/common/symbian/symbian-mmp.conf b/mkspecs/common/symbian/symbian-mmp.conf
index 4d554bd4ae..8ed326ae3f 100644
--- a/mkspecs/common/symbian/symbian-mmp.conf
+++ b/mkspecs/common/symbian/symbian-mmp.conf
@@ -13,7 +13,7 @@ symbian-abld {
} 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 += BYTEPAIRCOMPRESSTARGET
MMP_RULES += $$MMP_RULES_DONT_EXPORT_ALL_CLASS_IMPEDIMENTA
SYMBIAN_PLATFORMS = WINSCW GCCE ARMV5 ARMV6
@@ -28,7 +28,8 @@ INCLUDEPATH = \
# RVCT seems to do this automatically, but WINSCW compiler does not, so add it here.
MMP_RULES += "USERINCLUDE ."
-contains(S60_VERSION, 3.1):MMP_RULES -= PAGED BYTEPAIRCOMPRESSTARGET
+# S60 3.1 devices don't support paging for non-ROM components, so no point in using the less efficient compression mechanism
+contains(S60_VERSION, 3.1):MMP_RULES -= BYTEPAIRCOMPRESSTARGET
QMAKE_CXXFLAGS_FAST_VFP.ARMCC = --fpmode fast
# [TODO] QMAKE_CXXFLAGS_FAST_VFP.GCCE =
diff --git a/mkspecs/features/qt_functions.prf b/mkspecs/features/qt_functions.prf
index 964e13b77c..24c84a5dc6 100644
--- a/mkspecs/features/qt_functions.prf
+++ b/mkspecs/features/qt_functions.prf
@@ -53,15 +53,15 @@ defineTest(qtAddLibrary) {
# Needed for because relative inclusion problem in toolchain
INCLUDEPATH *= $$QMAKE_INCDIR_QT/QtXmlPatterns
INCLUDEPATH *= $$QMAKE_INCDIR_QT/QtNetwork
- TARGET.CAPABILITY *= NetworkServices
+ isEmpty(TARGET.CAPABILITY): TARGET.CAPABILITY = NetworkServices
isEmpty(TARGET.EPOCHEAPSIZE):TARGET.EPOCHEAPSIZE = 0x20000 0x2000000
} else:isEqual(LIB_NAME, QtXmlPatterns) {
# Needed for #include <QtXmlPatterns/QtXmlPatterns> because relative inclusion problem in toolchain
INCLUDEPATH *= $$QMAKE_INCDIR_QT/QtNetwork
} else:isEqual(LIB_NAME, QtNetwork) {
- TARGET.CAPABILITY *= NetworkServices
+ isEmpty(TARGET.CAPABILITY): TARGET.CAPABILITY = NetworkServices
} else:isEqual(LIB_NAME, QtDeclarative) {
- TARGET.CAPABILITY *= NetworkServices
+ isEmpty(TARGET.CAPABILITY): TARGET.CAPABILITY = NetworkServices
isEmpty(TARGET.EPOCHEAPSIZE):TARGET.EPOCHEAPSIZE = 0x20000 0x2000000
}
export(TARGET.EPOCHEAPSIZE)
diff --git a/mkspecs/features/symbian/default_post.prf b/mkspecs/features/symbian/default_post.prf
index ec6ecd0c84..126981e78f 100644
--- a/mkspecs/features/symbian/default_post.prf
+++ b/mkspecs/features/symbian/default_post.prf
@@ -53,14 +53,16 @@ isEmpty(TARGET.UID2) {
}
}
-# Supports S60 3.1, 3.2, 5.0, Symbian^3, and Symbian^4 by default
+# Supports Symbian^3 and Symbian^4 by default and also S60 3.1, 3.2, and 5.0 if built against any of those.
platform_product_id = S60ProductID
platform_product_id = $$addLanguageDependentPkgItem(platform_product_id)
pkg_platform_dependencies = \
"; Default HW/platform dependencies" \
- "[0x102032BE],0,0,0,{$$platform_product_id}" \
- "[0x102752AE],0,0,0,{$$platform_product_id}" \
- "[0x1028315F],0,0,0,{$$platform_product_id}" \
"[0x20022E6D],0,0,0,{$$platform_product_id}" \
- "[0x20032DE7],0,0,0,{$$platform_product_id}" \
- " "
+ "[0x20032DE7],0,0,0,{$$platform_product_id}"
+contains(S60_VERSION, 3.1)|contains(S60_VERSION, 3.2)|contains(S60_VERSION, 5.0) {
+ pkg_platform_dependencies += \
+ "[0x102032BE],0,0,0,{$$platform_product_id}" \
+ "[0x102752AE],0,0,0,{$$platform_product_id}" \
+ "[0x1028315F],0,0,0,{$$platform_product_id}"
+}
diff --git a/mkspecs/features/symbian/symbian_building.prf b/mkspecs/features/symbian/symbian_building.prf
index 0cedaa03ec..0d2e05387b 100644
--- a/mkspecs/features/symbian/symbian_building.prf
+++ b/mkspecs/features/symbian/symbian_building.prf
@@ -51,7 +51,7 @@ defineReplace(processSymbianLibrary) {
}
# This part turn "-llibc" into "libc.dso", and moves -L entries to QMAKE_LIBDIR.
-libsToProcess = LIBS QMAKE_LIBS
+libsToProcess = LIBS LIBS_PRIVATE QMAKE_LIBS
for(libToProcess, libsToProcess) {
qt_libraries = $$split($$libToProcess, " ")
eval($$libToProcess =)
@@ -90,8 +90,8 @@ count(splitVersion, 0) {
} else {
count(splitVersion, 3) {
hexVersion = $$system("sh -c 'printf %02x $$member(splitVersion, 0)'")
- hexPart2 = $$system("sh -c 'printf %02x $$member(splitVersion, 1)'")"
- hexPart2 = $$hexPart2$$system("sh -c 'printf %02x $$member(splitVersion, 2)'")"
+ hexPart2 = $$system("sh -c 'printf %02x $$member(splitVersion, 1)'")
+ hexPart2 = $$hexPart2$$system("sh -c 'printf %02x $$member(splitVersion, 2)'")
decVersion = $$system("sh -c 'printf %1d 0x$$hexVersion'").
hexVersion = $$hexVersion$$hexPart2
decVersion = $$decVersion$$system("sh -c 'printf %d 0x$$hexPart2'")
@@ -147,6 +147,7 @@ contains(TEMPLATE, lib):!contains(CONFIG, static):!contains(CONFIG, staticlib) {
LIBS += -ledllstub.lib -ledll.lib\\(uc_dll_.o\\)
} else :linux-gcce {
LIBS += \
+ -l:edllstub.lib \
-l:edll.lib \
-l:usrt2_2.lib \
-l:dfpaeabi.dso \
diff --git a/mkspecs/symbian-sbsv2/flm/qt/qmake_clean.flm b/mkspecs/symbian-sbsv2/flm/qt/qmake_clean.flm
new file mode 100644
index 0000000000..fe35e6ef4d
--- /dev/null
+++ b/mkspecs/symbian-sbsv2/flm/qt/qmake_clean.flm
@@ -0,0 +1,18 @@
+# /****************************************************************************
+# **
+# ** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+# ** Contact: Nokia Corporation (qt-info@nokia.com)
+# **
+# ** This file is part of symbian-sbsv2 mkspec.
+# **
+# ****************************************************************************/
+
+
+SINGLETON:=$(call sanitise,QMAKE_CLEAN_SINGLETON_$(EXTENSION_ROOT))
+
+ifeq ($($(SINGLETON)),)
+# Prevent duplicate targets from being created
+$(SINGLETON):=1
+$(eval $(call GenerateStandardCleanTarget,$(CLEAN_FILES),''))
+endif
+
diff --git a/mkspecs/symbian-sbsv2/flm/qt/qmake_emulator_deployment.flm b/mkspecs/symbian-sbsv2/flm/qt/qmake_emulator_deployment.flm
index db91f7f977..39ab0f090c 100644
--- a/mkspecs/symbian-sbsv2/flm/qt/qmake_emulator_deployment.flm
+++ b/mkspecs/symbian-sbsv2/flm/qt/qmake_emulator_deployment.flm
@@ -11,6 +11,9 @@
SINGLETON:=$(call sanitise,TARGET_$(DEPLOY_TARGET))
CLEAN_TARGET:=
+# Deployment dependencies collection target for post link operations
+all_qmake_emulator_deployment_dependencies::
+
define qmake_emulator_deployment
$(ALLTARGET):: $(1)
@@ -19,7 +22,7 @@ $(SINGLETON):=1
CLEAN_TARGET:=$(1)
-$(1): $(2)
+$(1): $(2) all_qmake_emulator_deployment_dependencies
$(call startrule,qmake_emulator_deployment) \
$(GNUCP) --remove-destination --no-preserve=mode $(2) "$$@" && \
$(GNUCHMOD) a+rw "$$@" \
@@ -32,6 +35,3 @@ $(call makepath,$(dir $(DEPLOY_TARGET)))
$(eval $(call GenerateStandardCleanTarget,$(CLEAN_TARGET),''))
endif
-
-
-
diff --git a/mkspecs/symbian-sbsv2/flm/qt/qmake_post_link.flm b/mkspecs/symbian-sbsv2/flm/qt/qmake_post_link.flm
index ae53741cfc..0312d14dbb 100644
--- a/mkspecs/symbian-sbsv2/flm/qt/qmake_post_link.flm
+++ b/mkspecs/symbian-sbsv2/flm/qt/qmake_post_link.flm
@@ -18,6 +18,8 @@ define command_fixer
THE_COMMAND:=$(POST_LINK_CMD)
endef
+all_qmake_emulator_deployment_dependencies:: $(POST_LINK_TARGET)
+
define qmake_post_link
$(ALLTARGET):: $(POST_LINK_TARGET)
diff --git a/mkspecs/symbian-sbsv2/flm/qt/qt.xml b/mkspecs/symbian-sbsv2/flm/qt/qt.xml
index ddd8d559e6..f2f32ee287 100644
--- a/mkspecs/symbian-sbsv2/flm/qt/qt.xml
+++ b/mkspecs/symbian-sbsv2/flm/qt/qt.xml
@@ -38,4 +38,9 @@
<interface name="qt.qmake_store_build" extends="Symbian.UserFLM"
flm="qmake_store_build.flm">
</interface>
+
+ <interface name="qt.qmake_clean" extends="Symbian.UserFLM"
+ flm="qmake_clean.flm">
+ <param name='CLEAN_FILES' />
+ </interface>
</build>
diff --git a/mkspecs/symbian/linux-gcce/qmake.conf b/mkspecs/symbian/linux-gcce/qmake.conf
index faac2f12f1..62cc9aee98 100644
--- a/mkspecs/symbian/linux-gcce/qmake.conf
+++ b/mkspecs/symbian/linux-gcce/qmake.conf
@@ -46,15 +46,14 @@ QMAKE_CXXFLAGS_STATIC_LIB -= -fPIC
QMAKE_LFLAGS_SONAME =
#QMAKE_LFLAGS_THREAD +=
-#QMAKE_LFLAGS_NOUNDEF += -Wl,--no-undefined
+QMAKE_LFLAGS_NOUNDEF =
QMAKE_LFLAGS_RPATH = --rpath=
DEFINES += __GCCE__ \
- UNICODE \
- _STLP_NO_EXCEPTION_HEADER
+ UNICODE
QMAKE_LFLAGS_APP += --entry=_E32Startup -u _E32Startup
-QMAKE_LFLAGS_SHLIB += --default-symver --entry _E32Dll
+QMAKE_LFLAGS_SHLIB += --default-symver --entry=_E32Dll -u _E32Dll
QMAKE_LFLAGS_PLUGIN += $$QMAKE_LFLAGS_SHLIB
gcceExtraFlags = --include=${EPOCROOT}/epoc32/include/gcce/gcce.h -march=armv5t -mapcs -mthumb-interwork -nostdinc -c -msoft-float -T script
@@ -89,7 +88,5 @@ INCLUDEPATH = ${EPOCROOT}/epoc32/include/ \
$${EPOCROOT}/epoc32/include/variant \
$${EPOCROOT}/epoc32/include/stdapis \
$${EPOCROOT}/epoc32/include/gcce \
- ${EPOCROOT}/epoc32/include/stdapis/sys \
- ${EPOCROOT}/epoc32/include/stdapis/stlport \
$$INCLUDEPATH
diff --git a/mkspecs/win32-g++/qmake.conf b/mkspecs/win32-g++/qmake.conf
index 2d9833b885..65ae590cfc 100644
--- a/mkspecs/win32-g++/qmake.conf
+++ b/mkspecs/win32-g++/qmake.conf
@@ -77,7 +77,7 @@ QMAKE_LIBS_QT_ENTRY = -lmingw32 -lqtmain
QMAKE_DIR_SEP = /
QMAKE_QMAKE ~= s,\\\\,/,
QMAKE_COPY = cp
- QMAKE_COPY_DIR = xcopy /s /q /y /i
+ QMAKE_COPY_DIR = cp -r
QMAKE_MOVE = mv
QMAKE_DEL_FILE = rm
QMAKE_MKDIR = mkdir