diff options
Diffstat (limited to 'mkspecs/features/symbian/platform_paths.prf')
-rw-r--r-- | mkspecs/features/symbian/platform_paths.prf | 416 |
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 + + } +} + + + |