diff options
Diffstat (limited to 'mkspecs')
-rw-r--r-- | mkspecs/common/symbian/symbian.conf | 7 | ||||
-rw-r--r-- | mkspecs/features/help.prf | 2 | ||||
-rw-r--r-- | mkspecs/features/link_pkgconfig.prf | 17 | ||||
-rw-r--r-- | mkspecs/features/qt.prf | 20 | ||||
-rw-r--r-- | mkspecs/features/qt_functions.prf | 4 | ||||
-rw-r--r-- | mkspecs/features/qttest_p4.prf | 1 | ||||
-rw-r--r-- | mkspecs/features/symbian/application_icon.prf | 4 | ||||
-rw-r--r-- | mkspecs/features/symbian/def_files.prf | 16 | ||||
-rw-r--r-- | mkspecs/symbian-sbsv2/flm/qt/qmake_extra_pre_targetdep.flm | 1 | ||||
-rw-r--r-- | mkspecs/unsupported/integrity-ghs/qplatformdefs.h | 1 |
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 |