summaryrefslogtreecommitdiffstats
path: root/mkspecs/features
diff options
context:
space:
mode:
Diffstat (limited to 'mkspecs/features')
-rw-r--r--mkspecs/features/sis_targets.prf8
-rw-r--r--mkspecs/features/symbian/armcc_warnings.prf11
-rw-r--r--mkspecs/features/symbian/symbian_building.prf55
-rw-r--r--mkspecs/features/uic.prf12
4 files changed, 56 insertions, 30 deletions
diff --git a/mkspecs/features/sis_targets.prf b/mkspecs/features/sis_targets.prf
index 19972d7..99f5910 100644
--- a/mkspecs/features/sis_targets.prf
+++ b/mkspecs/features/sis_targets.prf
@@ -125,25 +125,27 @@ equals(GENERATE_SIS_TARGETS, true) {
QMAKE_EXTRA_TARGETS += store_build_target
}
} else {
+ qtPrepareTool(QMAKE_CREATEPACKAGE, createpackage)
+
sis_destdir = $$DESTDIR
isEmpty(sis_destdir):sis_destdir = .
baseTarget = $$basename(TARGET)
!equals(TARGET, "$$baseTarget"):sis_destdir = $$sis_destdir/$$dirname(TARGET)
sis_target.target = sis
- sis_target.commands = createpackage $(QT_SIS_OPTIONS) $${baseTarget}_template.pkg \
+ sis_target.commands = $$QMAKE_CREATEPACKAGE $(QT_SIS_OPTIONS) $${baseTarget}_template.pkg \
- $(QT_SIS_CERTIFICATE) $(QT_SIS_KEY) $(QT_SIS_PASSPHRASE)
sis_target.depends = first
unsigned_sis_target.target = unsigned_sis
- unsigned_sis_target.commands = createpackage $(QT_SIS_OPTIONS) -o $${baseTarget}_template.pkg
+ unsigned_sis_target.commands = $$QMAKE_CREATEPACKAGE $(QT_SIS_OPTIONS) -o $${baseTarget}_template.pkg
unsigned_sis_target.depends = first
target_sis_target.target = $${sis_destdir}/$${baseTarget}.sis
target_sis_target.commands = $(MAKE) -f $(MAKEFILE) sis
installer_sis_target.target = installer_sis
- installer_sis_target.commands = createpackage $(QT_SIS_OPTIONS) $${baseTarget}_installer.pkg - \
+ installer_sis_target.commands = $$QMAKE_CREATEPACKAGE $(QT_SIS_OPTIONS) $${baseTarget}_installer.pkg - \
$(QT_SIS_CERTIFICATE) $(QT_SIS_KEY) $(QT_SIS_PASSPHRASE)
installer_sis_target.depends = $${sis_destdir}/$${baseTarget}.sis
diff --git a/mkspecs/features/symbian/armcc_warnings.prf b/mkspecs/features/symbian/armcc_warnings.prf
index 72bc996..3331bff 100644
--- a/mkspecs/features/symbian/armcc_warnings.prf
+++ b/mkspecs/features/symbian/armcc_warnings.prf
@@ -1,13 +1,22 @@
+# 68: integer conversion resulted in a change of sign (sounds useful, but it's
+# buggy and is reported even in places where it makes no sense)
# 111: Statement is unreachable
# 185: Dynamic initialization in unreachable code
+# 187: use of "=" where "==" may have been intended
# 191: Type qualifier is meaningless on cast type
# 368: class "<class>" defines no constructor to initialize the following: <member>
# (Disabled because there are other ways of assigning besides constructors)
+# 830: function "xxx" has no corresponding operator delete (to be called if an
+# exception is thrown during initialization of an allocated object) (used a
+# lot in 3rd party code)
+# 997: function "xxx" is hidden by "yyy" -- virtual function override intended?
+# (used all over the place in the Symbian SDK)
# 1293: Assignment in condition
# 1294: pre-ANSI C style functions declarations (used a lot in 3rd party code)
# 2874: <variable> may be used before being set (this one sounds useful, but
# it's output also for class instances, making it useless in practice)
-QMAKE_CFLAGS.ARMCC += --diag_suppress 111,185,191,368,1293,1294,2874
+QMAKE_CFLAGS.ARMCC += --diag_suppress 68,111,185,187,191,368,830,997,1293,1294,2874
+QMAKE_CXXFLAGS.ARMCC += --diag_suppress 68,111,185,187,191,368,830,997,1293,1294,2874
# 6780: <origvis> visibility removed from symbol '<symname>' through <impexp>
QMAKE_LFLAGS.ARMCC += --diag_suppress 6780
diff --git a/mkspecs/features/symbian/symbian_building.prf b/mkspecs/features/symbian/symbian_building.prf
index ce124ec..c119c90 100644
--- a/mkspecs/features/symbian/symbian_building.prf
+++ b/mkspecs/features/symbian/symbian_building.prf
@@ -1,3 +1,11 @@
+linux-armcc {
+ QMAKE_CFLAGS += $$QMAKE_CFLAGS.ARMCC
+ QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS.ARMCC
+} else:linux-gcce {
+ QMAKE_CFLAGS += $$QMAKE_CFLAGS.GCCE
+ QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS.GCCE
+}
+
# We need a target name without the INFIX'ed part, since flags are not infixed.
equals(QMAKE_TARGET_PRODUCT, Qt4):clean_TARGET = $$replace(TARGET, "$${QT_LIBINFIX}$", "")
else:clean_TARGET = $$TARGET
@@ -34,29 +42,31 @@ contains(QMAKE_CFLAGS, "--thumb")|contains(QMAKE_CXXFLAGS, "--thumb")|contains(Q
DEFINES += __MARM_THUMB__
}
-defineReplace(processSymbianLibraries) {
- library = $$replace(1, "\\.dll$", ".dso")
- library = $$replace(library, "^-l", "")
- isFullName = $$find(library, \\.)
- isEmpty(isFullName):library="$${library}.dso"
- linux-gcce {
- newLIB = "-l:$${library}"
- } else {
- newLIB = "$${library}"
- }
- contains(library, "\\.dso$")|contains(library, "\\.lib$"):PRE_TARGETDEPS += $$library
- return($$newLIB)
+defineReplace(processSymbianLibrary) {
+ qt_library = $$replace(1, "\\.dll$", ".dso")
+ qt_library = $$replace(qt_library, "^-l", "")
+ isFullName = $$find(qt_library, \\.)
+ isEmpty(isFullName):qt_library="$${qt_library}.dso"
+ return($$qt_library)
}
-for(libraries, LIBS) {
- newLIBS += $$processSymbianLibraries($$libraries)
+qt_libraries = $$split(LIBS, " ")
+LIBS =
+for(qt_library, qt_libraries) {
+ qt_newLib = $$processSymbianLibrary($$qt_library)
+ contains(qt_newLib, ".*\\.dso$")|contains(qt_newLib, ".*\\.lib$"):PRE_TARGETDEPS += $$qt_newLib
+ linux-gcce:qt_newLib = "-l:$$qt_newLib"
+ LIBS += $$qt_newLib
}
-LIBS = $$newLIBS
-newLIBS =
-for(libraries, QMAKE_LIBS) {
- newLIBS += $$processSymbianLibraries($$libraries)
+
+qt_libraries = $$split(QMAKE_LIBS, " ")
+QMAKE_LIBS =
+for(qt_library, qt_libraries) {
+ qt_newLib = $$processSymbianLibrary($$qt_library)
+ contains(qt_newLib, ".*\\.dso$")|contains(qt_newLib, ".*\\.lib$"):PRE_TARGETDEPS += $$qt_newLib
+ linux-gcce:qt_newLib = "-l:$$qt_newLib"
+ QMAKE_LIBS += $$qt_newLib
}
-QMAKE_LIBS = $$newLIBS
elf2e32_LIBPATH =
for(libPath, QMAKE_LIBDIR) {
@@ -131,6 +141,7 @@ contains(TEMPLATE, lib):!contains(CONFIG, static):!contains(CONFIG, staticlib) {
$$capability \
$$QMAKE_ELF2E32_FLAGS \
$$QMAKE_POST_LINK
+ silent:QMAKE_POST_LINK = @echo postlinking $@ && $$QMAKE_POST_LINK
QMAKE_DISTCLEAN += $${symbianDestdir}/$${baseTarget}.sym
QMAKE_DISTCLEAN += $${symbianDestdir}/$${baseTarget}.dso
QMAKE_CLEAN += $${symbianObjdir}/$${baseTarget}.dso
@@ -154,7 +165,7 @@ contains(TEMPLATE, lib):!contains(CONFIG, static):!contains(CONFIG, staticlib) {
DEFINES += __DLL__
}
-contains(TEMPLATE, app):!contains(QMAKE_LINK, "^@.*") {
+contains(TEMPLATE, app):!contains(QMAKE_LINK, "^@:.*") {
!isEmpty(QMAKE_POST_LINK) {
# No way to honor the '@' :-(
QMAKE_POST_LINK = $$replace(QMAKE_POST_LINK, "^@", "")
@@ -177,6 +188,7 @@ contains(TEMPLATE, app):!contains(QMAKE_LINK, "^@.*") {
$$QMAKE_ELF2E32_FLAGS \
&& ln "$${symbianDestdir}/$${baseTarget}.exe" "$${symbianDestdir}/$${baseTarget}" \
$$QMAKE_POST_LINK
+ silent:QMAKE_POST_LINK = @echo postlinking $@ && $$QMAKE_POST_LINK
QMAKE_DISTCLEAN += $${symbianDestdir}/$${baseTarget}.sym
QMAKE_DISTCLEAN += $${symbianDestdir}/$${baseTarget}.exe
QMAKE_CLEAN += $${symbianDestdir}/$${baseTarget}
@@ -243,6 +255,7 @@ symbianresources.commands = cpp -nostdinc -undef \
-o$${symbianDestdir}/${QMAKE_FILE_BASE}$${QT_LIBINFIX}.rsc \
-h$${symbian_resources_RCC_DIR}/${QMAKE_FILE_BASE}$${QT_LIBINFIX}.rsg \
-i${QMAKE_FILE_NAME}
+silent:symbianresources.commands = @echo rcomp $< && $$symbianresources.commands
symbianresources.dependency_type = TYPE_C
symbianresources.CONFIG = no_link target_predeps
@@ -266,6 +279,7 @@ contains(TEMPLATE, "app"):!contains(CONFIG, "no_icon") {
-o$${symbianDestdir}/$${baseResourceTarget}.rsc \
-h$${symbian_resources_RCC_DIR}/$${baseResourceTarget}.rsg \
-i$${baseResourceTarget}.rss
+ silent:symbianGenResource.commands = @echo rcomp $${baseResourceTarget}.rss && $$symbianGenResource.commands
symbianGenResource.depends = $${baseResourceTarget}.rss
PRE_TARGETDEPS += $${symbian_resources_RCC_DIR}/$${baseResourceTarget}.rsg
QMAKE_CLEAN += $${symbian_resources_RCC_DIR}/$${baseResourceTarget}.rsg
@@ -284,6 +298,7 @@ contains(TEMPLATE, "app"):!contains(CONFIG, "no_icon") {
-o$${symbianDestdir}/$${baseResourceTarget}_reg.rsc \
-h$${symbian_resources_RCC_DIR}/$${baseResourceTarget}_reg.rsg \
-i$${baseResourceTarget}_reg.rss
+ silent:symbianGenRegResource.commands = @echo rcomp $${baseResourceTarget}_reg.rss && $$symbianGenRegResource.commands
symbianGenRegResource.depends = $${baseResourceTarget}_reg.rss $${symbian_resources_RCC_DIR}/$${baseResourceTarget}.rsg
PRE_TARGETDEPS += $${symbian_resources_RCC_DIR}/$${baseResourceTarget}_reg.rsg
QMAKE_CLEAN += $${symbian_resources_RCC_DIR}/$${baseResourceTarget}_reg.rsg
diff --git a/mkspecs/features/uic.prf b/mkspecs/features/uic.prf
index 5324e65..0a18b47 100644
--- a/mkspecs/features/uic.prf
+++ b/mkspecs/features/uic.prf
@@ -86,20 +86,20 @@ defineReplace(imageCollectionCmd) {
for(image, $$list($$split(1))) {
EMBEDDED_IMAGES += $$image
count(EMBEDDED_IMAGES, 5) {
- isEmpty(RET): RET += echo $$EMBEDDED_IMAGES > images.tmp $$escape_expand(\\n\\t)
- else: RET += echo $$EMBEDDED_IMAGES >> images.tmp $$escape_expand(\\n\\t)
+ isEmpty(RET): RET += echo $$EMBEDDED_IMAGES > $${UI_DIR}/images.tmp $$escape_expand(\\n\\t)
+ else: RET += echo $$EMBEDDED_IMAGES >> $${UI_DIR}/images.tmp $$escape_expand(\\n\\t)
unset(EMBEDDED_IMAGES)
}
}
- !isEmpty(EMBEDDED_IMAGES):RET += echo $$EMBEDDED_IMAGES >> images.tmp $$escape_expand(\\n\\t)
+ !isEmpty(EMBEDDED_IMAGES):RET += echo $$EMBEDDED_IMAGES >> $${UI_DIR}/images.tmp $$escape_expand(\\n\\t)
!isEmpty(RET) {
- RET += $$QMAKE_UIC3 -embed $$TARGET -f images.tmp -o $$2 $$escape_expand(\\n\\t)
+ RET += $$QMAKE_UIC3 -embed $$TARGET -f $${UI_DIR}/images.tmp -o $$2 $$escape_expand(\\n\\t)
return($$RET)
}
return($$QMAKE_UIC3 -embed $$TARGET $$1 -o $$2)
}
-image_collection.output = qmake_image_collection$${first(QMAKE_EXT_CPP)}
+image_collection.output = $${UI_DIR}/qmake_image_collection$${first(QMAKE_EXT_CPP)}
image_collection.variable_out = SOURCES
image_collection.input = IMAGES
image_collection.CONFIG += combine
@@ -109,7 +109,7 @@ image_collection.name = UIC3 Image collection in ${QMAKE_FILE_OUT}
silent:image_collection.commands = @echo uic3 -embed ${QMAKE_FILE_IN} && $$image_collection.commands
} else {
image_collection.commands = ${QMAKE_FUNC_imageCollectionCmd}
- silent:image_collection.commands = @echo uic3 -embed $$TARGET -f images.tmp && $image_collection.commands
+ silent:image_collection.commands = @echo uic3 -embed $$TARGET -f $${UI_DIR}/images.tmp && $image_collection.commands
}
QMAKE_EXTRA_COMPILERS += image_collection