summaryrefslogtreecommitdiffstats
path: root/mkspecs/features/symbian/platform_paths.prf
diff options
context:
space:
mode:
Diffstat (limited to 'mkspecs/features/symbian/platform_paths.prf')
-rw-r--r--mkspecs/features/symbian/platform_paths.prf416
1 files changed, 416 insertions, 0 deletions
diff --git a/mkspecs/features/symbian/platform_paths.prf b/mkspecs/features/symbian/platform_paths.prf
new file mode 100644
index 0000000..334f1e9
--- /dev/null
+++ b/mkspecs/features/symbian/platform_paths.prf
@@ -0,0 +1,416 @@
+#
+# ==============================================================================
+# Name : platform_paths.prf
+# Part of :
+# Interface : Platform Path Definitions API for Qt/S60
+# Description : Predefined include paths to be used in the pro-files for the
+# components in the layered model. There is one definition for
+# each layer. The pro-file should use the statement that is
+# intended for the same layer as where the pro-file resides.
+#
+# 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
+#
+#
+#
+#
+# ==============================================================================
+
+exists($${EPOCROOT}epoc32/include/platform_paths.prf) {
+
+ # Load platform specific paths
+ load($${EPOCROOT}epoc32/include/platform_paths.prf)
+
+} 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
+ # ---------------------------------------
+
+ 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)
+ }
+ 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_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)
+
+ OS_LAYER_STDCPP_SYSTEMINCLUDE = $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/stlport)
+
+ 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)
+
+
+ # 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
+
+ # ---------------------------------------
+ # 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)
+ }
+ 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_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)
+
+ OS_LAYER_STDCPP_SYSTEMINCLUDE = $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/stlport)
+
+ 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)
+
+
+ # 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
+
+ }
+}
+
+
+