summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorShane Kearns <shane.kearns@sosco.com>2009-11-10 13:28:43 (GMT)
committerDavid Boddie <dboddie@trolltech.com>2009-11-11 18:08:01 (GMT)
commit1d6c90355eaa8bda1dcd333790b990cc6dcc7bbc (patch)
tree7c49b3c25f580a0bf371ddf941f6581773f043c8 /src
parent156fc48501fe14b54e763fc27ab34379d8d4f220 (diff)
downloadQt-1d6c90355eaa8bda1dcd333790b990cc6dcc7bbc.zip
Qt-1d6c90355eaa8bda1dcd333790b990cc6dcc7bbc.tar.gz
Qt-1d6c90355eaa8bda1dcd333790b990cc6dcc7bbc.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')
-rw-r--r--src/qbase.pri29
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)
}