src/s60installs/deviceconfiguration/platform_paths.prf
changeset 7 f7bc934e204c
equal deleted inserted replaced
3:41300fa6a67c 7:f7bc934e204c
       
     1 #
       
     2 # ==============================================================================
       
     3 #  Name        : platform_paths.prf
       
     4 #  Part of     : 
       
     5 #  Interface   : Platform Path Definitions API for Qt/S60
       
     6 #  Description : Symbian^3 and onwards specific platform paths 
       
     7 #
       
     8 # Usage examples:
       
     9 #
       
    10 #     Note: this file gets automatically added to all Qt/S60 projects
       
    11 #    
       
    12 #     Variable usages to add the system include paths
       
    13 #       
       
    14 #       The include paths has to be related to the layer in which your SW 
       
    15 #       resides. Thus as an example: a component residing in middleware
       
    16 #       layer should use the MW specific macro.
       
    17 #
       
    18 #         INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
       
    19 #         INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
       
    20 #         INCLUDEPATH += $$OS_LAYER_SYSTEMINCLUDE
       
    21 #
       
    22 #       If there is a need to include public headers of some S60 component,
       
    23 #       various *_EXPORT_PATH macros can be utilized:
       
    24 #
       
    25 #         INCLUDEPATH += $$OS_LAYER_PUBLIC_EXPORT_PATH(somecomponent)
       
    26 #
       
    27 #     Variables related to using various parts of stdapis:
       
    28 #
       
    29 #       To use STLLIB you need to have this in your pro-file:
       
    30 #
       
    31 #         QMAKE_CXXFLAGS.CW *= $$STLLIB_USAGE_CW_FLAGS
       
    32 #         DEFINES *= $$STLLIB_USAGE_DEFINES
       
    33 #
       
    34 #       Depending on what module you are using from stdapis you need to have
       
    35 #       one or more of the following variables in your pro-file.
       
    36 #
       
    37 #         INCLUDEPATH += $$OS_LAYER_LIBC_SYSTEMINCLUDE
       
    38 #         INCLUDEPATH += $$OS_LAYER_GLIB_SYSTEMINCLUDE
       
    39 #         INCLUDEPATH += $$OS_LAYER_SSL_SYSTEMINCLUDE
       
    40 #         INCLUDEPATH += $$OS_LAYER_STDCPP_SYSTEMINCLUDE
       
    41 #         INCLUDEPATH += $$OS_LAYER_BOOST_SYSTEMINCLUDE
       
    42 #         INCLUDEPATH += $$OS_LAYER_DBUS_SYSTEMINCLUDE
       
    43 #         INCLUDEPATH += $$OS_LAYER_LIBUTILITY_SYSTEMINCLUDE
       
    44 #
       
    45 #
       
    46 #       
       
    47 #
       
    48 # ==============================================================================
       
    49 
       
    50 # ---------------------------------------
       
    51 # Location, where the applications layer specific public headers are exported
       
    52 # ---------------------------------------
       
    53 
       
    54 defineReplace(APP_LAYER_SDK_EXPORT_PATH) {
       
    55      return (/epoc32/include/app/$$1)
       
    56 }
       
    57 defineReplace(APP_LAYER_PUBLIC_EXPORT_PATH) {
       
    58      return (/epoc32/include/app/$$1)
       
    59 }
       
    60 
       
    61 # ---------------------------------------
       
    62 # Location, where the applications layer specific platform headers are exported
       
    63 # ---------------------------------------
       
    64 
       
    65 defineReplace(APP_LAYER_DOMAIN_EXPORT_PATH) {
       
    66      return (/epoc32/include/platform/app/$$1)
       
    67 }
       
    68 defineReplace(APP_LAYER_PLATFORM_EXPORT_PATH) {
       
    69      return (/epoc32/include/platform/app/$$1)
       
    70 }
       
    71 
       
    72 # ---------------------------------------
       
    73 # Location, where the middleware layer specific public headers are exported
       
    74 # ---------------------------------------
       
    75 
       
    76 defineReplace(MW_LAYER_SDK_EXPORT_PATH) {
       
    77      return (/epoc32/include/mw/$$1)
       
    78 }
       
    79 defineReplace(MW_LAYER_PUBLIC_EXPORT_PATH) {
       
    80      return (/epoc32/include/mw/$$1)
       
    81 }
       
    82 
       
    83 # ---------------------------------------
       
    84 # Location, where the middleware layer specific platform headers are exported
       
    85 # ---------------------------------------
       
    86 
       
    87 defineReplace(MW_LAYER_DOMAIN_EXPORT_PATH) {
       
    88      return (/epoc32/include/platform/mw/$$1)
       
    89 }
       
    90 defineReplace(MW_LAYER_PLATFORM_EXPORT_PATH) {
       
    91      return (/epoc32/include/platform/mw/$$1)
       
    92 }
       
    93 
       
    94 # ---------------------------------------
       
    95 # Location, where the os layer specific public headers are exported
       
    96 # ---------------------------------------
       
    97 
       
    98 defineReplace(OSEXT_LAYER_SDK_EXPORT_PATH) {
       
    99      return (/epoc32/include/$$1)
       
   100 }
       
   101 # WARNING: If the following path changes see the exists() function around line 219
       
   102 defineReplace(OS_LAYER_PUBLIC_EXPORT_PATH) {
       
   103      return (/epoc32/include/$$1)
       
   104 }
       
   105 
       
   106 # ---------------------------------------
       
   107 # Location, where the os specific platform headers are exported
       
   108 # ---------------------------------------
       
   109 
       
   110 defineReplace(OSEXT_LAYER_DOMAIN_EXPORT_PATH) {
       
   111      return (/epoc32/include/platform/$$1)
       
   112 }
       
   113 defineReplace(OS_LAYER_PLATFORM_EXPORT_PATH) {
       
   114      return (/epoc32/include/platform/$$1)
       
   115 }
       
   116 
       
   117 # ---------------------------------------
       
   118 #  General comments about the 3 define statements related to include paths:
       
   119 #  1) the /epoc32/include/oem is now defined there for backward compability.
       
   120 #     Once the directory is empty, the directory will be removed. However this 
       
   121 #     enables us to ensure that if you use these define statements => you do 
       
   122 #     not have to remove the statements later on, when the directory no longer 
       
   123 #     exists.
       
   124 #  2) These statements should be enough in normal cases. For certain specific 
       
   125 #     cases you might need to add some specific directory from /epoc32/include
       
   126 #     (for instance /epoc32/include/ecom).
       
   127 #     In normal cases the include staments in code should be relative to one of 
       
   128 #     the system include paths, but in certain cases, the included files requires
       
   129 #     that the subdirectory is also part of the system include paths.
       
   130 # ---------------------------------------
       
   131 
       
   132 # This variable defines the include paths, which are intended to be 
       
   133 # used in the pro-files that are part of the applications-layer. It includes all 
       
   134 # the needed directories from the /epoc32/include, that are valid ones for the 
       
   135 # application-layer components. 
       
   136 #
       
   137 # Applications layer is the last one in the list, since most likely the most of 
       
   138 # the headers come from middleware or os-layer  => thus they are first.
       
   139 
       
   140 APP_LAYER_SYSTEMINCLUDE = \
       
   141  /epoc32/include \
       
   142  /epoc32/include/mw \
       
   143  /epoc32/include/platform/mw \
       
   144  /epoc32/include/platform \
       
   145  /epoc32/include/app \
       
   146  /epoc32/include/platform/app \
       
   147  /epoc32/include/platform/loc \
       
   148  /epoc32/include/platform/mw/loc \
       
   149  /epoc32/include/platform/app/loc \
       
   150  /epoc32/include/platform/loc/sc \
       
   151  /epoc32/include/platform/mw/loc/sc \
       
   152  /epoc32/include/platform/app/loc/sc
       
   153 
       
   154 # This define statements defines the include paths, which are intended to be
       
   155 # used in the pro-files that are part of the middleware-layer. It includes all 
       
   156 # the needed directories from the /epoc32/include, that are valid ones for the 
       
   157 # middleware-layer components. 
       
   158 
       
   159 MW_LAYER_SYSTEMINCLUDE = \
       
   160  /epoc32/include \
       
   161  /epoc32/include/mw \
       
   162  /epoc32/include/platform/mw \
       
   163  /epoc32/include/platform \
       
   164  /epoc32/include/platform/loc \
       
   165  /epoc32/include/platform/mw/loc \
       
   166  /epoc32/include/platform/loc/sc \
       
   167  /epoc32/include/platform/mw/loc/sc
       
   168 
       
   169 # This define statements defines the include paths, which are intended to be
       
   170 # used in the pro-files that are part of the  osextensions-layer. It includes all
       
   171 # the needed directories from the /epoc32/include, that are valid ones for the
       
   172 # os-layer components. 
       
   173 
       
   174 OS_LAYER_SYSTEMINCLUDE = \
       
   175  /epoc32/include \
       
   176  /epoc32/include/platform \
       
   177  /epoc32/include/platform/loc \
       
   178  /epoc32/include/platform/loc/sc
       
   179 
       
   180 # This define statements defines the include paths, which are intended to be
       
   181 # used in the pro-files that are part of the os-layer. This is intended 
       
   182 # to be only used by those components which need to use in their mmp-file either
       
   183 # kern_ext.mmh or nkern_ext.mmh. Reason is that those
       
   184 # 2 files already contain the /epoc32/include  as system include path.
       
   185 
       
   186 OS_LAYER_KERNEL_SYSTEMINCLUDE = \
       
   187  /epoc32/include/platform
       
   188 
       
   189 
       
   190 # ---------------------------------------
       
   191 # Definitions that also define the systeminclude paths for various
       
   192 # part of stdapis. Append to INCLUDEPATH in pro-file.
       
   193 # ---------------------------------------
       
   194 
       
   195 OS_LAYER_LIBC_SYSTEMINCLUDE = $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis) \
       
   196 			      $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/sys)
       
   197 
       
   198 OS_LAYER_GLIB_SYSTEMINCLUDE = $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/glib-2.0) \
       
   199 			      $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/glib-2.0/glib) \
       
   200 			      $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/glib-2.0/gObject)
       
   201 
       
   202 OS_LAYER_SSL_SYSTEMINCLUDE = $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/openssl)
       
   203 
       
   204 # stlportv5 is preferred over stlport as it has the throwing version of operator new
       
   205 exists($${EPOCROOT}epoc32/include/stdapis/stlport) \
       
   206 :!exists($${EPOCROOT}epoc32/include/stdapis/stlportv5) {
       
   207     OS_LAYER_STDCPP_SYSTEMINCLUDE = $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/stlport)
       
   208 } else {
       
   209     OS_LAYER_STDCPP_SYSTEMINCLUDE = $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/stlportv5)
       
   210 }
       
   211 
       
   212 OS_LAYER_BOOST_SYSTEMINCLUDE = $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/boost)
       
   213 
       
   214 OS_LAYER_DBUS_SYSTEMINCLUDE = $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/dbus-1.0) \
       
   215 			      $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/dbus-1.0/dbus)
       
   216 
       
   217 OS_LAYER_LIBUTILITY_SYSTEMINCLUDE = $$OS_LAYER_PLATFORM_EXPORT_PATH(stdapis/utility)
       
   218 
       
   219 # ---------------------------------------
       
   220 # Definitions to export IBY files to different folders where they will be taken 
       
   221 # to ROM image
       
   222 # ---------------------------------------
       
   223       
       
   224 defineReplace(CORE_APP_LAYER_IBY_EXPORT_PATH) {
       
   225     return(/epoc32/rom/include/core/app/$$1)
       
   226 }
       
   227 defineReplace(CORE_MW_LAYER_IBY_EXPORT_PATH) {
       
   228     return(/epoc32/rom/include/core/mw/$$1)
       
   229 }
       
   230 defineReplace(CORE_OSEXT_LAYER_IBY_EXPORT_PATH) {
       
   231     return(/epoc32/rom/include/core/os/$$1)
       
   232 }
       
   233 defineReplace(CORE_OS_LAYER_IBY_EXPORT_PATH) {
       
   234     return(/epoc32/rom/include/core/os/$$1)
       
   235 }
       
   236 defineReplace(CORE_TOOLS_LAYER_IBY_EXPORT_PATH) {
       
   237     return(/epoc32/rom/include/core/tools/$$1)
       
   238 }
       
   239 defineReplace(CORE_ADAPT_LAYER_IBY_EXPORT_PATH) {
       
   240     return(/epoc32/rom/include/$$1)
       
   241 }
       
   242 defineReplace(CUSTOMER_VARIANT_APP_LAYER_IBY_EXPORT_PATH) {
       
   243     return(/epoc32/rom/include/customervariant/app/$$1)
       
   244 } 
       
   245 
       
   246 # You need to define the following in pro-file, if you are using the stllib:
       
   247 # QMAKE_CXXFLAGS.CW *= $$STLLIB_USAGE_CW_FLAGS
       
   248 # DEFINES *= $$STLLIB_USAGE_DEFINES
       
   249 STLLIB_USAGE_CW_FLAGS = "-wchar_t on"
       
   250 STLLIB_USAGE_DEFINES = _WCHAR_T_DECLARED
       
   251