epoc32/include/platform_paths.hrh
branchSymbian2
changeset 2 2fe1408b6811
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/epoc32/include/platform_paths.hrh	Tue Mar 16 16:12:26 2010 +0000
     1.3 @@ -0,0 +1,585 @@
     1.4 +/*
     1.5 +* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies). 
     1.6 +* All rights reserved.
     1.7 +* This component and the accompanying materials are made available
     1.8 +* under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
     1.9 +* which accompanies this distribution, and is available
    1.10 +* at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
    1.11 +*
    1.12 +* Initial Contributors:
    1.13 +* Nokia Corporation - initial contribution.
    1.14 +*
    1.15 +* Contributors:
    1.16 +*
    1.17 +* Description:  Predefined include paths to be used in the mmp-files for the 
    1.18 +*                components in the layered model. There is one definition for
    1.19 +*                each layer. The mmp-file should use the statement that is 
    1.20 +*                intended for the same layer as where the mmp-file resides.
    1.21 +*
    1.22 +*                There is also macros to be used in the bld.inf-files to 
    1.23 +*                export of Public  and Platform headers into 
    1.24 +*                correct locations. 
    1.25 +*
    1.26 +* Usage examples:
    1.27 +*     ---------------------------------------------
    1.28 +*      How to include this file in bld.inf and mmp-files.
    1.29 +*       Reasoning: The build system is such that at the time the 
    1.30 +*                  bld.inf and mmp-files are "compiled" the available
    1.31 +*                  include paths are limited. Only the /epoc32/include
    1.32 +*                  can be guaranteed. Thus to get this file available
    1.33 +*                  you need to make include relative to the mentioned
    1.34 +*                  directory. 
    1.35 +*     ---------------------------------------------
    1.36 +*
    1.37 +*      #include <platform_paths.hrh>
    1.38 +*    
    1.39 +*     *************************************************************
    1.40 +*     * MMP file related macro usages to add the system include paths
    1.41 +*     * 
    1.42 +*     * The include paths has to be related to the layer in which your SW 
    1.43 +*     * resides. Thus as an example: a component residing in middleware
    1.44 +*     * layer should use the MW specific macro.
    1.45 +*     * Keep this as a separate line in the mmp-files. If you need to
    1.46 +*     * add your own SYSTEMINCLUDE paths, please defined them as
    1.47 +*     * separate statement.
    1.48 +*     *************************************************************
    1.49 +*         APP_LAYER_SYSTEMINCLUDE
    1.50 +*         MW_LAYER_SYSTEMINCLUDE
    1.51 +*         OS_LAYER_SYSTEMINCLUDE
    1.52 +**
    1.53 +*     *************************************************************
    1.54 +*     * Macros related to using various parts of stdapis
    1.55 +*     *************************************************************
    1.56 +*       To use STLLIB you need to have this in your mmp-file
    1.57 +*         STLLIB_USAGE_DEFINITIONS
    1.58 +*
    1.59 +*       Depending on what module you are using from stdapis you need to have
    1.60 +*       one or more of the following macros in your mmp-file (every one in 
    1.61 +*       separate line !)
    1.62 +*
    1.63 +*          OS_LAYER_LIBC_SYSTEMINCLUDE
    1.64 +*          OS_LAYER_GLIB_SYSTEMINCLUDE
    1.65 +*          OS_LAYER_SSL_SYSTEMINCLUDE
    1.66 +*          OS_LAYER_STDCPP_SYSTEMINCLUDE
    1.67 +*          OS_LAYER_BOOST_SYSTEMINCLUDE
    1.68 +*          OS_LAYER_DBUS_SYSTEMINCLUDE
    1.69 +*          OS_LAYER_LIBUTILITY_SYSTEMINCLUDE
    1.70 +*
    1.71 +*     *************************************************************
    1.72 +*     * Macros related to exporting Public and Platform APIs into 
    1.73 +*     * correct place in the new system. 
    1.74 +*     *
    1.75 +*     * The macro that you should use depends on 2 things:
    1.76 +*     *  - in which layer your package, which exports the APIs resides
    1.77 +*     *  - what is the visibility of the API (public or platform)
    1.78 +*     *************************************************************
    1.79 +*      // the exporting of public APIs should use one of below macros
    1.80 +*      // depending on which layer the API belogs to
    1.81 +*      APP_LAYER_PUBLIC_EXPORT_PATH
    1.82 +*      MW_LAYER_PUBLIC_EXPORT_PATH
    1.83 +*      OS_LAYER_PUBLIC_EXPORT_PATH
    1.84 +*
    1.85 +*      // the exporting of platform APIs should use one of below macros
    1.86 +*      // depending on which layer the API belogs to
    1.87 +*      APP_LAYER_PLATFORM_EXPORT_PATH
    1.88 +*      MW_LAYER_PLATFORM_EXPORT_PATH
    1.89 +*      OS_LAYER_PLATFORM_EXPORT_PATH
    1.90 +*
    1.91 +*      The hierarchy how APIs should reside in foundation has been specified
    1.92 +*      in developer documentation. See further details from documentation.
    1.93 +*      Below is example case relying on the structure
    1.94 +*        my_own_api/group/bld.inf
    1.95 +*        my_own_api/inc/header1.h
    1.96 +*        my_own_api/inc/subdir/header2.h
    1.97 +*  
    1.98 +*      Assuming that the API is in middleware layer and a public API. 
    1.99 +*      Then the bld.inf should have the following      
   1.100 +*        ../inc/header1.h  APP_LAYER_PUBLIC_EXPORT_PATH(header1.h)
   1.101 +*        ../inc/subdir/header2.h  APP_LAYER_PUBLIC_EXPORT_PATH(subdir/header2.h)
   1.102 +*  
   1.103 +*      In the above case the locations are as follow (with current MACRO settings):
   1.104 +*        header1.h in /epoc32/include/app
   1.105 +*        header2.h in /epoc32/include/app/subdir
   1.106 +*
   1.107 +*
   1.108 +*     *************************************************************
   1.109 +*     * Macros related to IBY file exporting
   1.110 +*     *************************************************************
   1.111 +*			
   1.112 +*	    Component bld.inf files need to include platform_paths.hrh, see
   1.113 +*           beginning of this file on how to do this correctly. Component bld.inf 
   1.114 +*           files need to use these macros in PRJ_EXPORTS to get their IBY files 
   1.115 +*           to ROM image.
   1.116 +*
   1.117 +*     ---------------------------------------------
   1.118 +*     Usage for Core image (ROM+ROFS1):
   1.119 +*     ---------------------------------------------
   1.120 +*	 // Layer specific specific macros. Use the macro, which is specified
   1.121 +*        // for the layer, in which your component resides
   1.122 +*        <somepath>/<file1.iby>  CORE_APP_LAYER_IBY_EXPORT_PATH(<file1.iby>)
   1.123 +*	 <somepath>/<file2.iby>  CORE_MW_LAYER_IBY_EXPORT_PATH(<file2.iby>)
   1.124 +*	 <somepath>/<file3.iby>  CORE_OS_LAYER_IBY_EXPORT_PATH(<file3.iby>)
   1.125 +*
   1.126 +*	 //stub iby files
   1.127 +*	 <somepath>/<file4.iby>  CORE_IBY_EXPORT_PATH(stubs,<file4.iby>)
   1.128 +*	 //tool iby files
   1.129 +*	 <somepath>/<file5.iby>  CORE_IBY_EXPORT_PATH(tools,<file5.iby>)
   1.130 +*		
   1.131 +*     ---------------------------------------------
   1.132 +*     Usage for Variant image, Language part (ROFS2):
   1.133 +*     ---------------------------------------------
   1.134 +*	 // Layer specific specific macros. Use the macro, which is specified
   1.135 +*        // for the layer, in which your component resides
   1.136 +*        <somepath>/<file1.iby>  LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(<file1.iby>)
   1.137 +*	 <somepath>/<file2.iby>  LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(<file2.iby>)
   1.138 +*	 <somepath>/<file3.iby>  LANGUAGE_OS_LAYER_IBY_EXPORT_PATH(<file3.iby>)			
   1.139 +*
   1.140 +*     ---------------------------------------------
   1.141 +*     Usage for Variant image, Language part  (ROFS2):
   1.142 +*     ---------------------------------------------
   1.143 +*	 // Layer specific specific macros. Use the macro, which is specified
   1.144 +*        // for the layer, in which your component resides
   1.145 +*        <somepath>/<file1.iby>  CUSTOMER_APP_LAYER_IBY_EXPORT_PATH(<file1.iby>)
   1.146 +*	 <somepath>/<file2.iby>  CUSTOMER_MW_LAYER_IBY_EXPORT_PATH(<file2.iby>)
   1.147 +*	 <somepath>/<file3.iby>  CUSTOMER_OS_LAYER_IBY_EXPORT_PATH(<file3.iby>)			
   1.148 +*
   1.149 +*     ---------------------------------------------
   1.150 +*     Usage for Customer Variant image, (ROFS3):
   1.151 +*     ---------------------------------------------
   1.152 +*	 // Layer specific specific macros. Use the macro, which is specified
   1.153 +*        // for the layer, in which your component resides
   1.154 +*        <somepath>/<f1.iby> CUSTOMER_VARIANT_APP_LAYER_IBY_EXPORT_PATH(<f1.iby>)
   1.155 +*	 <somepath>/<f2.iby> CUSTOMER_VARIANT_MW_LAYER_IBY_EXPORT_PATH(<f2.iby>)
   1.156 +*	 <somepath>/<f3.iby> CUSTOMER_VARIANT_OS_LAYER_IBY_EXPORT_PATH(<f3.iby>)			
   1.157 +*	
   1.158 +*
   1.159 +*     *************************************************************
   1.160 +*     * Macro related to Exporting localization .loc files into 
   1.161 +*     * correct place in the system. 
   1.162 +*     *************************************************************
   1.163 +*
   1.164 +*     ---------------------------------------------
   1.165 +*     Usage for components:
   1.166 +*     ---------------------------------------------
   1.167 +*	    Component bld.inf files need to include platform_paths.hrh, see
   1.168 +*           beginning of this file on how to do this correctly. Component bld.inf 
   1.169 +*           files need to use these macros in PRJ_EXPORTS to get their loc files 
   1.170 +*           for localization.
   1.171 +*     loc files that should be localized by localisation team should be in 
   1.172 +*     loc-folder in the source tree (see developer guidelines)
   1.173 +*
   1.174 +*	 // Layer specific specific macros. Use the macro, which is specified
   1.175 +*        // for the layer, in which your component resides
   1.176 +*	 <somepath>/loc/<file>.loc  APP_LAYER_LOC_EXPORT_PATH(<file>.loc)
   1.177 +*	 <somepath>/loc/<file>.loc  MW_LAYER_LOC_EXPORT_PATH(<file>.loc)
   1.178 +*	 <somepath>/loc/<file>.loc  OS_LAYER_LOC_EXPORT_PATH(<file>.loc)
   1.179 +*
   1.180 +* 
   1.181 +*
   1.182 +*
   1.183 +*/
   1.184 +
   1.185 +
   1.186 +#ifndef PLATFORM_PATHS_HRH
   1.187 +#define PLATFORM_PATHS_HRH
   1.188 +
   1.189 +/**
   1.190 +**************************************************************************
   1.191 +* General comments about the exporting of headers macros
   1.192 +*  1) The definitions point currently to the old locations. (which makes some 
   1.193 +*     macros to have same values. The idea is that you can already start using
   1.194 +*     them now and those will be later on changed => change affects everybody.
   1.195 +***************************************************************************
   1.196 +*/
   1.197 +
   1.198 +/**
   1.199 +* ---------------------------------------
   1.200 +* Location, where the applications layer specific public headers should be exported
   1.201 +* See usage on top of this hrh-file.
   1.202 +* ---------------------------------------
   1.203 +*/
   1.204 +
   1.205 +#if __GNUC__ >= 3
   1.206 +#define APP_LAYER_SDK_EXPORT_PATH(exported) do not use intentionally generates error
   1.207 +#define APP_LAYER_PUBLIC_EXPORT_PATH(exported) /epoc32/include/app/exported
   1.208 +#else
   1.209 +#define APP_LAYER_SDK_EXPORT_PATH(exported) do not use intentionally generates error
   1.210 +#define APP_LAYER_PUBLIC_EXPORT_PATH(exported) /epoc32/include/app/##exported
   1.211 +#endif
   1.212 +
   1.213 +/**
   1.214 +* ---------------------------------------
   1.215 +* Location, where the applications layer specific platform headers should be exported
   1.216 +* See usage on top of this hrh-file.
   1.217 +* ---------------------------------------
   1.218 +*/
   1.219 +#if __GNUC__ >= 3
   1.220 +#define APP_LAYER_DOMAIN_EXPORT_PATH(exported) do not use intentionally generates error
   1.221 +#define APP_LAYER_PLATFORM_EXPORT_PATH(exported) /epoc32/include/platform/app/exported
   1.222 +#else
   1.223 +#define APP_LAYER_DOMAIN_EXPORT_PATH(exported) do not use intentionally generates error
   1.224 +#define APP_LAYER_PLATFORM_EXPORT_PATH(exported) /epoc32/include/platform/app/##exported
   1.225 +#endif
   1.226 +
   1.227 +/**
   1.228 +* ---------------------------------------
   1.229 +* Location, where the middleware layer specific public headers should be exported
   1.230 +* See usage on top of this hrh-file.
   1.231 +* ---------------------------------------
   1.232 +*/
   1.233 +#if __GNUC__ >= 3
   1.234 +#define MW_LAYER_SDK_EXPORT_PATH(exported) do not use intentionally generates error
   1.235 +#define MW_LAYER_PUBLIC_EXPORT_PATH(exported) /epoc32/include/mw/exported
   1.236 +#else
   1.237 +#define MW_LAYER_SDK_EXPORT_PATH(exported) do not use intentionally generates error
   1.238 +#define MW_LAYER_PUBLIC_EXPORT_PATH(exported) /epoc32/include/mw/##exported
   1.239 +#endif
   1.240 +
   1.241 +/**
   1.242 +* ---------------------------------------
   1.243 +* Location, where the middleware layer specific platform headers should be exported
   1.244 +* ---------------------------------------
   1.245 +*/
   1.246 +#if __GNUC__ >= 3
   1.247 +#define MW_LAYER_DOMAIN_EXPORT_PATH(exported) do not use intentionally generates error
   1.248 +#define MW_LAYER_PLATFORM_EXPORT_PATH(exported) /epoc32/include/platform/mw/exported
   1.249 +#else
   1.250 +#define MW_LAYER_DOMAIN_EXPORT_PATH(exported) do not use intentionally generates error
   1.251 +#define MW_LAYER_PLATFORM_EXPORT_PATH(exported) /epoc32/include/platform/mw/##exported
   1.252 +#endif
   1.253 +
   1.254 +/**
   1.255 +* ---------------------------------------
   1.256 +* Location, where the os layer specific public headers should be exported
   1.257 +* ---------------------------------------
   1.258 +*/
   1.259 +#if __GNUC__ >= 3
   1.260 +#define  OSEXT_LAYER_SDK_EXPORT_PATH(exported) do not use intentionally generates error
   1.261 +#define  OS_LAYER_PUBLIC_EXPORT_PATH(exported) /epoc32/include/exported
   1.262 +#else
   1.263 +#define  OSEXT_LAYER_SDK_EXPORT_PATH(exported) do not use intentionally generates error
   1.264 +#define  OS_LAYER_PUBLIC_EXPORT_PATH(exported) /epoc32/include/##exported
   1.265 +#endif
   1.266 +
   1.267 +/**
   1.268 +* ---------------------------------------
   1.269 +* Location, where the os specific platform headers should be exported
   1.270 +* ---------------------------------------
   1.271 +*/
   1.272 +#if __GNUC__ >= 3
   1.273 +#define OSEXT_LAYER_DOMAIN_EXPORT_PATH(exported) do not use intentionally generates error
   1.274 +#define OS_LAYER_PLATFORM_EXPORT_PATH(exported) /epoc32/include/platform/exported
   1.275 +#else
   1.276 +#define OSEXT_LAYER_DOMAIN_EXPORT_PATH(exported) do not use intentionally generates error
   1.277 +#define OS_LAYER_PLATFORM_EXPORT_PATH(exported) /epoc32/include/platform/##exported
   1.278 +#endif
   1.279 +
   1.280 +/**
   1.281 +* ---------------------------------------
   1.282 +* Location, where the  cenrep excel sheets should be exported
   1.283 +* Deprecated: should no longer be used. Kept for compability.
   1.284 +* ---------------------------------------
   1.285 +*/
   1.286 +#if __GNUC__ >= 3
   1.287 +#define CENREP_XLS_EXPORT_PATH(exported) /epoc32/tools/cenrep/data/src/exported
   1.288 +#else
   1.289 +#define CENREP_XLS_EXPORT_PATH(exported) /epoc32/tools/cenrep/data/src/##exported
   1.290 +#endif
   1.291 +
   1.292 +/**
   1.293 +**************************************************************************
   1.294 +*  General comments about the 3 define statements related to include paths:
   1.295 +*  1) the /epoc32/include/oem is now defined there for backward compability.
   1.296 +*     Once the directory is empty, the directory will be removed. However this 
   1.297 +*     enables us to ensure that if you use these define statements => you do 
   1.298 +*     not have to remove the statements later on, when the directory no longer 
   1.299 +*     exists.
   1.300 +*  2) These statements should be enough in normal cases. For certain specific 
   1.301 +*     cases you migth need to add some specific directory from /epoc32/include
   1.302 +*     (for instance /epoc32/include/ecom).
   1.303 +*     In normal cases the include staments in code should be relative to one of 
   1.304 +*     the system include paths, but in certain cases, the included files requires
   1.305 +*     that the subdirectory is also part of the system include paths.
   1.306 +****************************************************************************
   1.307 +*/
   1.308 +
   1.309 +/**
   1.310 +* This define statements defines the SYSTEMINCLUDE-line, which is intended to be 
   1.311 +* used in the mmp-files that are part of the applications-layer. It includes all 
   1.312 +* the needed directories from the /epoc32/include, that are valid ones for the 
   1.313 +* application-layer components. 
   1.314 +*
   1.315 +* Applications layer is the last one in the list, since most likely the most of 
   1.316 +* the headers come from middleware or os-layer  => thus they are first.
   1.317 +*/
   1.318 +#define APP_LAYER_SYSTEMINCLUDE SYSTEMINCLUDE \
   1.319 + /epoc32/include \
   1.320 + /epoc32/include/mw \
   1.321 + /epoc32/include/platform/mw \
   1.322 + /epoc32/include/platform \
   1.323 + /epoc32/include/app \
   1.324 + /epoc32/include/platform/app \
   1.325 + /epoc32/include/platform/loc \
   1.326 + /epoc32/include/platform/mw/loc \
   1.327 + /epoc32/include/platform/app/loc \
   1.328 + /epoc32/include/platform/loc/sc \
   1.329 + /epoc32/include/platform/mw/loc/sc \
   1.330 + /epoc32/include/platform/app/loc/sc
   1.331 + 
   1.332 +/**
   1.333 +* This define statements defines the SYSTEMINCLUDE-line, which is intended to be
   1.334 +* used in the mmp-files that are part of the middleware-layer. It includes all 
   1.335 +* the needed directories from the /epoc32/include, that are valid ones for the 
   1.336 +* middleware-layer components. 
   1.337 +*/
   1.338 +#define MW_LAYER_SYSTEMINCLUDE SYSTEMINCLUDE \
   1.339 + /epoc32/include \
   1.340 + /epoc32/include/mw \
   1.341 + /epoc32/include/platform/mw \
   1.342 + /epoc32/include/platform \
   1.343 + /epoc32/include/platform/loc \
   1.344 + /epoc32/include/platform/mw/loc \
   1.345 + /epoc32/include/platform/loc/sc \
   1.346 + /epoc32/include/platform/mw/loc/sc
   1.347 +
   1.348 +/**
   1.349 +* This define statements defines the SYSTEMINCLUDE-line, which is intended to be
   1.350 +* used in the mmp-files that are part of the  osextensions-layer. It includes all
   1.351 +* the needed directories from the /epoc32/include, that are valid ones for the
   1.352 +* os-layer components. 
   1.353 +*/
   1.354 +#define OS_LAYER_SYSTEMINCLUDE SYSTEMINCLUDE \
   1.355 + /epoc32/include \
   1.356 + /epoc32/include/platform \
   1.357 + /epoc32/include/platform/loc \
   1.358 + /epoc32/include/platform/loc/sc
   1.359 +
   1.360 +// Below statement is Deprecated and the OS_LAYER_SYSTEMINCLUDE-macro has to be
   1.361 +// used.
   1.362 +// Removed, use teh OS_LAYER_SYSTEMINCLUDE instead.
   1.363 +// #define OSEXT_LAYER_SYSTEMINCLUDE OS_LAYER_SYSTEMINCLUDE
   1.364 +
   1.365 +/**
   1.366 +* This define statements defines the SYSTEMINCLUDE-line, which is intended to be
   1.367 +* used in the mmp-files that are part of the os-layer. This is intended 
   1.368 +* to be only used by those components which need to use in their mmp-file either
   1.369 +* kern_ext.mmh or nkern_ext.mmh. Reason is that those
   1.370 +* 2 files already contain the /epoc32/include  as system include path.
   1.371 +* 
   1.372 +*/
   1.373 +#define OS_LAYER_KERNEL_SYSTEMINCLUDE SYSTEMINCLUDE \
   1.374 + /epoc32/include/platform
   1.375 +
   1.376 +// Below statement is Deprecated and the OS_LAYER_KERNEL_SYSTEMINCLUDE-macro 
   1.377 +// has to be used.
   1.378 +// Removed, use the OS_LAYER_KERNER_SYSTEMINCLUDE instead.
   1.379 +// #define OSEXT_LAYER_KERNEL_SYSTEMINCLUDE OS_LAYER_KERNEL_SYSTEMINCLUDE
   1.380 +
   1.381 +/**
   1.382 +****************************************************************************
   1.383 +* Definitions that also define the systeminclude paths for various
   1.384 +* part of stdapis. Each statement has to be in its own line in the using
   1.385 +* mmp-file. There are be more than 1 statement in single mmp-file.
   1.386 +****************************************************************************
   1.387 +*/
   1.388 +#define OS_LAYER_LIBC_SYSTEMINCLUDE SYSTEMINCLUDE  OS_LAYER_PUBLIC_EXPORT_PATH(stdapis)
   1.389 +
   1.390 +#define OS_LAYER_GLIB_SYSTEMINCLUDE SYSTEMINCLUDE  OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/glib-2.0) \
   1.391 +                                                   OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/glib-2.0/glib) \
   1.392 +                                                   OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/glib-2.0/gObject)
   1.393 +
   1.394 +
   1.395 +#define OS_LAYER_SSL_SYSTEMINCLUDE SYSTEMINCLUDE   OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/openssl)
   1.396 +                  
   1.397 +#define OS_LAYER_STDCPP_SYSTEMINCLUDE SYSTEMINCLUDE  OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/stlport) 
   1.398 +
   1.399 +#define OS_LAYER_BOOST_SYSTEMINCLUDE SYSTEMINCLUDE   OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/boost)
   1.400 +
   1.401 +#define OS_LAYER_DBUS_SYSTEMINCLUDE SYSTEMINCLUDE    OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/dbus-1.0) \
   1.402 +                                                     OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/dbus-1.0/dbus)
   1.403 +#define OS_LAYER_LIBUTILITY_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PLATFORM_EXPORT_PATH(stdapis/utility)
   1.404 +
   1.405 +#define OS_LAYER_LIBOIL_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PLATFORM_EXPORT_PATH(stdapis/liboil)
   1.406 +
   1.407 +#define MW_LAYER_GSTREAMER_SYSTEMINCLUDE SYSTEMINCLUDE \
   1.408 + /epoc32/include/platform/mw/gstreamer/10_18 \
   1.409 + /epoc32/include/platform/mw/gstreamer/10_18/gst \
   1.410 + /epoc32/include/platform/mw/gstreamer/10_18/gst/gstcontroller \
   1.411 + /epoc32/include/stdapis/machine
   1.412 +
   1.413 +// You need to add STLLIB_USAGE_DEFINITIONS as a separate line into your mmp-file, if you are using
   1.414 +// the stllib. 
   1.415 +#define STLLIB_USAGE_DEFINITIONS OPTION CW -wchar_t on\
   1.416 +        MACRO _WCHAR_T_DECLARED
   1.417 +
   1.418 +
   1.419 +/**
   1.420 +****************************************************************************
   1.421 +* Definitions that also define the paths to the layer specific source directories.
   1.422 +****************************************************************************
   1.423 +*/
   1.424 +/**
   1.425 +* The below 3 macros define the paths to the layer-specific source dirs.
   1.426 +* See usage on top of this hrh-file, these are used the same way as 
   1.427 +* for instance the OS_LAYER_DOMAIN_EXPORT_PATH
   1.428 +* Deprecated: is not allowed to be using in Symbian Foundation
   1.429 +*/
   1.430 +#if __GNUC__ >= 3
   1.431 +#define APP_LAYER_SOURCE_PATH(rest)    do not use intentionally generates error in export
   1.432 +#define MW_LAYER_SOURCE_PATH(rest)     do not use intentionally generates error in export
   1.433 +#define OSEXT_LAYER_SOURCE_PATH(rest)  do not use intentionally generates error in export
   1.434 +#else
   1.435 +#define APP_LAYER_SOURCE_PATH(rest)    do not use intentionally generates error in export
   1.436 +#define MW_LAYER_SOURCE_PATH(rest)     do not use intentionally generates error in export
   1.437 +#define OSEXT_LAYER_SOURCE_PATH(rest)  do not use intentionally generates error in export
   1.438 +#endif
   1.439 +
   1.440 +/**
   1.441 +****************************************************************************
   1.442 +* Definitions to export IBY files to different folders where they will be taken 
   1.443 +* to ROM image
   1.444 +****************************************************************************
   1.445 +*/
   1.446 +
   1.447 +// Following three definitions are used for exporting IBY files to 
   1.448 +// Core image (ROM+ROFS1). IBY files are exported according to their layer.
   1.449 +#if __GNUC__ >= 3
   1.450 +#define CORE_APP_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/core/app/exported
   1.451 +#define CORE_MW_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/core/mw/exported
   1.452 +#define CORE_OSEXT_LAYER_IBY_EXPORT_PATH(exported) do not use intentionally generates error
   1.453 +#define CORE_OS_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/core/os/exported
   1.454 +#define CORE_ADAPT_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/exported
   1.455 +#else
   1.456 +#define CORE_APP_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/core/app/##exported
   1.457 +#define CORE_MW_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/core/mw/##exported
   1.458 +#define CORE_OSEXT_LAYER_IBY_EXPORT_PATH(exported) do not use intentionally generates error
   1.459 +#define CORE_OS_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/core/os/##exported
   1.460 +#define CORE_ADAPT_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/##exported
   1.461 +#endif
   1.462 +
   1.463 +// Following three definitions are used for exporting IBY files to Variant image, 
   1.464 +// Language part (ROFS2). IBY files are exported according to their layer.
   1.465 +#if __GNUC__ >= 3
   1.466 +#define LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/language/app/exported
   1.467 +#define LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/language/mw/exported
   1.468 +#define LANGUAGE_OSEXT_LAYER_IBY_EXPORT_PATH(exported) do not use intentionally generates error
   1.469 +#define LANGUAGE_OS_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/language/os/exported
   1.470 +#else
   1.471 +#define LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/language/app/##exported
   1.472 +#define LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/language/mw/##exported
   1.473 +#define LANGUAGE_OSEXT_LAYER_IBY_EXPORT_PATH(exported) do not use intentionally generates error
   1.474 +#define LANGUAGE_OS_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/language/os/##exported
   1.475 +#endif
   1.476 +
   1.477 +// Following three definitions are used for exporting IBY files to Variant image, (ROFS2). 
   1.478 +// BY files are exported according to their layer.
   1.479 +#if __GNUC__ >= 3
   1.480 +#define CUSTOMER_APP_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/customer/app/exported
   1.481 +#define CUSTOMER_MW_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/customer/mw/exported
   1.482 +#define CUSTOMER_OSEXT_LAYER_IBY_EXPORT_PATH(exported) do not use intentionally generates error
   1.483 +#define CUSTOMER_OS_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/customer/os/exported
   1.484 +#else
   1.485 +#define CUSTOMER_APP_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/customer/app/##exported
   1.486 +#define CUSTOMER_MW_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/customer/mw/##exported
   1.487 +#define CUSTOMER_OSEXT_LAYER_IBY_EXPORT_PATH(exported) do not use intentionally generates error
   1.488 +#define CUSTOMER_OS_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/customer/os/##exported
   1.489 +#endif
   1.490 +
   1.491 +// Following three definitions are used for exporting IBY files to 
   1.492 +// Variant Customer part, (ROFS3). IBY files are exported according to 
   1.493 +// their layer.
   1.494 +#if __GNUC__ >= 3
   1.495 +#define CUSTOMER_VARIANT_APP_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/customervariant/app/exported
   1.496 +#define CUSTOMER_VARIANT_MW_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/customervariant/mw/exported
   1.497 +#define CUSTOMER_VARIANT_OSEXT_LAYER_IBY_EXPORT_PATH(exported) do not use intentionally generates error
   1.498 +#define CUSTOMER_VARIANT_OS_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/customervariant/os/exported
   1.499 +#else
   1.500 +#define CUSTOMER_VARIANT_APP_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/customervariant/app/##exported
   1.501 +#define CUSTOMER_VARIANT_MW_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/customervariant/mw/##exported
   1.502 +#define CUSTOMER_VARIANT_OSEXT_LAYER_IBY_EXPORT_PATH(exported) do not use intentionally generates error
   1.503 +#define CUSTOMER_VARIANT_OS_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/customervariant/os/##exported
   1.504 +#endif
   1.505 +
   1.506 +
   1.507 +// Following definition is used for exporting tools and stubs IBY files to 
   1.508 +// Core image.
   1.509 +#if __GNUC__ >= 3
   1.510 +#define CORE_IBY_EXPORT_PATH(path,exported)  /epoc32/rom/include/core/path/exported
   1.511 +#else
   1.512 +#define CORE_IBY_EXPORT_PATH(path,exported)  /epoc32/rom/include/core/##path##/##exported
   1.513 +#endif
   1.514 +
   1.515 +/**
   1.516 +* ---------------------------------------
   1.517 +* Location, where the localization .loc file should be exported
   1.518 +* ---------------------------------------
   1.519 +*/
   1.520 +// Location, where the os layer localization .loc file should be 
   1.521 +// exported
   1.522 +#if __GNUC__ >= 3
   1.523 +// Deprecated: use the OS_LAYER_LOC_EXPORT_PATH instead
   1.524 +#define OSEXT_LAYER_LOC_EXPORT_PATH(exported) do not use intentionally generates error
   1.525 +#define OS_LAYER_LOC_EXPORT_PATH(exported) /epoc32/include/platform/loc/sc/exported
   1.526 +
   1.527 +// Location, where the middleware layer localization .loc file should be 
   1.528 +// exported
   1.529 +#define MW_LAYER_LOC_EXPORT_PATH(exported) /epoc32/include/platform/mw/loc/sc/exported
   1.530 +
   1.531 +// Location, where the application layer localization .loc file should be 
   1.532 +// exported
   1.533 +#define APP_LAYER_LOC_EXPORT_PATH(exported) /epoc32/include/platform/app/loc/sc/exported
   1.534 +
   1.535 +#else
   1.536 +
   1.537 +// Deprecated: use the OS_LAYER_LOC_EXPORT_PATH instead
   1.538 +#define OSEXT_LAYER_LOC_EXPORT_PATH(exported) do not use intentionally generates error
   1.539 +#define OS_LAYER_LOC_EXPORT_PATH(exported) /epoc32/include/platform/loc/sc/##exported
   1.540 +
   1.541 +// Location, where the middleware layer localization .loc file should be exported
   1.542 +#define MW_LAYER_LOC_EXPORT_PATH(exported) /epoc32/include/platform/mw/loc/sc/##exported
   1.543 +
   1.544 +// Location, where the application layer localization .loc file should be exported
   1.545 +#define APP_LAYER_LOC_EXPORT_PATH(exported) /epoc32/include/platform/app/loc/sc/##exported
   1.546 +#endif
   1.547 +
   1.548 +/**
   1.549 +* ---------------------------------------
   1.550 +* Macros for Configuration tool migration. 
   1.551 +* The below macros define the location under epoc32, where the confml 
   1.552 +* (Configuration Markup Language) and crml (Central Repository Markup Language) 
   1.553 +* files should be exported.
   1.554 +* ---------------------------------------
   1.555 +*/
   1.556 +#if __GNUC__ >= 3
   1.557 +#define CONFML_EXPORT_PATH(file,category)           /epoc32/rom/config/confml_data/category/file
   1.558 +#define CRML_EXPORT_PATH(file,category)             /epoc32/rom/config/confml_data/category/file
   1.559 +#define GCFML_EXPORT_PATH(file,category)            /epoc32/rom/config/confml_data/category/file
   1.560 +#define CONFML_CONFIG_EXPORT_PATH(file,category)    /epoc32/rom/config/confml_data/category/config/file
   1.561 +#else
   1.562 +#define CONFML_EXPORT_PATH(file,category)           /epoc32/rom/config/confml_data/##category##/##file
   1.563 +#define CRML_EXPORT_PATH(file,category)             /epoc32/rom/config/confml_data/##category##/##file
   1.564 +#define GCFML_EXPORT_PATH(file,category)            /epoc32/rom/config/confml_data/##category##/##file
   1.565 +#define CONFML_CONFIG_EXPORT_PATH(file,category)    /epoc32/rom/config/confml_data/##category##/config/##file
   1.566 +#endif
   1.567 +
   1.568 +#define APP_LAYER_CONFML(exported)                  CONFML_EXPORT_PATH(exported,s60)
   1.569 +#define APP_LAYER_CRML(exported)                    CRML_EXPORT_PATH(exported,s60)
   1.570 +#define APP_LAYER_GCFML(exported)                   GCFML_EXPORT_PATH(exported,s60)
   1.571 +#define APP_LAYER_CONFML_CONFIG(exported)           CONFML_CONFIG_EXPORT_PATH(exported,s60)
   1.572 +                                                    
   1.573 +#define MW_LAYER_CONFML(exported)                   CONFML_EXPORT_PATH(exported,s60)
   1.574 +#define MW_LAYER_CRML(exported)                     CRML_EXPORT_PATH(exported,s60)
   1.575 +#define MW_LAYER_GCFML(exported)                    GCFML_EXPORT_PATH(exported,s60)
   1.576 +#define MW_LAYER_CONFML_CONFIG(exported)            CONFML_CONFIG_EXPORT_PATH(exported,s60)
   1.577 +       
   1.578 +// Deprecate: Use the OS_LAYER_* macros instead of OSEXT_LAYER_*                                             
   1.579 +#define OSEXT_LAYER_CONFML(exported)                do not use intentionally generates error
   1.580 +#define OSEXT_LAYER_CRML(exported)                  do not use intentionally generates error
   1.581 +#define OSEXT_LAYER_GCFML(exported)                 do not use intentionally generates error
   1.582 +#define OSEXT_LAYER_CONFML_CONFIG(exported)         do not use intentionally generates error
   1.583 +#define OS_LAYER_CONFML(exported)                   CONFML_EXPORT_PATH(exported,s60)
   1.584 +#define OS_LAYER_CRML(exported)                     CRML_EXPORT_PATH(exported,s60)
   1.585 +#define OS_LAYER_GCFML(exported)                    GCFML_EXPORT_PATH(exported,s60)
   1.586 +#define OS_LAYER_CONFML_CONFIG(exported)            CONFML_CONFIG_EXPORT_PATH(exported,s60)
   1.587 +
   1.588 +#endif  // end of PLATFORM_PATHS_HRH