src/qbase.pri
changeset 18 2f34d5167611
parent 3 41300fa6a67c
child 30 5dc02b23752f
--- a/src/qbase.pri	Tue Feb 02 00:43:10 2010 +0200
+++ b/src/qbase.pri	Fri Apr 16 15:50:13 2010 +0300
@@ -4,7 +4,7 @@
 isEmpty(QT_ARCH):!isEmpty(ARCH):QT_ARCH=$$ARCH #another compat that will rot for change #215700
 TEMPLATE	= lib
 isEmpty(QT_MAJOR_VERSION) {
-   VERSION=4.6.1
+   VERSION=4.6.3
 } else {
    VERSION=$${QT_MAJOR_VERSION}.$${QT_MINOR_VERSION}.$${QT_PATCH_VERSION}
 }
@@ -90,42 +90,33 @@
     !static: DEFINES+=QT_MAKEDLL
 }
 symbian {
-    CONFIG += headerexport
+    # load the environment specific feature definitions
+    exists($${EPOCROOT}epoc32/tools/qt/mkspecs/features/environment.prf) {
+        load($${EPOCROOT}epoc32/tools/qt/mkspecs/features/environment.prf)
+    }
+    
     shared {
         DEFINES+=QT_MAKEDLL
         TARGET.CAPABILITY = All -Tcb
 
-        defBlock = \
-        "$${LITERAL_HASH}ifdef WINSCW" \
-        "DEFFILE ../s60installs/bwins/$${TARGET}.def" \
-        "$${LITERAL_HASH}elif defined EABI" \
-        "DEFFILE ../s60installs/eabi/$${TARGET}.def" \
-        "$${LITERAL_HASH}endif"
-
-        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.
-            
-            # :QTP:Always use DEF files
-            # MMP_RULES += EXPORTUNFROZEN
-            MMP_RULES += defBlock
-        } 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
+        # When building without autotests, DEF files are used by default.
+        # This is to maintain binary compatibility with previous releases.
+        # To explicitly disable DEF files usage, eg. when lots of code churn is
+        # going on, and functions may be added and removed before shipping, 
+        # configure with -no-usedeffiles
+        # WARNING - disabling DEF files *will* break BC with previous released versions 
+        # of Qt, and the only compatibility will be between this build of Qt and anything 
+        # built in this exact environment.  *Never* use this when building a version 
+        # for release.
+        contains(CONFIG, def_files) {
+            defFilePath=../s60installs
         }
     }
     load(armcc_warnings)
+
+    # workaround for the fact that some of our required includes in Symbian^3
+    # now depend upon files in epoc32/include/platform
+    INCLUDEPATH += $$OS_LAYER_SYSTEMINCLUDE
 }
 win32-borland:INCLUDEPATH += kernel