mkspecs/features/symbian/platform_paths.prf
changeset 7 f7bc934e204c
parent 3 41300fa6a67c
--- a/mkspecs/features/symbian/platform_paths.prf	Tue Feb 02 00:43:10 2010 +0200
+++ b/mkspecs/features/symbian/platform_paths.prf	Wed Mar 31 11:06:36 2010 +0300
@@ -59,7 +59,7 @@
 
     # No platform specific paths provided, use default paths
 
-    exists($${EPOCROOT}epoc32/include/platform) { # New SF structure
+    exists($${EPOCROOT}epoc32/include/mw) { # New SF structure
     
         # ---------------------------------------
         # Location, where the applications layer specific public headers are exported
@@ -216,8 +216,12 @@
         OS_LAYER_SSL_SYSTEMINCLUDE = $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/openssl)
 
         # stlportv5 is preferred over stlport as it has the throwing version of operator new
-        # :QTP: detection of stlport not possible in clean build
-        OS_LAYER_STDCPP_SYSTEMINCLUDE = $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/stlportv5)
+        exists($${EPOCROOT}epoc32/include/stdapis/stlport) \
+        :!exists($${EPOCROOT}epoc32/include/stdapis/stlportv5) {
+            OS_LAYER_STDCPP_SYSTEMINCLUDE = $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/stlport)
+        } else {
+            OS_LAYER_STDCPP_SYSTEMINCLUDE = $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/stlportv5)
+        }
         
         OS_LAYER_BOOST_SYSTEMINCLUDE = $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/boost)
 
@@ -226,39 +230,6 @@
 
         OS_LAYER_LIBUTILITY_SYSTEMINCLUDE = $$OS_LAYER_PLATFORM_EXPORT_PATH(stdapis/utility)
 
-        # ---------------------------------------
-        # Definitions to export IBY files to different folders where they will be taken 
-        # to ROM image
-        # ---------------------------------------
-              
-        defineReplace(CORE_APP_LAYER_IBY_EXPORT_PATH) {
-            return(/epoc32/rom/include/core/app/$$1)
-        }
-        defineReplace(CORE_MW_LAYER_IBY_EXPORT_PATH) {
-            return(/epoc32/rom/include/core/mw/$$1)
-        }
-        defineReplace(CORE_OSEXT_LAYER_IBY_EXPORT_PATH) {
-            return(/epoc32/rom/include/core/os/$$1)
-        }
-        defineReplace(CORE_OS_LAYER_IBY_EXPORT_PATH) {
-            return(/epoc32/rom/include/core/os/$$1)
-        }
-        defineReplace(CORE_TOOLS_LAYER_IBY_EXPORT_PATH) {
-            return(/epoc32/rom/include/core/tools/$$1)
-        }
-        defineReplace(CORE_ADAPT_LAYER_IBY_EXPORT_PATH) {
-            return(/epoc32/rom/include/$$1)
-        }
-        defineReplace(CUSTOMER_VARIANT_APP_LAYER_IBY_EXPORT_PATH) {
-            return(/epoc32/rom/include/customervariant/app/$$1)
-        } 
-        
-        # You need to define the following in pro-file, if you are using the stllib:
-        # QMAKE_CXXFLAGS.CW *= $$STLLIB_USAGE_CW_FLAGS
-        # DEFINES *= $$STLLIB_USAGE_DEFINES
-        STLLIB_USAGE_CW_FLAGS = "-wchar_t on"
-        STLLIB_USAGE_DEFINES = _WCHAR_T_DECLARED
-
     } else { # Old pre-SF structure
 
         # ---------------------------------------
@@ -429,9 +400,17 @@
         OS_LAYER_SSL_SYSTEMINCLUDE = $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/openssl) \
                                      /epoc32/include/stdapis/openssl
 
-        # :QTP: detection of stlport not possible in clean build
+        # stlportv5 is preferred over stlport as it has the throwing version of operator new
         OS_LAYER_STDCPP_SYSTEMINCLUDE = $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/stlportv5) \
-                                            /epoc32/include/stdapis/stlportv5
+                                        /epoc32/include/stdapis/stlportv5
+        exists($${EPOCROOT}epoc32/include/osextensions/stdapis/stlport) \
+        |exists($${EPOCROOT}epoc32/include/stdapis/stlport) {
+            !exists($${EPOCROOT}epoc32/include/osextensions/stdapis/stlportv5) \
+            :!exists($${EPOCROOT}epoc32/include/stdapis/stlportv5) {
+                OS_LAYER_STDCPP_SYSTEMINCLUDE = $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/stlport) \
+                                                /epoc32/include/stdapis/stlport
+            }
+        }
         
         OS_LAYER_BOOST_SYSTEMINCLUDE = $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/boost) \
                                        /epoc32/include/stdapis/boost
@@ -444,40 +423,49 @@
         OS_LAYER_LIBUTILITY_SYSTEMINCLUDE = $$OS_LAYER_PLATFORM_EXPORT_PATH(stdapis/utility) \
                                             /epoc32/include/stdapis/utility
 
-        # ---------------------------------------
-        # Definitions to export IBY files to different folders where they will be taken 
-        # to ROM image
-        # ---------------------------------------
-              
-        defineReplace(CORE_APP_LAYER_IBY_EXPORT_PATH) {
-            return(/epoc32/rom/include/core/app/$$1)
-        }
-        defineReplace(CORE_MW_LAYER_IBY_EXPORT_PATH) {
-            return(/epoc32/rom/include/core/mw/$$1)
-        }
-        defineReplace(CORE_OSEXT_LAYER_IBY_EXPORT_PATH) {
-            return(/epoc32/rom/include/core/osext/$$1)
-        }
-        defineReplace(CORE_OS_LAYER_IBY_EXPORT_PATH) {
-            return(/epoc32/rom/include/core/osext/$$1)
-        }
-        defineReplace(CORE_ADAPT_LAYER_IBY_EXPORT_PATH) {
-            return(/epoc32/rom/include/$$1)
-        }
-        defineReplace(CORE_TOOLS_LAYER_IBY_EXPORT_PATH) {
-            return(/epoc32/rom/include/core/tools/$$1)
-        }
-        defineReplace(CUSTOMER_VARIANT_APP_LAYER_IBY_EXPORT_PATH) {
-            return(/epoc32/rom/include/customervariant/app/$$1)
-        } 
-        
-        # You need to define the following in pro-file, if you are using the stllib:
-        # QMAKE_CXXFLAGS.CW *= $$STLLIB_USAGE_CW_FLAGS
-        # DEFINES *= $$STLLIB_USAGE_DEFINES
-        STLLIB_USAGE_CW_FLAGS = "-wchar_t on"
-        STLLIB_USAGE_DEFINES = _WCHAR_T_DECLARED
-    
     } 
+
+    # Definitions common to both structures
+
+    # ---------------------------------------
+    # Definitions to export IBY files to different folders where they will be taken
+    # to ROM image
+    # ---------------------------------------
+
+    defineReplace(CORE_APP_LAYER_IBY_EXPORT_PATH) {
+        return(/epoc32/rom/include/core/app/$$1)
+    }
+    defineReplace(CORE_MW_LAYER_IBY_EXPORT_PATH) {
+        return(/epoc32/rom/include/core/mw/$$1)
+    }
+
+    defineReplace(LANGUAGE_APP_LAYER_IBY_EXPORT_PATH) {
+        return(/epoc32/rom/include/language/app/$$1)
+    }
+    defineReplace(LANGUAGE_MW_LAYER_IBY_EXPORT_PATH) {
+        return(/epoc32/rom/include/language/mw/$$1)
+    }
+
+    defineReplace(CUSTOMER_APP_LAYER_IBY_EXPORT_PATH) {
+        return(/epoc32/rom/include/customer/app/$$1)
+    }
+    defineReplace(CUSTOMER_MW_LAYER_IBY_EXPORT_PATH) {
+        return(/epoc32/rom/include/customer/mw/$$1)
+    }
+
+    defineReplace(CUSTOMER_VARIANT_APP_LAYER_IBY_EXPORT_PATH) {
+        return(/epoc32/rom/include/customervariant/app/$$1)
+    }
+    defineReplace(CUSTOMER_VARIANT_MW_LAYER_IBY_EXPORT_PATH) {
+        return(/epoc32/rom/include/customervariant/mw/$$1)
+    }
+
+    # You need to define the following in pro-file, if you are using the stllib:
+    # QMAKE_CXXFLAGS.CW *= $$STLLIB_USAGE_CW_FLAGS
+    # DEFINES *= $$STLLIB_USAGE_DEFINES
+    STLLIB_USAGE_CW_FLAGS = "-wchar_t on"
+    STLLIB_USAGE_DEFINES = _WCHAR_T_DECLARED
+
 }