summaryrefslogtreecommitdiffstats
path: root/mkspecs
diff options
context:
space:
mode:
Diffstat (limited to 'mkspecs')
-rw-r--r--mkspecs/common/symbian/symbian.conf7
-rw-r--r--mkspecs/features/help.prf2
-rw-r--r--mkspecs/features/link_pkgconfig.prf17
-rw-r--r--mkspecs/features/qt.prf20
-rw-r--r--mkspecs/features/qt_functions.prf4
-rw-r--r--mkspecs/features/qttest_p4.prf1
-rw-r--r--mkspecs/features/symbian/application_icon.prf4
-rw-r--r--mkspecs/features/symbian/def_files.prf16
-rw-r--r--mkspecs/symbian-sbsv2/flm/qt/qmake_extra_pre_targetdep.flm1
-rw-r--r--mkspecs/unsupported/integrity-ghs/qplatformdefs.h1
10 files changed, 51 insertions, 22 deletions
diff --git a/mkspecs/common/symbian/symbian.conf b/mkspecs/common/symbian/symbian.conf
index b19eece..61a6228 100644
--- a/mkspecs/common/symbian/symbian.conf
+++ b/mkspecs/common/symbian/symbian.conf
@@ -302,3 +302,10 @@ defineReplace(addLanguageDependentPkgItem) {
return($$join(pkgLanguageList,",",,))
}
+
+# Sometimes a relative path to original .pro file directory is necessary when doing shadow builds.
+defineReplace(relativeProPath) {
+ RELATIVE_PRO_FILE_PWD = $$replace(OUT_PWD, "^.:", "") # Lose drive letter if any
+ RELATIVE_PRO_FILE_PWD = $$replace(RELATIVE_PRO_FILE_PWD, "/[^/]*", "../")$$replace(_PRO_FILE_PWD_, "^[^/]*/", "")
+ return($$RELATIVE_PRO_FILE_PWD)
+}
diff --git a/mkspecs/features/help.prf b/mkspecs/features/help.prf
index 15685e7..99521af 100644
--- a/mkspecs/features/help.prf
+++ b/mkspecs/features/help.prf
@@ -1,4 +1,4 @@
INCLUDEPATH = $$QMAKE_INCDIR_QT/QtHelp $$INCLUDEPATH
-QT += xml sql
+QT += sql
qtAddLibrary(QtHelp)
diff --git a/mkspecs/features/link_pkgconfig.prf b/mkspecs/features/link_pkgconfig.prf
index a3dbd1f..91683f6 100644
--- a/mkspecs/features/link_pkgconfig.prf
+++ b/mkspecs/features/link_pkgconfig.prf
@@ -5,8 +5,21 @@ for(PKGCONFIG_LIB, $$list($$unique(PKGCONFIG))) {
# don't proceed if the .pro asks for a package we don't have!
!packagesExist($$PKGCONFIG_LIB):error("Package $$PKGCONFIG_LIB not found")
- QMAKE_CXXFLAGS += $$system($$PKG_CONFIG --cflags $$PKGCONFIG_LIB)
- QMAKE_CFLAGS += $$system($$PKG_CONFIG --cflags $$PKGCONFIG_LIB)
+ PKGCONFIG_CFLAGS = $$system($$PKG_CONFIG --cflags $$PKGCONFIG_LIB)
+
+ PKGCONFIG_INCLUDEPATH = $$find(PKGCONFIG_CFLAGS, ^-I.*)
+ PKGCONFIG_INCLUDEPATH ~= s/^-I(.*)/\\1/g
+
+ PKGCONFIG_DEFINES = $$find(PKGCONFIG_CFLAGS, ^-D.*)
+ PKGCONFIG_DEFINES ~= s/^-D(.*)/\\1/g
+
+ PKGCONFIG_CFLAGS ~= s/^-[ID].*//g
+
+ INCLUDEPATH *= $$PKGCONFIG_INCLUDEPATH
+ DEFINES *= $$PKGCONFIG_DEFINES
+
+ QMAKE_CXXFLAGS += $$PKGCONFIG_CFLAGS
+ QMAKE_CFLAGS += $$PKGCONFIG_CFLAGS
LIBS += $$system($$PKG_CONFIG --libs $$PKGCONFIG_LIB)
}
diff --git a/mkspecs/features/qt.prf b/mkspecs/features/qt.prf
index 191a449..326fe10 100644
--- a/mkspecs/features/qt.prf
+++ b/mkspecs/features/qt.prf
@@ -64,29 +64,35 @@ for(QT_CURRENT_VERIFY, $$list($$QT_PLUGIN_VERIFY)) {
# Check if the plugin is known to Qt. We can use this to determine
# the plugin path. Unknown plugins must rely on the default link path.
ACCESSIBLEPLUGINS = qtaccessiblewidgets qtaccessiblecompatwidgets
+ BEARERPLUGINS = qgenericbearer qnativewifibearer
CODECPLUGINS = qcncodecs qjpcodecs qkrcodecs qtwcodecs
- DECORATIONPLUGINS = qdecorationdefault qdecorationwindows
- GFXDRIVERPLUGINS = qgfxvnc qscreenvfb qgfxsnap qgfxvga16 qgfxmatrox qgfxvoodoo qgfxtransformed qgfxshadowfb
- IMAGEPLUGINS = qgif qmng qjpeg qsvg
+ DECORATIONPLUGINS = qdecorationdefault qdecorationstyled qdecorationwindows
+ GFXDRIVERPLUGINS = qgfxvnc qscreenvfb qgfxtransformed qgfxshadowfb qgfxpvregl qscreenlinuxfb qeglnullws qdirectfbscreen qahiscreen
+ GRAPHICSSYSTEMPLUGINS = qmeegographicssystem qglgraphicssystem qvggraphicssystem qshivavggraphicssystem
+ IMAGEPLUGINS = qgif qico qmng qjpeg qsvg qtiff
INPUTPLUGINS = qimsw-multi
- MOUSEDRIVERPLUGINS = qtslibmousehandler
+ KBDDRIVERPLUGINS = qlinuxinputkbddriver
+ MOUSEDRIVERPLUGINS = qtslibmousehandler qpcmousedriver qlinuxtpmousedriver
SQLPLUGINS = qsqldb2 qsqloci qsqltds qsqlodbc qsqlpsql qsqlibase qsqlmysql qsqlite2 qsqlite
- PHONONPLUGINS = phonon_waveout phonon_ds9
+ PHONONPLUGINS = phonon_waveout phonon_ds9 phonon_gstreamer phonon_qt7 phonon_mmf
- ALLQTPLUGINS = $$ACCESSIBLEPLUGINS $$CODECPLUGINS $$DECORATIONPLUGINS $$GFXDRIVERPLUGINS $$IMAGEPLUGINS $$INPUTPLUGINS $$MOUSEDRIVERPLUGINS $$SQLPLUGINS $$PHONONPLUGINS
+ ALLQTPLUGINS = $$ACCESSIBLEPLUGINS $$BEARERPLUGINS $$CODECPLUGINS $$DECORATIONPLUGINS $$GFXDRIVERPLUGINS $$ GRAPHICSSYSTEMPLUGINS $$IMAGEPLUGINS $$INPUTPLUGINS $$KBDDRIVERPLUGINS $$MOUSEDRIVERPLUGINS $$SQLPLUGINS $$PHONONPLUGINS
QT_PLUGINPATH =
contains(ALLQTPLUGINS, $$QTPLUG) {
# Determine the plugin path
contains(ACCESSIBLEPLUGINS, $$QTPLUG): QT_PLUGINPATH = accessible
+ contains(BEARERPLUGINS, $$QTPLUG): QT_PLUGINPATH = bearer
contains(CODECPLUGINS, $$QTPLUG): QT_PLUGINPATH = codecs
contains(DECORATIONPLUGINS, $$QTPLUG): QT_PLUGINPATH = decorations
contains(GFXDRIVERPLUGINS, $$QTPLUG): QT_PLUGINPATH = gfxdrivers
+ contains(GRAPHICSSYSTEMPLUGINS, $$QTPLUG): QT_PLUGINPATH = graphicssystems
contains(IMAGEPLUGINS, $$QTPLUG): QT_PLUGINPATH = imageformats
contains(INPUTPLUGINS, $$QTPLUG): QT_PLUGINPATH = inputmethods
+ contains(KBDDRIVERPLUGINS, $$QTPLUG): QT_PLUGINPATH = kbddrivers
contains(MOUSEDRIVERPLUGINS, $$QTPLUG): QT_PLUGINPATH = mousedrivers
contains(SQLPLUGINS, $$QTPLUG): QT_PLUGINPATH = sqldrivers
- contains(PHONONPLUGINS, $$QTPLUG): QT_PLUGINPATH = phonon_backend
+ contains(PHONONPLUGINS, $$QTPLUG): QT_PLUGINPATH = phonon_backend
}
# Generate the plugin linker line
diff --git a/mkspecs/features/qt_functions.prf b/mkspecs/features/qt_functions.prf
index 5baf7ce..9271de5 100644
--- a/mkspecs/features/qt_functions.prf
+++ b/mkspecs/features/qt_functions.prf
@@ -48,9 +48,7 @@ defineTest(qtAddLibrary) {
symbian {
isEqual(LIB_NAME, QtCore) {
#workaround for dependency from f32file.h on e32svr.h which has moved location in symbian3
- contains(SYMBIAN_VERSION, Symbian3) {
- INCLUDEPATH *= $$OS_LAYER_SYSTEMINCLUDE
- }
+ INCLUDEPATH *= $$OS_LAYER_SYSTEMINCLUDE
} else:isEqual(LIB_NAME, QtGui) {
# Needed for #include <QtGui> because qs60mainapplication.h includes aknapp.h
INCLUDEPATH *= $$MW_LAYER_SYSTEMINCLUDE
diff --git a/mkspecs/features/qttest_p4.prf b/mkspecs/features/qttest_p4.prf
index ede9657..55df04a 100644
--- a/mkspecs/features/qttest_p4.prf
+++ b/mkspecs/features/qttest_p4.prf
@@ -11,6 +11,7 @@ symbian:{
# DEFINES += QTEST_NO_SPECIALIZATIONS
TARGET.CAPABILITY="None"
RSS_RULES ="group_name=\"QtTests\";"
+ MMP_RULES*=SMPSAFE
}
# prefix test binary with tst_
diff --git a/mkspecs/features/symbian/application_icon.prf b/mkspecs/features/symbian/application_icon.prf
index f058399..dc23428 100644
--- a/mkspecs/features/symbian/application_icon.prf
+++ b/mkspecs/features/symbian/application_icon.prf
@@ -45,9 +45,7 @@ contains(CONFIG, no_icon) {
# Note: symbian-sbsv2 builds can't utilize extra compiler for mifconv, so ICON handling is done in code
!symbian-sbsv2 {
# Absolute path required for shadow builds.
- # However, in older Symbian environments abld toolchain can't handle even moderately long
- # paths, so don't force absolute there.
- !symbian-abld:!contains(ICON, "^(/|\\\\|.:).*"):ICON = $$_PRO_FILE_PWD_/$$ICON
+ !contains(ICON, "^(/|\\\\|.:).*"):ICON = $$_PRO_FILE_PWD_/$$ICON
#Makefile: requires paths with backslash
ICON_backslashed = $$ICON
diff --git a/mkspecs/features/symbian/def_files.prf b/mkspecs/features/symbian/def_files.prf
index 746de6a..a78c74e 100644
--- a/mkspecs/features/symbian/def_files.prf
+++ b/mkspecs/features/symbian/def_files.prf
@@ -30,28 +30,32 @@ symbian-abld|symbian-sbsv2 {
# statements - they use the qmake generated statements instead
# Static libraries obviously don't have DEF files, as they don't take part in dynamic linkage
!contains(TEMPLATE, app):!contains(CONFIG, plugin):!contains(CONFIG, staticlib): {
+ # Symbian DEFFILE statements do not like drive letters, so remove it from the pro path.
+ FIXED_PRO_PATH = $$replace(_PRO_FILE_PWD_, "^.:", "")/
!isEmpty(DEF_FILE) {
+ contains(DEF_FILE,"^/.*"): FIXED_PRO_PATH =
defBlock = \
"$${LITERAL_HASH}ifdef WINSCW" \
- "DEFFILE $$DEF_FILE/bwins/$${clean_TARGET}.def" \
+ "DEFFILE $$FIXED_PRO_PATH$$DEF_FILE/bwins/$${clean_TARGET}.def" \
"$${LITERAL_HASH}elif defined EABI" \
- "DEFFILE $$DEF_FILE/eabi/$${clean_TARGET}.def" \
+ "DEFFILE $$FIXED_PRO_PATH$$DEF_FILE/eabi/$${clean_TARGET}.def" \
"$${LITERAL_HASH}endif"
} else:!isEmpty(defFilePath) {
+ contains(defFilePath,"^/.*"): FIXED_PRO_PATH =
defBlock = \
"$${LITERAL_HASH}ifdef WINSCW" \
- "DEFFILE $$defFilePath/bwins/$${clean_TARGET}.def" \
+ "DEFFILE $$FIXED_PRO_PATH$$defFilePath/bwins/$${clean_TARGET}.def" \
"$${LITERAL_HASH}elif defined EABI" \
- "DEFFILE $$defFilePath/eabi/$${clean_TARGET}.def" \
+ "DEFFILE $$FIXED_PRO_PATH$$defFilePath/eabi/$${clean_TARGET}.def" \
"$${LITERAL_HASH}endif"
} else {
# If defFilePath is not defined, then put the folders containing the DEF files at the
# same level as the .pro (and generated MMP) file(s)
defBlock = \
"$${LITERAL_HASH}ifdef WINSCW" \
- "DEFFILE ./bwins/$${clean_TARGET}.def" \
+ "DEFFILE $${FIXED_PRO_PATH}bwins/$${clean_TARGET}.def" \
"$${LITERAL_HASH}elif defined EABI" \
- "DEFFILE ./eabi/$${clean_TARGET}.def" \
+ "DEFFILE $${FIXED_PRO_PATH}eabi/$${clean_TARGET}.def" \
"$${LITERAL_HASH}endif"
}
MMP_RULES += defBlock
diff --git a/mkspecs/symbian-sbsv2/flm/qt/qmake_extra_pre_targetdep.flm b/mkspecs/symbian-sbsv2/flm/qt/qmake_extra_pre_targetdep.flm
index dce7f20..26afff6 100644
--- a/mkspecs/symbian-sbsv2/flm/qt/qmake_extra_pre_targetdep.flm
+++ b/mkspecs/symbian-sbsv2/flm/qt/qmake_extra_pre_targetdep.flm
@@ -31,6 +31,7 @@ endef
ifeq ($($(SINGLETON)),)
$(eval $(qmake_extra_pre_targetdep))
$(eval $(call GenerateStandardCleanTarget,$(PREDEP_TARGET),''))
+$(eval $(call whatmacro,$(PREDEP_TARGET)))
endif
diff --git a/mkspecs/unsupported/integrity-ghs/qplatformdefs.h b/mkspecs/unsupported/integrity-ghs/qplatformdefs.h
index 919d2cf..589b3bf 100644
--- a/mkspecs/unsupported/integrity-ghs/qplatformdefs.h
+++ b/mkspecs/unsupported/integrity-ghs/qplatformdefs.h
@@ -89,6 +89,7 @@
#define QT_TRUNCATE ::truncate
#define QT_FTRUNCATE ::ftruncate
#define QT_LSEEK ::lseek
+#define QT_OPEN_LARGEFILE 0
#endif
#ifdef QT_LARGEFILE_SUPPORT