src/s60installs/deviceconfiguration/platform_paths.prf
changeset 7 f7bc934e204c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/s60installs/deviceconfiguration/platform_paths.prf	Wed Mar 31 11:06:36 2010 +0300
@@ -0,0 +1,251 @@
+#
+# ==============================================================================
+#  Name        : platform_paths.prf
+#  Part of     : 
+#  Interface   : Platform Path Definitions API for Qt/S60
+#  Description : Symbian^3 and onwards specific platform paths 
+#
+# Usage examples:
+#
+#     Note: this file gets automatically added to all Qt/S60 projects
+#    
+#     Variable usages to add the system include paths
+#       
+#       The include paths has to be related to the layer in which your SW 
+#       resides. Thus as an example: a component residing in middleware
+#       layer should use the MW specific macro.
+#
+#         INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+#         INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
+#         INCLUDEPATH += $$OS_LAYER_SYSTEMINCLUDE
+#
+#       If there is a need to include public headers of some S60 component,
+#       various *_EXPORT_PATH macros can be utilized:
+#
+#         INCLUDEPATH += $$OS_LAYER_PUBLIC_EXPORT_PATH(somecomponent)
+#
+#     Variables related to using various parts of stdapis:
+#
+#       To use STLLIB you need to have this in your pro-file:
+#
+#         QMAKE_CXXFLAGS.CW *= $$STLLIB_USAGE_CW_FLAGS
+#         DEFINES *= $$STLLIB_USAGE_DEFINES
+#
+#       Depending on what module you are using from stdapis you need to have
+#       one or more of the following variables in your pro-file.
+#
+#         INCLUDEPATH += $$OS_LAYER_LIBC_SYSTEMINCLUDE
+#         INCLUDEPATH += $$OS_LAYER_GLIB_SYSTEMINCLUDE
+#         INCLUDEPATH += $$OS_LAYER_SSL_SYSTEMINCLUDE
+#         INCLUDEPATH += $$OS_LAYER_STDCPP_SYSTEMINCLUDE
+#         INCLUDEPATH += $$OS_LAYER_BOOST_SYSTEMINCLUDE
+#         INCLUDEPATH += $$OS_LAYER_DBUS_SYSTEMINCLUDE
+#         INCLUDEPATH += $$OS_LAYER_LIBUTILITY_SYSTEMINCLUDE
+#
+#
+#       
+#
+# ==============================================================================
+
+# ---------------------------------------
+# Location, where the applications layer specific public headers are exported
+# ---------------------------------------
+
+defineReplace(APP_LAYER_SDK_EXPORT_PATH) {
+     return (/epoc32/include/app/$$1)
+}
+defineReplace(APP_LAYER_PUBLIC_EXPORT_PATH) {
+     return (/epoc32/include/app/$$1)
+}
+
+# ---------------------------------------
+# Location, where the applications layer specific platform headers are exported
+# ---------------------------------------
+
+defineReplace(APP_LAYER_DOMAIN_EXPORT_PATH) {
+     return (/epoc32/include/platform/app/$$1)
+}
+defineReplace(APP_LAYER_PLATFORM_EXPORT_PATH) {
+     return (/epoc32/include/platform/app/$$1)
+}
+
+# ---------------------------------------
+# Location, where the middleware layer specific public headers are exported
+# ---------------------------------------
+
+defineReplace(MW_LAYER_SDK_EXPORT_PATH) {
+     return (/epoc32/include/mw/$$1)
+}
+defineReplace(MW_LAYER_PUBLIC_EXPORT_PATH) {
+     return (/epoc32/include/mw/$$1)
+}
+
+# ---------------------------------------
+# Location, where the middleware layer specific platform headers are exported
+# ---------------------------------------
+
+defineReplace(MW_LAYER_DOMAIN_EXPORT_PATH) {
+     return (/epoc32/include/platform/mw/$$1)
+}
+defineReplace(MW_LAYER_PLATFORM_EXPORT_PATH) {
+     return (/epoc32/include/platform/mw/$$1)
+}
+
+# ---------------------------------------
+# Location, where the os layer specific public headers are exported
+# ---------------------------------------
+
+defineReplace(OSEXT_LAYER_SDK_EXPORT_PATH) {
+     return (/epoc32/include/$$1)
+}
+# WARNING: If the following path changes see the exists() function around line 219
+defineReplace(OS_LAYER_PUBLIC_EXPORT_PATH) {
+     return (/epoc32/include/$$1)
+}
+
+# ---------------------------------------
+# Location, where the os specific platform headers are exported
+# ---------------------------------------
+
+defineReplace(OSEXT_LAYER_DOMAIN_EXPORT_PATH) {
+     return (/epoc32/include/platform/$$1)
+}
+defineReplace(OS_LAYER_PLATFORM_EXPORT_PATH) {
+     return (/epoc32/include/platform/$$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/mw \
+ /epoc32/include/platform/mw \
+ /epoc32/include/platform \
+ /epoc32/include/app \
+ /epoc32/include/platform/app \
+ /epoc32/include/platform/loc \
+ /epoc32/include/platform/mw/loc \
+ /epoc32/include/platform/app/loc \
+ /epoc32/include/platform/loc/sc \
+ /epoc32/include/platform/mw/loc/sc \
+ /epoc32/include/platform/app/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/mw \
+ /epoc32/include/platform/mw \
+ /epoc32/include/platform \
+ /epoc32/include/platform/loc \
+ /epoc32/include/platform/mw/loc \
+ /epoc32/include/platform/loc/sc \
+ /epoc32/include/platform/mw/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/platform \
+ /epoc32/include/platform/loc \
+ /epoc32/include/platform/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/platform
+
+
+# ---------------------------------------
+# 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)
+
+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)
+
+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
+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)
+
+OS_LAYER_DBUS_SYSTEMINCLUDE = $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/dbus-1.0) \
+			      $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/dbus-1.0/dbus)
+
+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
+