summaryrefslogtreecommitdiffstats
path: root/mkspecs
diff options
context:
space:
mode:
Diffstat (limited to 'mkspecs')
-rw-r--r--mkspecs/common/g++.conf2
-rw-r--r--mkspecs/common/mac-g++.conf3
-rw-r--r--mkspecs/common/symbian/symbian.conf71
-rw-r--r--mkspecs/features/default_post.prf87
-rw-r--r--mkspecs/features/moc.prf10
-rw-r--r--mkspecs/features/qt.prf3
-rw-r--r--mkspecs/features/symbian/nested_exceptions.prf4
-rw-r--r--mkspecs/features/symbian/sis_targets.prf (renamed from mkspecs/features/sis_targets.prf)37
-rw-r--r--mkspecs/features/symbian/stl.prf5
-rw-r--r--mkspecs/features/symbian/symbian_building.prf32
-rw-r--r--mkspecs/linux-icc/qmake.conf2
-rw-r--r--mkspecs/win32-msvc2003/qmake.conf3
-rw-r--r--mkspecs/win32-msvc2005/qmake.conf3
-rw-r--r--mkspecs/win32-msvc2008/qmake.conf3
-rw-r--r--mkspecs/win32-msvc2010/qmake.conf3
15 files changed, 211 insertions, 57 deletions
diff --git a/mkspecs/common/g++.conf b/mkspecs/common/g++.conf
index d3db24a..0d511fc 100644
--- a/mkspecs/common/g++.conf
+++ b/mkspecs/common/g++.conf
@@ -8,6 +8,7 @@ QMAKE_CFLAGS_DEPS += -M
QMAKE_CFLAGS_WARN_ON += -Wall -W
QMAKE_CFLAGS_WARN_OFF += -w
QMAKE_CFLAGS_RELEASE += -O2
+QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -g
QMAKE_CFLAGS_DEBUG += -g
QMAKE_CFLAGS_SHLIB += -fPIC
QMAKE_CFLAGS_STATIC_LIB += -fPIC
@@ -22,6 +23,7 @@ QMAKE_CXXFLAGS_DEPS += $$QMAKE_CFLAGS_DEPS
QMAKE_CXXFLAGS_WARN_ON += $$QMAKE_CFLAGS_WARN_ON
QMAKE_CXXFLAGS_WARN_OFF += $$QMAKE_CFLAGS_WARN_OFF
QMAKE_CXXFLAGS_RELEASE += $$QMAKE_CFLAGS_RELEASE
+QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO
QMAKE_CXXFLAGS_DEBUG += $$QMAKE_CFLAGS_DEBUG
QMAKE_CXXFLAGS_SHLIB += $$QMAKE_CFLAGS_SHLIB
QMAKE_CXXFLAGS_STATIC_LIB += $$QMAKE_CFLAGS_STATIC_LIB
diff --git a/mkspecs/common/mac-g++.conf b/mkspecs/common/mac-g++.conf
index 446547d..29b7408 100644
--- a/mkspecs/common/mac-g++.conf
+++ b/mkspecs/common/mac-g++.conf
@@ -10,6 +10,7 @@ QMAKE_CFLAGS_DEPS += -M
QMAKE_CFLAGS_WARN_ON += -Wall -W
QMAKE_CFLAGS_WARN_OFF += -w
QMAKE_CFLAGS_RELEASE += -O2
+QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -g -gdwarf-2
QMAKE_CFLAGS_DEBUG += -g
QMAKE_CFLAGS_SHLIB += -fPIC
QMAKE_CFLAGS_STATIC_LIB += -fPIC
@@ -33,6 +34,7 @@ QMAKE_CXXFLAGS_DEPS += $$QMAKE_CFLAGS_DEPS
QMAKE_CXXFLAGS_WARN_ON += $$QMAKE_CFLAGS_WARN_ON
QMAKE_CXXFLAGS_WARN_OFF += $$QMAKE_CFLAGS_WARN_OFF
QMAKE_CXXFLAGS_RELEASE += $$QMAKE_CFLAGS_RELEASE
+QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO
QMAKE_CXXFLAGS_DEBUG += $$QMAKE_CFLAGS_DEBUG
QMAKE_CXXFLAGS_SHLIB += $$QMAKE_CFLAGS_SHLIB
QMAKE_CXXFLAGS_STATIC_LIB += $$QMAKE_CFLAGS_STATIC_LIB
@@ -52,6 +54,7 @@ QMAKE_LINK_C = $$QMAKE_CC
QMAKE_LINK_C_SHLIB = $$QMAKE_CC
QMAKE_LFLAGS += -headerpad_max_install_names
QMAKE_LFLAGS_RELEASE +=
+QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO += -g -gdwarf-2
QMAKE_LFLAGS_DEBUG +=
QMAKE_LFLAGS_APP +=
QMAKE_LFLAGS_SHLIB += -single_module -dynamiclib
diff --git a/mkspecs/common/symbian/symbian.conf b/mkspecs/common/symbian/symbian.conf
index beef193..cc5b788 100644
--- a/mkspecs/common/symbian/symbian.conf
+++ b/mkspecs/common/symbian/symbian.conf
@@ -125,36 +125,57 @@ QT_IMPORTS_BASE_DIR = /resource/qt/imports
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
+# If environment.prf is provided by platform, load that.
+# It is used for platform specific variable settings, such as SYMBIAN_VERSION.
+exists($${EPOCROOT}epoc32/tools/qt/mkspecs/features/environment.prf) {
+ load($${EPOCROOT}epoc32/tools/qt/mkspecs/features/environment.prf)
+}
+
+# Try to detect SDK version if it wasn't set by environment.prf
+isEmpty(SYMBIAN_VERSION) {
+ exists($${EPOCROOT}epoc32/release/winscw/udeb/z/system/install/Symbianv4.sis)|exists($${EPOCROOT}epoc32/data/z/system/install/Symbianv4.sis) {
+ SYMBIAN_VERSION = Symbian4
} 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
+ # 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) {
+ SYMBIAN_VERSION = Symbian3
} 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
+ exists($${EPOCROOT}epoc32/release/winscw/udeb/z/system/install/series60v5.1.sis)|exists($${EPOCROOT}epoc32/data/z/system/install/series60v5.1.sis) {
+ SYMBIAN_VERSION = Symbian2
} else {
- S60_VERSION = 3.1
+ exists($${EPOCROOT}epoc32/release/winscw/udeb/z/system/install/series60v5.0.sis)|exists($${EPOCROOT}epoc32/data/z/system/install/series60v5.0.sis) {
+ SYMBIAN_VERSION = 9.4
+ } else {
+ exists($${EPOCROOT}epoc32/release/winscw/udeb/z/system/install/series60v3.2.sis)|exists($${EPOCROOT}epoc32/data/z/system/install/series60v3.2.sis) {
+ SYMBIAN_VERSION = 9.3
+ } else {
+ exists($${EPOCROOT}epoc32/release/winscw/udeb/z/system/install/series60v3.1.sis)|exists($${EPOCROOT}epoc32/data/z/system/install/series60v3.1.sis) {
+ SYMBIAN_VERSION = 9.2
+ } else {
+ SYMBIAN_VERSION = Unknown
+ }
+ }
+ }
}
}
}
}
-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
+isEmpty(S60_VERSION) {
+ contains(SYMBIAN_VERSION, "9\\.2") {
+ S60_VERSION = 3.1
+ } else:contains(SYMBIAN_VERSION, "9\\.3") {
+ S60_VERSION = 3.2
+ } else:contains(SYMBIAN_VERSION, "9\\.4") {
+ S60_VERSION = 5.0
+ } else:contains(SYMBIAN_VERSION, "Symbian2") {
+ S60_VERSION = 5.1
+ } else:contains(SYMBIAN_VERSION, "Symbian3") {
+ S60_VERSION = 5.2
+ } else {
+ S60_VERSION = Unknown
+ }
}
# pkg_depends_webkit, pkg_depends_core, and pkg_platform_dependencies can be removed by developer
@@ -163,14 +184,14 @@ contains(S60_VERSION, "3\\.1") {
default_deployment.pkg_prerules += pkg_depends_webkit pkg_depends_qt pkg_platform_dependencies
-# Supports S60 3.0, 3.1, 3.2, 5.0 and Symbian^3 by default
+# Supports S60 3.1, 3.2, 5.0, Symbian^3, and Symbian^4 by default
pkg_platform_dependencies = \
"; Default HW/platform dependencies" \
- "[0x101F7961],0,0,0,{\"S60ProductID\"}" \
"[0x102032BE],0,0,0,{\"S60ProductID\"}" \
"[0x102752AE],0,0,0,{\"S60ProductID\"}" \
"[0x1028315F],0,0,0,{\"S60ProductID\"}" \
- "[0x20022e6d],0,0,0,{\"S60ProductID\"}" \
+ "[0x20022E6D],0,0,0,{\"S60ProductID\"}" \
+ "[0x20032DE7],0,0,0,{\"S60ProductID\"}" \
" "
DEPLOYMENT += default_deployment
diff --git a/mkspecs/features/default_post.prf b/mkspecs/features/default_post.prf
index d844385..09c6587 100644
--- a/mkspecs/features/default_post.prf
+++ b/mkspecs/features/default_post.prf
@@ -1,3 +1,15 @@
+QT_BREAKPAD_ROOT_PATH = $$(QT_BREAKPAD_ROOT_PATH)
+!isEmpty(QT_BREAKPAD_ROOT_PATH): \ # quick test first whether requested ...
+ !staticlib:!static:CONFIG(release, debug|release):contains(TEMPLATE, .*(app|lib)): \ # is it applicable?
+ !contains(TARGET, .*phony_target.*): \ # monster hack, you don't really see this here, right? ;)
+ system($$QT_BREAKPAD_ROOT_PATH/qtbreakpadsymbols --breakpad-exists) { # do we really have it?
+ CONFIG += breakpad
+ CONFIG -= no_debug_info separate_debug_info
+ QMAKE_CFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO
+ QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO
+ QMAKE_LFLAGS_RELEASE = $$QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO
+}
+
CONFIG(debug, debug|release):load(debug)
else:load(release)
debug_and_release:load(debug_and_release)
@@ -6,6 +18,81 @@ incredibuild_xge {
CONFIG = incredibuild_xge $$CONFIG
}
+breakpad {
+ !contains(DESTDIR, (/|.:[/\\\\]).*):TARGET_BASEPATH = $${OUT_PWD}/
+ !isEmpty(DESTDIR):TARGET_BASEPATH = $${TARGET_BASEPATH}$${DESTDIR}/
+
+ win32 {
+ TARGET_BASEPATH ~= s,/,\\,
+ contains(TEMPLATE, .*lib) {
+ isEmpty(TARGET_VERSION_EXT):!isEmpty(VERSION) {
+ TARGET_VERSION_EXT = $$section(VERSION, ., 0, 0)
+ isEqual(TARGET_VERSION_EXT, 0):unset(TARGET_VERSION_EXT)
+ }
+ TARGET_EXT = .dll
+ } else {
+ TARGET_EXT = .exe
+ }
+
+ DEBUGFILENAME = $${TARGET_BASEPATH}$${TARGET}$${TARGET_VERSION_EXT}$${TARGET_EXT}
+ PDBFILENAME = $${TARGET_BASEPATH}$${TARGET}$${TARGET_VERSION_EXT}.pdb
+ DEBUGFILENAME ~= s,/,\\,
+ PDBFILENAME ~= s,/,\\,
+ QMAKE_CLEAN += $$PDBFILENAME # for the debug case it is hardcoded in qmake
+ } else {
+ contains(TEMPLATE, .*lib):LIBPREFIX = lib
+
+ macx {
+ equals(TEMPLATE, lib) {
+ lib_bundle {
+ TARGET_BASEPATH = $${TARGET_BASEPATH}$${TARGET}.framework/$${TARGET}
+ } else {
+ TARGET_BASEPATH = $${TARGET_BASEPATH}$${LIBPREFIX}$${TARGET}
+ !plugin {
+ TEMP_VERSION = $$section(VERSION, ., 0, 0)
+ isEmpty(TEMP_VERSION):TEMP_VERSION = 1
+ TARGET_BASEPATH = $${TARGET_BASEPATH}.$${TEMP_VERSION}
+ }
+ TARGET_BASEPATH = $${TARGET_BASEPATH}.$${QMAKE_EXTENSION_SHLIB}
+ }
+ } else {
+ app_bundle {
+ TARGET_BASEPATH = $${TARGET_BASEPATH}$${TARGET}.app/Contents/MacOS/$${TARGET}
+ } else {
+ TARGET_BASEPATH = $${TARGET_BASEPATH}$${TARGET}
+ }
+ }
+ DEBUGFILENAME = $$TARGET_BASEPATH
+ } else {
+ equals(TEMPLATE, lib) {
+ plugin {
+ TARGET_BASEPATH = $${TARGET_BASEPATH}$${LIBPREFIX}$${TARGET}.so
+ } else {
+ TEMP_VERSION = $$VERSION
+ isEmpty(TEMP_VERSION):TEMP_VERSION = 1.0.0
+ TARGET_BASEPATH = $${TARGET_BASEPATH}$${LIBPREFIX}$${TARGET}.so.$${TEMP_VERSION}
+ }
+ } else {
+ TARGET_BASEPATH = $${TARGET_BASEPATH}$${TARGET}
+ }
+ DEBUGFILENAME = $$TARGET_BASEPATH
+ }
+ }
+
+ PROJECTPATH = $$OUT_PWD
+ win32:PROJECTPATH ~= s,/,\\,
+
+ !isEmpty(QMAKE_POST_LINK):QMAKE_POST_LINK = $$QMAKE_POST_LINK$$escape_expand(\\n\\t)
+ QMAKE_POST_LINK += $$quote($${QT_BREAKPAD_ROOT_PATH}$${DIR_SEPARATOR}qtbreakpadsymbols \"$$DEBUGFILENAME\" \"$$PROJECTPATH\")
+ !isEmpty(QMAKE_STRIP):QMAKE_POST_LINK = $$quote($$QMAKE_POST_LINK$$escape_expand(\\n\\t)$$QMAKE_STRIP \"$$DEBUGFILENAME\")
+
+ unset(TARGET_BASEPATH)
+ unset(SYMBOLFILENAME)
+ unset(TARGET_EXT)
+ unset(TARGET_VERSION_EXT)
+ unset(TEMP_VERSION)
+}
+
QMAKE_INCDIR += $$QMAKE_INCDIR_POST
QMAKE_LIBDIR += $$QMAKE_LIBDIR_POST
diff --git a/mkspecs/features/moc.prf b/mkspecs/features/moc.prf
index abda78f..89e9b40 100644
--- a/mkspecs/features/moc.prf
+++ b/mkspecs/features/moc.prf
@@ -39,22 +39,22 @@ win32:count($$list($$INCLUDEPATH), 40, >) {
}
}
-defineReplace(mocCmd) {
+defineReplace(mocCmdBase) {
!isEmpty(WIN_INCLUDETEMP) {
RET =
if(contains(TEMPLATE, "vc.*")|contains(TEMPLATE_PREFIX, "vc")) {
RET += $$mocinclude.commands
}
- RET += $$QMAKE_MOC $(DEFINES) @$$WIN_INCLUDETEMP $$join(QMAKE_COMPILER_DEFINES, " -D", -D) $$1 -o $$2
+ RET += $$QMAKE_MOC $(DEFINES) @$$WIN_INCLUDETEMP $$join(QMAKE_COMPILER_DEFINES, " -D", -D)
return($$RET)
}
- return($$QMAKE_MOC $(DEFINES) $(INCPATH) $$join(QMAKE_COMPILER_DEFINES, " -D", -D) $$1 -o $$2)
+ return($$QMAKE_MOC $(DEFINES) $(INCPATH) $$join(QMAKE_COMPILER_DEFINES, " -D", -D))
}
#moc headers
moc_header.CONFIG = moc_verify
moc_header.dependency_type = TYPE_C
-moc_header.commands = ${QMAKE_FUNC_mocCmd}
+moc_header.commands = ${QMAKE_FUNC_mocCmdBase} ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT}
moc_header.output = $$MOC_DIR/$${QMAKE_H_MOD_MOC}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_CPP)}
moc_header.input = HEADERS
moc_header.variable_out = SOURCES
@@ -69,7 +69,7 @@ INCREDIBUILD_XGE += moc_header
#moc sources
moc_source.CONFIG = no_link moc_verify
moc_source.dependency_type = TYPE_C
-moc_source.commands = ${QMAKE_FUNC_mocCmd}
+moc_source.commands = ${QMAKE_FUNC_mocCmdBase} ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT}
moc_source.output = $$MOC_DIR/$${QMAKE_CPP_MOD_MOC}${QMAKE_FILE_BASE}$${QMAKE_EXT_CPP_MOC}
moc_source.input = SOURCES OBJECTIVE_SOURCES
moc_source.name = MOC ${QMAKE_FILE_IN}
diff --git a/mkspecs/features/qt.prf b/mkspecs/features/qt.prf
index 4fd804d..e59319f 100644
--- a/mkspecs/features/qt.prf
+++ b/mkspecs/features/qt.prf
@@ -36,7 +36,7 @@ INCLUDEPATH = $$QMAKE_INCDIR_QT $$INCLUDEPATH #prepending prevents us from picki
win32:INCLUDEPATH += $$QMAKE_INCDIR_QT/ActiveQt
# As order does matter for static libs, we reorder the QT variable here
-TMPLIBS = declarative webkit phonon multimedia dbus testlib script scripttools svg qt3support sql xmlpatterns xml egl opengl openvg gui network core
+TMPLIBS = declarative webkit phonon multimedia dbus testlib script scripttools svg qt3support sql xmlpatterns xml egl opengl openvg gui network core meegographicssystemhelper
for(QTLIB, $$list($$TMPLIBS)) {
contains(QT, $$QTLIB): QT_ORDERED += $$QTLIB
}
@@ -175,6 +175,7 @@ for(QTLIB, $$list($$lower($$unique(QT)))) {
}
} else:isEqual(QTLIB, declarative):qlib = QtDeclarative
else:isEqual(QTLIB, multimedia):qlib = QtMultimedia
+ else:isEqual(QTLIB, meegographicssystemhelper):qlib = QtMeeGoGraphicsSystemHelper
else:message("Unknown QT: $$QTLIB"):qlib =
!isEmpty(qlib) {
target_qt:isEqual(TARGET, qlib) {
diff --git a/mkspecs/features/symbian/nested_exceptions.prf b/mkspecs/features/symbian/nested_exceptions.prf
new file mode 100644
index 0000000..defca94
--- /dev/null
+++ b/mkspecs/features/symbian/nested_exceptions.prf
@@ -0,0 +1,4 @@
+# use nested exceptions runtime support for apps
+contains(TEMPLATE, app) {
+ MMP_RULES *= EPOCNESTEDEXCEPTIONS
+}
diff --git a/mkspecs/features/sis_targets.prf b/mkspecs/features/symbian/sis_targets.prf
index 800a04c..e838e10 100644
--- a/mkspecs/features/sis_targets.prf
+++ b/mkspecs/features/symbian/sis_targets.prf
@@ -37,7 +37,7 @@ equals(GENERATE_SIS_TARGETS, true) {
)
ok_sis_target.target = ok_sis
- ok_sis_target.commands = createpackage.bat $$CONVERT_GCCE_PARAM $(QT_SIS_OPTIONS) $${baseTarget}_template.pkg \
+ ok_sis_target.commands = createpackage $$CONVERT_GCCE_PARAM $(QT_SIS_OPTIONS) $${baseTarget}_template.pkg \
$(QT_SIS_TARGET) $(QT_SIS_CERTIFICATE) $(QT_SIS_KEY) $(QT_SIS_PASSPHRASE)
unsigned_sis_target.target = unsigned_sis
@@ -56,7 +56,7 @@ equals(GENERATE_SIS_TARGETS, true) {
)
ok_unsigned_sis_target.target = ok_unsigned_sis
- ok_unsigned_sis_target.commands = createpackage.bat $$CONVERT_GCCE_PARAM $(QT_SIS_OPTIONS) -o $${baseTarget}_template.pkg $(QT_SIS_TARGET)
+ ok_unsigned_sis_target.commands = createpackage $$CONVERT_GCCE_PARAM $(QT_SIS_OPTIONS) -o $${baseTarget}_template.pkg $(QT_SIS_TARGET)
target_sis_target.target = $${baseTarget}.sis
target_sis_target.commands = $(MAKE) -f $(MAKEFILE) sis
@@ -67,12 +67,23 @@ equals(GENERATE_SIS_TARGETS, true) {
, \
$(MAKE) -f $(MAKEFILE) fail_sis_nopkg \
)
- installer_sis_target.depends = $${baseTarget}.sis
+ installer_sis_target.depends = sis
ok_installer_sis_target.target = ok_installer_sis
- ok_installer_sis_target.commands = createpackage.bat $(QT_SIS_OPTIONS) $${baseTarget}_installer.pkg - \
+ ok_installer_sis_target.commands = createpackage $(QT_SIS_OPTIONS) $${baseTarget}_installer.pkg - \
$(QT_SIS_CERTIFICATE) $(QT_SIS_KEY) $(QT_SIS_PASSPHRASE)
+ unsigned_installer_sis_target.target = unsigned_installer_sis
+ unsigned_installer_sis_target.commands = $(if $(wildcard $${baseTarget}_installer.pkg), \
+ $(MAKE) -f $(MAKEFILE) ok_unsigned_installer_sis \
+ , \
+ $(MAKE) -f $(MAKEFILE) fail_sis_nopkg \
+ )
+ unsigned_installer_sis_target.depends = unsigned_sis
+
+ ok_unsigned_installer_sis_target.target = ok_unsigned_installer_sis
+ ok_unsigned_installer_sis_target.commands = createpackage $(QT_SIS_OPTIONS) -o $${baseTarget}_installer.pkg
+
fail_sis_nopkg_target.target = fail_sis_nopkg
fail_sis_nopkg_target.commands = "$(error PKG file does not exist, 'sis' and 'installer_sis' target are only supported for executables or projects with DEPLOYMENT statement)"
@@ -95,7 +106,7 @@ equals(GENERATE_SIS_TARGETS, true) {
)
ok_stub_sis_target.target = ok_stub_sis
- ok_stub_sis_target.commands = createpackage.bat -s $(QT_SIS_OPTIONS) $${baseTarget}_stub.pkg \
+ ok_stub_sis_target.commands = createpackage -s $(QT_SIS_OPTIONS) $${baseTarget}_stub.pkg \
$(QT_SIS_TARGET) $(QT_SIS_CERTIFICATE) $(QT_SIS_KEY) $(QT_SIS_PASSPHRASE)
QMAKE_EXTRA_TARGETS += sis_target \
@@ -105,6 +116,8 @@ equals(GENERATE_SIS_TARGETS, true) {
target_sis_target \
installer_sis_target \
ok_installer_sis_target \
+ unsigned_installer_sis_target \
+ ok_unsigned_installer_sis_target \
fail_sis_nopkg_target \
fail_sis_nocache_target \
stub_sis_target \
@@ -127,7 +140,6 @@ equals(GENERATE_SIS_TARGETS, true) {
&& echo $${shellFixedHash} Version : >> $$make_cache_name \
&& echo $${shellFixedHash} >> $$make_cache_name \
&& echo $${shellFixedHash} ============================================================================== >> $$make_cache_name \
- && echo. >> $$make_cache_name \
&& echo QT_SIS_TARGET ?= $(QT_SIS_TARGET) >> $$make_cache_name
QMAKE_EXTRA_TARGETS += store_build_target
@@ -154,17 +166,24 @@ equals(GENERATE_SIS_TARGETS, true) {
installer_sis_target.target = installer_sis
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
+ installer_sis_target.depends = sis
+
+ unsigned_installer_sis_target.target = unsigned_installer_sis
+ unsigned_installer_sis_target.commands = $$QMAKE_CREATEPACKAGE $(QT_SIS_OPTIONS) -o $${baseTarget}_installer.pkg
+ unsigned_installer_sis_target.depends = unsigned_sis
!isEmpty(sis_destdir):!equals(sis_destdir, "."):!equals(sis_destdir, "./") {
sis_target.commands += && $$QMAKE_MOVE $${baseTarget}.sis $$sis_destdir
- installer_sis_target.commands += && $$QMAKE_MOVE $${baseTarget}.sis $$sis_destdir
+ unsigned_sis_target.commands += && $$QMAKE_MOVE $${baseTarget}_unsigned.sis $$sis_destdir
+ installer_sis_target.commands += && $$QMAKE_MOVE $${baseTarget}_installer.sis $$sis_destdir
+ unsigned_installer_sis_target.commands += && $$QMAKE_MOVE $${baseTarget}_unsigned_installer.sis $$sis_destdir
}
QMAKE_EXTRA_TARGETS += sis_target \
unsigned_sis_target \
target_sis_target \
- installer_sis_target
+ installer_sis_target \
+ unsigned_installer_sis_target
QMAKE_DISTCLEAN += $${sis_destdir}/$${baseTarget}.sis
}
diff --git a/mkspecs/features/symbian/stl.prf b/mkspecs/features/symbian/stl.prf
index 2a3bce4..65d4b93 100644
--- a/mkspecs/features/symbian/stl.prf
+++ b/mkspecs/features/symbian/stl.prf
@@ -36,3 +36,8 @@ equals(use_libstdcppv5, true) {
} else {
LIBS *= -llibstdcpp.dll
}
+
+# use the runtime support for nested exceptions, if a library is available
+exists($${EPOCROOT}epoc32/release/armv5/urel/usrt_nx_*.lib) {
+ CONFIG += nested_exceptions
+}
diff --git a/mkspecs/features/symbian/symbian_building.prf b/mkspecs/features/symbian/symbian_building.prf
index 0b621a3..539609d 100644
--- a/mkspecs/features/symbian/symbian_building.prf
+++ b/mkspecs/features/symbian/symbian_building.prf
@@ -50,22 +50,22 @@ defineReplace(processSymbianLibrary) {
return($$qt_library)
}
-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
-}
-
-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
+# This part turn "-llibc" into "libc.dso", and moves -L entries to QMAKE_LIBDIR.
+libsToProcess = LIBS QMAKE_LIBS
+for(libToProcess, libsToProcess) {
+ qt_libraries = $$split($$libToProcess, " ")
+ eval($$libToProcess =)
+ for(qt_library, qt_libraries) {
+ contains(qt_library, "^-L.*") {
+ qt_library = $$replace(qt_library, "^-L", "")
+ QMAKE_LIBDIR += $$qt_library
+ } else {
+ qt_newLib = $$processSymbianLibrary($$qt_library)
+ contains(qt_newLib, ".*\\.dso$")|contains(qt_newLib, ".*\\.lib$"):PRE_TARGETDEPS += $$qt_newLib
+ linux-gcce:qt_newLib = "-l:$$qt_newLib"
+ eval($$libToProcess += \$\$qt_newLib)
+ }
+ }
}
elf2e32_LIBPATH =
diff --git a/mkspecs/linux-icc/qmake.conf b/mkspecs/linux-icc/qmake.conf
index 3b26f7d..af56a9a 100644
--- a/mkspecs/linux-icc/qmake.conf
+++ b/mkspecs/linux-icc/qmake.conf
@@ -21,7 +21,7 @@ QMAKE_LEX = flex
QMAKE_LEXFLAGS =
QMAKE_YACC = yacc
QMAKE_YACCFLAGS = -d
-QMAKE_CFLAGS =
+QMAKE_CFLAGS = -falign-stack=maintain-16-byte
QMAKE_CFLAGS_DEPS = -M
QMAKE_CFLAGS_WARN_ON = -w1 -Wcheck -wd654,1572,411,873,1125
QMAKE_CFLAGS_WARN_OFF = -w
diff --git a/mkspecs/win32-msvc2003/qmake.conf b/mkspecs/win32-msvc2003/qmake.conf
index 0230b30..63d1ffd 100644
--- a/mkspecs/win32-msvc2003/qmake.conf
+++ b/mkspecs/win32-msvc2003/qmake.conf
@@ -20,6 +20,7 @@ QMAKE_CFLAGS = -nologo -Zm300
QMAKE_CFLAGS_WARN_ON = -W3
QMAKE_CFLAGS_WARN_OFF = -W0
QMAKE_CFLAGS_RELEASE = -O2 -MD
+QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -MD -Zi
QMAKE_CFLAGS_DEBUG = -Zi -MDd
QMAKE_CFLAGS_YACC =
@@ -28,6 +29,7 @@ QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON -w34100 -w34189
QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE
+QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO
QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG
QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC
QMAKE_CXXFLAGS_STL_ON = -EHsc
@@ -51,6 +53,7 @@ QMAKE_RUN_CXX_IMP_BATCH = $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ @<<
QMAKE_LINK = link
QMAKE_LFLAGS = /NOLOGO
QMAKE_LFLAGS_RELEASE = /INCREMENTAL:NO
+QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO = /INCREMENTAL:NO /DEBUG
QMAKE_LFLAGS_DEBUG = /DEBUG
QMAKE_LFLAGS_CONSOLE = /SUBSYSTEM:CONSOLE
QMAKE_LFLAGS_WINDOWS = /SUBSYSTEM:WINDOWS
diff --git a/mkspecs/win32-msvc2005/qmake.conf b/mkspecs/win32-msvc2005/qmake.conf
index 0406fd0..265d028 100644
--- a/mkspecs/win32-msvc2005/qmake.conf
+++ b/mkspecs/win32-msvc2005/qmake.conf
@@ -20,6 +20,7 @@ QMAKE_CFLAGS = -nologo -Zm200 -Zc:wchar_t-
QMAKE_CFLAGS_WARN_ON = -W3
QMAKE_CFLAGS_WARN_OFF = -W0
QMAKE_CFLAGS_RELEASE = -O2 -MD
+QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -MD -Zi
QMAKE_CFLAGS_DEBUG = -Zi -MDd
QMAKE_CFLAGS_YACC =
QMAKE_CFLAGS_LTCG = -GL
@@ -29,6 +30,7 @@ QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON -w34100 -w34189
QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE
+QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO
QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG
QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC
QMAKE_CXXFLAGS_LTCG = $$QMAKE_CFLAGS_LTCG
@@ -53,6 +55,7 @@ QMAKE_RUN_CXX_IMP_BATCH = $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ @<<
QMAKE_LINK = link
QMAKE_LFLAGS = /NOLOGO
QMAKE_LFLAGS_RELEASE = /INCREMENTAL:NO
+QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO = /INCREMENTAL:NO /DEBUG
QMAKE_LFLAGS_DEBUG = /DEBUG
QMAKE_LFLAGS_CONSOLE = /SUBSYSTEM:CONSOLE
QMAKE_LFLAGS_WINDOWS = /SUBSYSTEM:WINDOWS \"/MANIFESTDEPENDENCY:type=\'win32\' name=\'Microsoft.Windows.Common-Controls\' version=\'6.0.0.0\' publicKeyToken=\'6595b64144ccf1df\' language=\'*\' processorArchitecture=\'*\'\"
diff --git a/mkspecs/win32-msvc2008/qmake.conf b/mkspecs/win32-msvc2008/qmake.conf
index 9a69aaa..1432645 100644
--- a/mkspecs/win32-msvc2008/qmake.conf
+++ b/mkspecs/win32-msvc2008/qmake.conf
@@ -20,6 +20,7 @@ QMAKE_CFLAGS = -nologo -Zm200 -Zc:wchar_t-
QMAKE_CFLAGS_WARN_ON = -W3
QMAKE_CFLAGS_WARN_OFF = -W0
QMAKE_CFLAGS_RELEASE = -O2 -MD
+QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -MD -Zi
QMAKE_CFLAGS_DEBUG = -Zi -MDd
QMAKE_CFLAGS_YACC =
QMAKE_CFLAGS_LTCG = -GL
@@ -30,6 +31,7 @@ QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON -w34100 -w34189
QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE
+QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO
QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG
QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC
QMAKE_CXXFLAGS_LTCG = $$QMAKE_CFLAGS_LTCG
@@ -55,6 +57,7 @@ QMAKE_RUN_CXX_IMP_BATCH = $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ @<<
QMAKE_LINK = link
QMAKE_LFLAGS = /NOLOGO
QMAKE_LFLAGS_RELEASE = /INCREMENTAL:NO
+QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO = /INCREMENTAL:NO /DEBUG
QMAKE_LFLAGS_DEBUG = /DEBUG
QMAKE_LFLAGS_CONSOLE = /SUBSYSTEM:CONSOLE
QMAKE_LFLAGS_WINDOWS = /SUBSYSTEM:WINDOWS \"/MANIFESTDEPENDENCY:type=\'win32\' name=\'Microsoft.Windows.Common-Controls\' version=\'6.0.0.0\' publicKeyToken=\'6595b64144ccf1df\' language=\'*\' processorArchitecture=\'*\'\"
diff --git a/mkspecs/win32-msvc2010/qmake.conf b/mkspecs/win32-msvc2010/qmake.conf
index 8331c14..84086e2 100644
--- a/mkspecs/win32-msvc2010/qmake.conf
+++ b/mkspecs/win32-msvc2010/qmake.conf
@@ -20,6 +20,7 @@ QMAKE_CFLAGS = -nologo -Zm200 -Zc:wchar_t-
QMAKE_CFLAGS_WARN_ON = -W3
QMAKE_CFLAGS_WARN_OFF = -W0
QMAKE_CFLAGS_RELEASE = -O2 -MD
+QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -MD -Zi
QMAKE_CFLAGS_DEBUG = -Zi -MDd
QMAKE_CFLAGS_YACC =
QMAKE_CFLAGS_LTCG = -GL
@@ -30,6 +31,7 @@ QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON -w34100 -w34189
QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE
+QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO
QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG
QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC
QMAKE_CXXFLAGS_LTCG = $$QMAKE_CFLAGS_LTCG
@@ -55,6 +57,7 @@ QMAKE_RUN_CXX_IMP_BATCH = $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ @<<
QMAKE_LINK = link
QMAKE_LFLAGS = /NOLOGO
QMAKE_LFLAGS_RELEASE = /INCREMENTAL:NO
+QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO = /INCREMENTAL:NO /DEBUG
QMAKE_LFLAGS_DEBUG = /DEBUG
QMAKE_LFLAGS_CONSOLE = /SUBSYSTEM:CONSOLE
QMAKE_LFLAGS_WINDOWS = /SUBSYSTEM:WINDOWS \"/MANIFESTDEPENDENCY:type=\'win32\' name=\'Microsoft.Windows.Common-Controls\' version=\'6.0.0.0\' publicKeyToken=\'6595b64144ccf1df\' language=\'*\' processorArchitecture=\'*\'\"