diff options
author | Shane Kearns <shane.kearns@sosco.com> | 2009-11-10 13:28:43 (GMT) |
---|---|---|
committer | Shane Kearns <shane.kearns@sosco.com> | 2009-11-11 12:41:05 (GMT) |
commit | 7b997d150c35ece3164d7e2b08701c962e6af1ed (patch) | |
tree | 7d8f1baab9860f41f082e2281529a3ea3436011e /src/qbase.pri | |
parent | 9113737e9011b3cc9d69196650fcc11a7253408e (diff) | |
download | Qt-7b997d150c35ece3164d7e2b08701c962e6af1ed.zip Qt-7b997d150c35ece3164d7e2b08701c962e6af1ed.tar.gz Qt-7b997d150c35ece3164d7e2b08701c962e6af1ed.tar.bz2 |
Switch on DEF files
DEF files containing the frozen DLL exports are in use for Symbian OS
builds, except developer builds (configured with -developer-build)
The reason for this exception is that developer builds export additional
private interfaces to allow autotests to inject or monitor the internal
data of a class.
These autotest exports are not part of the API or the binary interface,
so they are excluded from DEF files.
Task-number: QTBUG-4436
Reviewed-by: Jason Barron
Diffstat (limited to 'src/qbase.pri')
-rw-r--r-- | src/qbase.pri | 29 |
1 files changed, 19 insertions, 10 deletions
diff --git a/src/qbase.pri b/src/qbase.pri index 4639ca1..6428130 100644 --- a/src/qbase.pri +++ b/src/qbase.pri @@ -101,16 +101,25 @@ symbian { "DEFFILE ../s60installs/eabi/$${TARGET}.def" \ "$${LITERAL_HASH}endif" - #with defBlock enabled, removed exported symbols are treated as errors - #and there is binary compatibility between successive builds. - #with defBlock disabled, binary compatibility is broken every time you build - #MMP_RULES += defBlock - - #with EXPORTUNFROZEN enabled, new exports are included in the dll without - #needing to run abld freeze, however binary compatibility is only maintained - #for symbols that are frozen (and only if defBlock is also enabled) - #the downside of EXPORTUNFROZEN is that the linker gets run twice - MMP_RULES += EXPORTUNFROZEN + contains(QT_CONFIG, private_tests) { + #When building autotest configuration, there are extra exports from + #the Qt DLLs, which we don't want in the frozen DEF files. + MMP_RULES += EXPORTUNFROZEN + } else { + #When building without autotests, DEF files are used by default. + #This is to maintain binary compatibility with previous releases. + + #with defBlock enabled, removed exported symbols are treated as errors + #and there is binary compatibility between successive builds. + #with defBlock disabled, binary compatibility is broken every time you build + MMP_RULES += defBlock + + #with EXPORTUNFROZEN enabled, new exports are included in the dll without + #needing to run abld freeze, however binary compatibility is only maintained + #for symbols that are frozen (and only if defBlock is also enabled) + #the downside of EXPORTUNFROZEN is that the linker gets run twice + #MMP_RULES += EXPORTUNFROZEN + } } load(armcc_warnings) } |