diff -r 41300fa6a67c -r 3b1da2848fc7 mkspecs/features/symbian/platform_paths.prf --- a/mkspecs/features/symbian/platform_paths.prf Tue Feb 02 00:43:10 2010 +0200 +++ b/mkspecs/features/symbian/platform_paths.prf Fri Feb 19 23:40:16 2010 +0200 @@ -58,8 +58,6 @@ } else { # No platform specific paths provided, use default paths - - exists($${EPOCROOT}epoc32/include/platform) { # New SF structure # --------------------------------------- # Location, where the applications layer specific public headers are exported @@ -216,8 +214,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) @@ -258,227 +260,4 @@ # DEFINES *= $$STLLIB_USAGE_DEFINES STLLIB_USAGE_CW_FLAGS = "-wchar_t on" STLLIB_USAGE_DEFINES = _WCHAR_T_DECLARED - - } else { # Old pre-SF structure - - # --------------------------------------- - # Location, where the applications layer specific public headers are exported - # --------------------------------------- - - defineReplace(APP_LAYER_SDK_EXPORT_PATH) { - return (/epoc32/include/applications/$$1) - } - defineReplace(APP_LAYER_PUBLIC_EXPORT_PATH) { - return (/epoc32/include/applications/$$1) - } - - # --------------------------------------- - # Location, where the applications layer specific platform headers are exported - # --------------------------------------- - - defineReplace(APP_LAYER_DOMAIN_EXPORT_PATH) { - return (/epoc32/include/domain/applications/$$1) - } - defineReplace(APP_LAYER_PLATFORM_EXPORT_PATH) { - return (/epoc32/include/domain/applications/$$1) - } - - # --------------------------------------- - # Location, where the middleware layer specific public headers are exported - # --------------------------------------- - - defineReplace(MW_LAYER_SDK_EXPORT_PATH) { - return (/epoc32/include/middleware/$$1) - } - defineReplace(MW_LAYER_PUBLIC_EXPORT_PATH) { - return (/epoc32/include/middleware/$$1) - } - - # --------------------------------------- - # Location, where the middleware layer specific platform headers are exported - # --------------------------------------- - - defineReplace(MW_LAYER_DOMAIN_EXPORT_PATH) { - return (/epoc32/include/domain/middleware/$$1) - } - defineReplace(MW_LAYER_PLATFORM_EXPORT_PATH) { - return (/epoc32/include/domain/middleware/$$1) - } - - # --------------------------------------- - # Location, where the os layer specific public headers are exported - # --------------------------------------- - - defineReplace(OSEXT_LAYER_SDK_EXPORT_PATH) { - return (/epoc32/include/osextensions/$$1) - } - # WARNING: If the following path changes see the exists() function around line 430 - defineReplace(OS_LAYER_PUBLIC_EXPORT_PATH) { - return (/epoc32/include/osextensions/$$1) - } - - # --------------------------------------- - # Location, where the os specific platform headers are exported - # --------------------------------------- - - defineReplace(OSEXT_LAYER_DOMAIN_EXPORT_PATH) { - return (/epoc32/include/domain/osextensions/$$1) - } - defineReplace(OS_LAYER_PLATFORM_EXPORT_PATH) { - return (/epoc32/include/domain/osextensions/$$1) - } - - # --------------------------------------- - # General comments about the 3 define statements related to include paths: - # 1) the /epoc32/include/oem is now defined there for backward compability. - # Once the directory is empty, the directory will be removed. However this - # enables us to ensure that if you use these define statements => you do - # not have to remove the statements later on, when the directory no longer - # exists. - # 2) These statements should be enough in normal cases. For certain specific - # cases you might need to add some specific directory from /epoc32/include - # (for instance /epoc32/include/ecom). - # In normal cases the include staments in code should be relative to one of - # the system include paths, but in certain cases, the included files requires - # that the subdirectory is also part of the system include paths. - # --------------------------------------- - - # This variable defines the include paths, which are intended to be - # used in the pro-files that are part of the applications-layer. It includes all - # the needed directories from the /epoc32/include, that are valid ones for the - # application-layer components. - # - # Applications layer is the last one in the list, since most likely the most of - # the headers come from middleware or os-layer => thus they are first. - - APP_LAYER_SYSTEMINCLUDE = \ - /epoc32/include \ - /epoc32/include/oem \ - /epoc32/include/middleware \ - /epoc32/include/domain/middleware \ - /epoc32/include/osextensions \ - /epoc32/include/domain/osextensions \ - /epoc32/include/applications \ - /epoc32/include/domain/applications \ - /epoc32/include/domain/osextensions/loc \ - /epoc32/include/domain/middleware/loc \ - /epoc32/include/domain/applications/loc \ - /epoc32/include/domain/osextensions/loc/sc \ - /epoc32/include/domain/middleware/loc/sc \ - /epoc32/include/domain/applications/loc/sc - - # This define statements defines the include paths, which are intended to be - # used in the pro-files that are part of the middleware-layer. It includes all - # the needed directories from the /epoc32/include, that are valid ones for the - # middleware-layer components. - - MW_LAYER_SYSTEMINCLUDE = \ - /epoc32/include \ - /epoc32/include/oem \ - /epoc32/include/middleware \ - /epoc32/include/domain/middleware \ - /epoc32/include/osextensions \ - /epoc32/include/domain/osextensions \ - /epoc32/include/domain/osextensions/loc \ - /epoc32/include/domain/middleware/loc \ - /epoc32/include/domain/osextensions/loc/sc \ - /epoc32/include/domain/middleware/loc/sc - - # This define statements defines the include paths, which are intended to be - # used in the pro-files that are part of the osextensions-layer. It includes all - # the needed directories from the /epoc32/include, that are valid ones for the - # os-layer components. - - OS_LAYER_SYSTEMINCLUDE = \ - /epoc32/include \ - /epoc32/include/oem \ - /epoc32/include/osextensions \ - /epoc32/include/domain/osextensions \ - /epoc32/include/domain/osextensions/loc \ - /epoc32/include/domain/osextensions/loc/sc - - # This define statements defines the include paths, which are intended to be - # used in the pro-files that are part of the os-layer. This is intended - # to be only used by those components which need to use in their mmp-file either - # kern_ext.mmh or nkern_ext.mmh. Reason is that those - # 2 files already contain the /epoc32/include as system include path. - - OS_LAYER_KERNEL_SYSTEMINCLUDE = \ - /epoc32/include/oem \ - /epoc32/include/osextensions \ - /epoc32/include/domain/osextensions - - - # --------------------------------------- - # Definitions that also define the systeminclude paths for various - # part of stdapis. Append to INCLUDEPATH in pro-file. - # --------------------------------------- - - OS_LAYER_LIBC_SYSTEMINCLUDE = $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis) \ - $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/sys) \ - /epoc32/include/stdapis \ - /epoc32/include/stdapis/sys - - OS_LAYER_GLIB_SYSTEMINCLUDE = $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/glib-2.0) \ - $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/glib-2.0/glib) \ - $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/glib-2.0/gObject) \ - /epoc32/include/stdapis/glib-2.0 \ - /epoc32/include/stdapis/glib-2.0/glib \ - /epoc32/include/stdapis/glib-2.0/gObject - - OS_LAYER_SSL_SYSTEMINCLUDE = $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/openssl) \ - /epoc32/include/stdapis/openssl - - # :QTP: detection of stlport not possible in clean build - OS_LAYER_STDCPP_SYSTEMINCLUDE = $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/stlportv5) \ - /epoc32/include/stdapis/stlportv5 - - OS_LAYER_BOOST_SYSTEMINCLUDE = $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/boost) \ - /epoc32/include/stdapis/boost - - OS_LAYER_DBUS_SYSTEMINCLUDE = $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/dbus-1.0) \ - $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/dbus-1.0/dbus) \ - /epoc32/include/stdapis/dbus-1.0 \ - /epoc32/include/stdapis/dbus-1.0/dbus - - 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 - - } -} - - - + }