diff options
Diffstat (limited to 'mkspecs')
-rw-r--r-- | mkspecs/common/symbian/symbian.conf | 1 | ||||
-rw-r--r-- | mkspecs/features/sis_targets.prf | 8 | ||||
-rw-r--r-- | mkspecs/features/symbian/armcc_warnings.prf | 11 | ||||
-rw-r--r-- | mkspecs/features/symbian/symbian_building.prf | 55 | ||||
-rw-r--r-- | mkspecs/features/uic.prf | 12 | ||||
-rw-r--r-- | mkspecs/linux-g++-maemo/qmake.conf | 3 | ||||
-rw-r--r-- | mkspecs/symbian/linux-armcc/qmake.conf | 4 |
7 files changed, 59 insertions, 35 deletions
diff --git a/mkspecs/common/symbian/symbian.conf b/mkspecs/common/symbian/symbian.conf index c1b31e5..7ec5c6c 100644 --- a/mkspecs/common/symbian/symbian.conf +++ b/mkspecs/common/symbian/symbian.conf @@ -105,6 +105,7 @@ QMAKE_IDL = midl QMAKE_LIB = ar -ru QMAKE_RC = windres QMAKE_ZIP = zip -r -9 +QMAKE_UNZIP = unzip -o QMAKE_TAR = tar -cf QMAKE_GZIP = gzip -9f 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 diff --git a/mkspecs/linux-g++-maemo/qmake.conf b/mkspecs/linux-g++-maemo/qmake.conf index cced090..a977e7a 100644 --- a/mkspecs/linux-g++-maemo/qmake.conf +++ b/mkspecs/linux-g++-maemo/qmake.conf @@ -27,7 +27,4 @@ QMAKE_CXXFLAGS_RELEASE += -g -fno-omit-frame-pointer -fno-optimize-sibling-call # Work round PowerVR SGX 1.3 driver bug with glScissor & FBOs: DEFINES += QT_GL_NO_SCISSOR_TEST -# Work round SGX 1.4 driver bug (text corrupted), modify glyph cache width: -DEFINES += QT_DEFAULT_TEXTURE_GLYPH_CACHE_WIDTH=1024 - load(qt_config) diff --git a/mkspecs/symbian/linux-armcc/qmake.conf b/mkspecs/symbian/linux-armcc/qmake.conf index 77fb1ea..f8072e3 100644 --- a/mkspecs/symbian/linux-armcc/qmake.conf +++ b/mkspecs/symbian/linux-armcc/qmake.conf @@ -31,8 +31,8 @@ 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,654,1300 --thumb --fpu softvfp --cpu 5T --enum_is_int -Ono_known_library --fpmode ieee_no_fenv --no_vfe --apcs /inter $$QMAKE_CFLAGS.ARMCC -QMAKE_CXXFLAGS += $$QMAKE_CFLAGS $$QMAKE_CXXFLAGS.ARMCC +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_CXXFLAGS += $$QMAKE_CFLAGS QMAKE_LFLAGS += --symver_soname --diag_suppress 6331,6780 --bpabi --reloc --datacompressor=off --split --dll --no_scanlib QMAKE_LFLAGS_APP += --entry _E32Startup QMAKE_LFLAGS_SHLIB += --entry _E32Dll |