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