diff options
author | Iain <qt-info@nokia.com> | 2010-01-22 17:18:06 (GMT) |
---|---|---|
committer | Iain <qt-info@nokia.com> | 2010-01-22 17:21:55 (GMT) |
commit | 6b79cbf5cadbaebef8be895a47ca314724afb1a1 (patch) | |
tree | 9040d8eec0dda130e5f81a185390d3ab1a5449dc /mkspecs/features/symbian | |
parent | 7b8b83d2ea788e73a4c0f7dee09ba3394787e6bb (diff) | |
download | Qt-6b79cbf5cadbaebef8be895a47ca314724afb1a1.zip Qt-6b79cbf5cadbaebef8be895a47ca314724afb1a1.tar.gz Qt-6b79cbf5cadbaebef8be895a47ca314724afb1a1.tar.bz2 |
Improve DEF file enable/disable mechanism on Symbian
Provide configure flag to enable/disable the use of DEF files on Symbian.
A useful side-effect was that it cleaned up how we control DEF files from
qbase.pri and in WebKit.
-nokia-developer still disables DEF files, as it triggers the autotest
exports, which are not frozen into the DEF files.
Disabling DEF files means that there is no BC with previously released
versions of Qt, so this should only be used for development purposes.
.pro files can specify custom locations for DEF files by setting
defFilePath.
Task-number: QTBUG-6556
Reviewed-by: Jason Barron
Diffstat (limited to 'mkspecs/features/symbian')
-rw-r--r-- | mkspecs/features/symbian/def_files.prf | 26 | ||||
-rw-r--r-- | mkspecs/features/symbian/def_files_disabled.prf | 7 |
2 files changed, 33 insertions, 0 deletions
diff --git a/mkspecs/features/symbian/def_files.prf b/mkspecs/features/symbian/def_files.prf new file mode 100644 index 0000000..c29d4ec --- /dev/null +++ b/mkspecs/features/symbian/def_files.prf @@ -0,0 +1,26 @@ +# With DEF files enabled, removed exported symbols are treated as errors +# and there is binary compatibility between successive builds. + +CONFIG -= def_files_disabled + +!isEmpty(defFilePath) { + defBlock = \ + "$${LITERAL_HASH}ifdef WINSCW" \ + "DEFFILE $$defFilePath/bwins/$${TARGET}.def" \ + "$${LITERAL_HASH}elif defined EABI" \ + "DEFFILE $$defFilePath/eabi/$${TARGET}.def" \ + "$${LITERAL_HASH}endif" + + MMP_RULES += defBlock +} 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/$${TARGET}.def" \ + "$${LITERAL_HASH}elif defined EABI" \ + "DEFFILE ./eabi/$${TARGET}.def" \ + "$${LITERAL_HASH}endif" + + MMP_RULES += defBlock +} diff --git a/mkspecs/features/symbian/def_files_disabled.prf b/mkspecs/features/symbian/def_files_disabled.prf new file mode 100644 index 0000000..d5c9505 --- /dev/null +++ b/mkspecs/features/symbian/def_files_disabled.prf @@ -0,0 +1,7 @@ +# With DEF files disabled, binary compatibility is broken every time you build + +CONFIG -= def_files + +# with EXPORTUNFROZEN enabled, new exports are included in the dll without +# needing to run abld/sbs freeze +MMP_RULES += EXPORTUNFROZEN |