diff -r ccb4f6b3db21 -r 8cb079868133 devicesrv_pub/platform_path_definitions_api/inc/platform_paths.hrh --- a/devicesrv_pub/platform_path_definitions_api/inc/platform_paths.hrh Tue Aug 31 16:29:05 2010 +0300 +++ b/devicesrv_pub/platform_path_definitions_api/inc/platform_paths.hrh Wed Sep 01 12:34:26 2010 +0100 @@ -11,7 +11,171 @@ * * Contributors: * -* Description: +* Description: Predefined include paths to be used in the mmp-files for the +* components in the layered model. There is one definition for +* each layer. The mmp-file should use the statement that is +* intended for the same layer as where the mmp-file resides. +* +* There is also macros to be used in the bld.inf-files to +* export of Public and Platform headers into +* correct locations. +* +* Usage examples: +* --------------------------------------------- +* How to include this file in bld.inf and mmp-files. +* Reasoning: The build system is such that at the time the +* bld.inf and mmp-files are "compiled" the available +* include paths are limited. Only the /epoc32/include +* can be guaranteed. Thus to get this file available +* you need to make include relative to the mentioned +* directory. +* --------------------------------------------- +* +* #include +* +* ************************************************************* +* * MMP file related macro 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. +* * Keep this as a separate line in the mmp-files. If you need to +* * add your own SYSTEMINCLUDE paths, please defined them as +* * separate statement. +* ************************************************************* +* APP_LAYER_SYSTEMINCLUDE +* MW_LAYER_SYSTEMINCLUDE +* OS_LAYER_SYSTEMINCLUDE +** +* ************************************************************* +* * Macros related to using various parts of stdapis +* ************************************************************* +* To use STLLIB you need to have this in your mmp-file +* STLLIB_USAGE_DEFINITIONS +* +* Depending on what module you are using from stdapis you need to have +* one or more of the following macros in your mmp-file (every one in +* separate line !) +* +* OS_LAYER_LIBC_SYSTEMINCLUDE +* OS_LAYER_GLIB_SYSTEMINCLUDE +* OS_LAYER_SSL_SYSTEMINCLUDE +* OS_LAYER_STDCPP_SYSTEMINCLUDE +* OS_LAYER_BOOST_SYSTEMINCLUDE +* OS_LAYER_DBUS_SYSTEMINCLUDE +* OS_LAYER_LIBUTILITY_SYSTEMINCLUDE +* +* ************************************************************* +* * Macros related to exporting Public and Platform APIs into +* * correct place in the new system. +* * +* * The macro that you should use depends on 2 things: +* * - in which layer your package, which exports the APIs resides +* * - what is the visibility of the API (public or platform) +* ************************************************************* +* // the exporting of public APIs should use one of below macros +* // depending on which layer the API belogs to +* APP_LAYER_PUBLIC_EXPORT_PATH +* MW_LAYER_PUBLIC_EXPORT_PATH +* OS_LAYER_PUBLIC_EXPORT_PATH +* +* // the exporting of platform APIs should use one of below macros +* // depending on which layer the API belogs to +* APP_LAYER_PLATFORM_EXPORT_PATH +* MW_LAYER_PLATFORM_EXPORT_PATH +* OS_LAYER_PLATFORM_EXPORT_PATH +* +* The hierarchy how APIs should reside in foundation has been specified +* in developer documentation. See further details from documentation. +* Below is example case relying on the structure +* my_own_api/group/bld.inf +* my_own_api/inc/header1.h +* my_own_api/inc/subdir/header2.h +* +* Assuming that the API is in middleware layer and a public API. +* Then the bld.inf should have the following +* ../inc/header1.h APP_LAYER_PUBLIC_EXPORT_PATH(header1.h) +* ../inc/subdir/header2.h APP_LAYER_PUBLIC_EXPORT_PATH(subdir/header2.h) +* +* In the above case the locations are as follow (with current MACRO settings): +* header1.h in /epoc32/include/app +* header2.h in /epoc32/include/app/subdir +* +* +* ************************************************************* +* * Macros related to IBY file exporting +* ************************************************************* +* +* Component bld.inf files need to include platform_paths.hrh, see +* beginning of this file on how to do this correctly. Component bld.inf +* files need to use these macros in PRJ_EXPORTS to get their IBY files +* to ROM image. +* +* --------------------------------------------- +* Usage for Core image (ROM+ROFS1): +* --------------------------------------------- +* // Layer specific specific macros. Use the macro, which is specified +* // for the layer, in which your component resides +* / CORE_APP_LAYER_IBY_EXPORT_PATH() +* / CORE_MW_LAYER_IBY_EXPORT_PATH() +* / CORE_OS_LAYER_IBY_EXPORT_PATH() +* +* //stub iby files +* / CORE_IBY_EXPORT_PATH(stubs,) +* //tool iby files +* / CORE_IBY_EXPORT_PATH(tools,) +* +* --------------------------------------------- +* Usage for Variant image, Language part (ROFS2): +* --------------------------------------------- +* // Layer specific specific macros. Use the macro, which is specified +* // for the layer, in which your component resides +* / LANGUAGE_APP_LAYER_IBY_EXPORT_PATH() +* / LANGUAGE_MW_LAYER_IBY_EXPORT_PATH() +* / LANGUAGE_OS_LAYER_IBY_EXPORT_PATH() +* +* --------------------------------------------- +* Usage for Variant image, Language part (ROFS2): +* --------------------------------------------- +* // Layer specific specific macros. Use the macro, which is specified +* // for the layer, in which your component resides +* / CUSTOMER_APP_LAYER_IBY_EXPORT_PATH() +* / CUSTOMER_MW_LAYER_IBY_EXPORT_PATH() +* / CUSTOMER_OS_LAYER_IBY_EXPORT_PATH() +* +* --------------------------------------------- +* Usage for Customer Variant image, (ROFS3): +* --------------------------------------------- +* // Layer specific specific macros. Use the macro, which is specified +* // for the layer, in which your component resides +* / CUSTOMER_VARIANT_APP_LAYER_IBY_EXPORT_PATH() +* / CUSTOMER_VARIANT_MW_LAYER_IBY_EXPORT_PATH() +* / CUSTOMER_VARIANT_OS_LAYER_IBY_EXPORT_PATH() +* +* +* ************************************************************* +* * Macro related to Exporting localization .loc files into +* * correct place in the system. +* ************************************************************* +* +* --------------------------------------------- +* Usage for components: +* --------------------------------------------- +* Component bld.inf files need to include platform_paths.hrh, see +* beginning of this file on how to do this correctly. Component bld.inf +* files need to use these macros in PRJ_EXPORTS to get their loc files +* for localization. +* loc files that should be localized by localisation team should be in +* loc-folder in the source tree (see developer guidelines) +* +* // Layer specific specific macros. Use the macro, which is specified +* // for the layer, in which your component resides +* /loc/.loc APP_LAYER_LOC_EXPORT_PATH(.loc) +* /loc/.loc MW_LAYER_LOC_EXPORT_PATH(.loc) +* /loc/.loc OS_LAYER_LOC_EXPORT_PATH(.loc) +* +* +* * */ @@ -19,6 +183,403 @@ #ifndef PLATFORM_PATHS_HRH #define PLATFORM_PATHS_HRH -#include +/** +************************************************************************** +* General comments about the exporting of headers macros +* 1) The definitions point currently to the old locations. (which makes some +* macros to have same values. The idea is that you can already start using +* them now and those will be later on changed => change affects everybody. +*************************************************************************** +*/ + +/** +* --------------------------------------- +* Location, where the applications layer specific public headers should be exported +* See usage on top of this hrh-file. +* --------------------------------------- +*/ + +#if __GNUC__ >= 3 +#define APP_LAYER_SDK_EXPORT_PATH(exported) do not use intentionally generates error +#define APP_LAYER_PUBLIC_EXPORT_PATH(exported) /epoc32/include/app/exported +#else +#define APP_LAYER_SDK_EXPORT_PATH(exported) do not use intentionally generates error +#define APP_LAYER_PUBLIC_EXPORT_PATH(exported) /epoc32/include/app/##exported +#endif + +/** +* --------------------------------------- +* Location, where the applications layer specific platform headers should be exported +* See usage on top of this hrh-file. +* --------------------------------------- +*/ +#if __GNUC__ >= 3 +#define APP_LAYER_DOMAIN_EXPORT_PATH(exported) do not use intentionally generates error +#define APP_LAYER_PLATFORM_EXPORT_PATH(exported) /epoc32/include/platform/app/exported +#else +#define APP_LAYER_DOMAIN_EXPORT_PATH(exported) do not use intentionally generates error +#define APP_LAYER_PLATFORM_EXPORT_PATH(exported) /epoc32/include/platform/app/##exported +#endif + +/** +* --------------------------------------- +* Location, where the middleware layer specific public headers should be exported +* See usage on top of this hrh-file. +* --------------------------------------- +*/ +#if __GNUC__ >= 3 +#define MW_LAYER_SDK_EXPORT_PATH(exported) do not use intentionally generates error +#define MW_LAYER_PUBLIC_EXPORT_PATH(exported) /epoc32/include/mw/exported +#else +#define MW_LAYER_SDK_EXPORT_PATH(exported) do not use intentionally generates error +#define MW_LAYER_PUBLIC_EXPORT_PATH(exported) /epoc32/include/mw/##exported +#endif + +/** +* --------------------------------------- +* Location, where the middleware layer specific platform headers should be exported +* --------------------------------------- +*/ +#if __GNUC__ >= 3 +#define MW_LAYER_DOMAIN_EXPORT_PATH(exported) do not use intentionally generates error +#define MW_LAYER_PLATFORM_EXPORT_PATH(exported) /epoc32/include/platform/mw/exported +#else +#define MW_LAYER_DOMAIN_EXPORT_PATH(exported) do not use intentionally generates error +#define MW_LAYER_PLATFORM_EXPORT_PATH(exported) /epoc32/include/platform/mw/##exported +#endif + +/** +* --------------------------------------- +* Location, where the os layer specific public headers should be exported +* --------------------------------------- +*/ +#if __GNUC__ >= 3 +#define OSEXT_LAYER_SDK_EXPORT_PATH(exported) do not use intentionally generates error +#define OS_LAYER_PUBLIC_EXPORT_PATH(exported) /epoc32/include/exported +#else +#define OSEXT_LAYER_SDK_EXPORT_PATH(exported) do not use intentionally generates error +#define OS_LAYER_PUBLIC_EXPORT_PATH(exported) /epoc32/include/##exported +#endif + +/** +* --------------------------------------- +* Location, where the os specific platform headers should be exported +* --------------------------------------- +*/ +#if __GNUC__ >= 3 +#define OSEXT_LAYER_DOMAIN_EXPORT_PATH(exported) do not use intentionally generates error +#define OS_LAYER_PLATFORM_EXPORT_PATH(exported) /epoc32/include/platform/exported +#else +#define OSEXT_LAYER_DOMAIN_EXPORT_PATH(exported) do not use intentionally generates error +#define OS_LAYER_PLATFORM_EXPORT_PATH(exported) /epoc32/include/platform/##exported +#endif + +/** +* --------------------------------------- +* Location, where the cenrep excel sheets should be exported +* Deprecated: should no longer be used. Kept for compability. +* --------------------------------------- +*/ +#if __GNUC__ >= 3 +#define CENREP_XLS_EXPORT_PATH(exported) /epoc32/tools/cenrep/data/src/exported +#else +#define CENREP_XLS_EXPORT_PATH(exported) /epoc32/tools/cenrep/data/src/##exported +#endif + +/** +************************************************************************** +* 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 migth 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 define statements defines the SYSTEMINCLUDE-line, which is intended to be +* used in the mmp-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. +*/ +#define APP_LAYER_SYSTEMINCLUDE 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 SYSTEMINCLUDE-line, which is intended to be +* used in the mmp-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. +*/ +#define MW_LAYER_SYSTEMINCLUDE 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 SYSTEMINCLUDE-line, which is intended to be +* used in the mmp-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. +*/ +#define OS_LAYER_SYSTEMINCLUDE SYSTEMINCLUDE \ + /epoc32/include \ + /epoc32/include/platform \ + /epoc32/include/platform/loc \ + /epoc32/include/platform/loc/sc + +// Below statement is Deprecated and the OS_LAYER_SYSTEMINCLUDE-macro has to be +// used. +// Removed, use teh OS_LAYER_SYSTEMINCLUDE instead. +// #define OSEXT_LAYER_SYSTEMINCLUDE OS_LAYER_SYSTEMINCLUDE + +/** +* This define statements defines the SYSTEMINCLUDE-line, which is intended to be +* used in the mmp-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. +* +*/ +#define OS_LAYER_KERNEL_SYSTEMINCLUDE SYSTEMINCLUDE \ + /epoc32/include/platform + +// Below statement is Deprecated and the OS_LAYER_KERNEL_SYSTEMINCLUDE-macro +// has to be used. +// Removed, use the OS_LAYER_KERNER_SYSTEMINCLUDE instead. +// #define OSEXT_LAYER_KERNEL_SYSTEMINCLUDE OS_LAYER_KERNEL_SYSTEMINCLUDE + +/** +**************************************************************************** +* Definitions that also define the systeminclude paths for various +* part of stdapis. Each statement has to be in its own line in the using +* mmp-file. There are be more than 1 statement in single mmp-file. +**************************************************************************** +*/ +#define OS_LAYER_LIBC_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(stdapis) + +#define OS_LAYER_GLIB_SYSTEMINCLUDE 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) + + +#define OS_LAYER_SSL_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/openssl) + +#define OS_LAYER_STDCPP_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/stlport) + +#define OS_LAYER_BOOST_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/boost) + +#define OS_LAYER_DBUS_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/dbus-1.0) \ + OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/dbus-1.0/dbus) +#define OS_LAYER_LIBUTILITY_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PLATFORM_EXPORT_PATH(stdapis/utility) + +#define OS_LAYER_LIBOIL_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PLATFORM_EXPORT_PATH(stdapis/liboil) + +#define MW_LAYER_GSTREAMER_SYSTEMINCLUDE SYSTEMINCLUDE \ + /epoc32/include/platform/mw/gstreamer/10_18 \ + /epoc32/include/platform/mw/gstreamer/10_18/gst \ + /epoc32/include/platform/mw/gstreamer/10_18/gst/gstcontroller \ + /epoc32/include/stdapis/machine + +// You need to add STLLIB_USAGE_DEFINITIONS as a separate line into your mmp-file, if you are using +// the stllib. +#define STLLIB_USAGE_DEFINITIONS OPTION CW -wchar_t on\ + MACRO _WCHAR_T_DECLARED + + +/** +**************************************************************************** +* Definitions that also define the paths to the layer specific source directories. +**************************************************************************** +*/ +/** +* The below 3 macros define the paths to the layer-specific source dirs. +* See usage on top of this hrh-file, these are used the same way as +* for instance the OS_LAYER_DOMAIN_EXPORT_PATH +* Deprecated: is not allowed to be using in Symbian Foundation +*/ +#if __GNUC__ >= 3 +#define APP_LAYER_SOURCE_PATH(rest) do not use intentionally generates error in export +#define MW_LAYER_SOURCE_PATH(rest) do not use intentionally generates error in export +#define OSEXT_LAYER_SOURCE_PATH(rest) do not use intentionally generates error in export +#else +#define APP_LAYER_SOURCE_PATH(rest) do not use intentionally generates error in export +#define MW_LAYER_SOURCE_PATH(rest) do not use intentionally generates error in export +#define OSEXT_LAYER_SOURCE_PATH(rest) do not use intentionally generates error in export +#endif + +/** +**************************************************************************** +* Definitions to export IBY files to different folders where they will be taken +* to ROM image +**************************************************************************** +*/ + +// Following three definitions are used for exporting IBY files to +// Core image (ROM+ROFS1). IBY files are exported according to their layer. +#if __GNUC__ >= 3 +#define CORE_APP_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/core/app/exported +#define CORE_MW_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/core/mw/exported +#define CORE_OSEXT_LAYER_IBY_EXPORT_PATH(exported) do not use intentionally generates error +#define CORE_OS_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/core/os/exported +#define CORE_ADAPT_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/exported +#else +#define CORE_APP_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/core/app/##exported +#define CORE_MW_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/core/mw/##exported +#define CORE_OSEXT_LAYER_IBY_EXPORT_PATH(exported) do not use intentionally generates error +#define CORE_OS_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/core/os/##exported +#define CORE_ADAPT_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/##exported +#endif + +// Following three definitions are used for exporting IBY files to Variant image, +// Language part (ROFS2). IBY files are exported according to their layer. +#if __GNUC__ >= 3 +#define LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/language/app/exported +#define LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/language/mw/exported +#define LANGUAGE_OSEXT_LAYER_IBY_EXPORT_PATH(exported) do not use intentionally generates error +#define LANGUAGE_OS_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/language/os/exported +#else +#define LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/language/app/##exported +#define LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/language/mw/##exported +#define LANGUAGE_OSEXT_LAYER_IBY_EXPORT_PATH(exported) do not use intentionally generates error +#define LANGUAGE_OS_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/language/os/##exported +#endif + +// Following three definitions are used for exporting IBY files to Variant image, (ROFS2). +// BY files are exported according to their layer. +#if __GNUC__ >= 3 +#define CUSTOMER_APP_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/customer/app/exported +#define CUSTOMER_MW_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/customer/mw/exported +#define CUSTOMER_OSEXT_LAYER_IBY_EXPORT_PATH(exported) do not use intentionally generates error +#define CUSTOMER_OS_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/customer/os/exported +#else +#define CUSTOMER_APP_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/customer/app/##exported +#define CUSTOMER_MW_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/customer/mw/##exported +#define CUSTOMER_OSEXT_LAYER_IBY_EXPORT_PATH(exported) do not use intentionally generates error +#define CUSTOMER_OS_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/customer/os/##exported +#endif + +// Following three definitions are used for exporting IBY files to +// Variant Customer part, (ROFS3). IBY files are exported according to +// their layer. +#if __GNUC__ >= 3 +#define CUSTOMER_VARIANT_APP_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/customervariant/app/exported +#define CUSTOMER_VARIANT_MW_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/customervariant/mw/exported +#define CUSTOMER_VARIANT_OSEXT_LAYER_IBY_EXPORT_PATH(exported) do not use intentionally generates error +#define CUSTOMER_VARIANT_OS_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/customervariant/os/exported +#else +#define CUSTOMER_VARIANT_APP_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/customervariant/app/##exported +#define CUSTOMER_VARIANT_MW_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/customervariant/mw/##exported +#define CUSTOMER_VARIANT_OSEXT_LAYER_IBY_EXPORT_PATH(exported) do not use intentionally generates error +#define CUSTOMER_VARIANT_OS_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/customervariant/os/##exported +#endif + + +// Following definition is used for exporting tools and stubs IBY files to +// Core image. +#if __GNUC__ >= 3 +#define CORE_IBY_EXPORT_PATH(path,exported) /epoc32/rom/include/core/path/exported +#else +#define CORE_IBY_EXPORT_PATH(path,exported) /epoc32/rom/include/core/##path##/##exported +#endif + +/** +* --------------------------------------- +* Location, where the localization .loc file should be exported +* --------------------------------------- +*/ +// Location, where the os layer localization .loc file should be +// exported +#if __GNUC__ >= 3 +// Deprecated: use the OS_LAYER_LOC_EXPORT_PATH instead +#define OSEXT_LAYER_LOC_EXPORT_PATH(exported) do not use intentionally generates error +#define OS_LAYER_LOC_EXPORT_PATH(exported) /epoc32/include/platform/loc/sc/exported + +// Location, where the middleware layer localization .loc file should be +// exported +#define MW_LAYER_LOC_EXPORT_PATH(exported) /epoc32/include/platform/mw/loc/sc/exported + +// Location, where the application layer localization .loc file should be +// exported +#define APP_LAYER_LOC_EXPORT_PATH(exported) /epoc32/include/platform/app/loc/sc/exported + +#else + +// Deprecated: use the OS_LAYER_LOC_EXPORT_PATH instead +#define OSEXT_LAYER_LOC_EXPORT_PATH(exported) do not use intentionally generates error +#define OS_LAYER_LOC_EXPORT_PATH(exported) /epoc32/include/platform/loc/sc/##exported + +// Location, where the middleware layer localization .loc file should be exported +#define MW_LAYER_LOC_EXPORT_PATH(exported) /epoc32/include/platform/mw/loc/sc/##exported + +// Location, where the application layer localization .loc file should be exported +#define APP_LAYER_LOC_EXPORT_PATH(exported) /epoc32/include/platform/app/loc/sc/##exported +#endif + +/** +* --------------------------------------- +* Macros for Configuration tool migration. +* The below macros define the location under epoc32, where the confml +* (Configuration Markup Language) and crml (Central Repository Markup Language) +* files should be exported. +* --------------------------------------- +*/ +#if __GNUC__ >= 3 +#define CONFML_EXPORT_PATH(file,category) /epoc32/rom/config/confml_data/category/file +#define CRML_EXPORT_PATH(file,category) /epoc32/rom/config/confml_data/category/file +#define GCFML_EXPORT_PATH(file,category) /epoc32/rom/config/confml_data/category/file +#define CONFML_CONFIG_EXPORT_PATH(file,category) /epoc32/rom/config/confml_data/category/config/file +#else +#define CONFML_EXPORT_PATH(file,category) /epoc32/rom/config/confml_data/##category##/##file +#define CRML_EXPORT_PATH(file,category) /epoc32/rom/config/confml_data/##category##/##file +#define GCFML_EXPORT_PATH(file,category) /epoc32/rom/config/confml_data/##category##/##file +#define CONFML_CONFIG_EXPORT_PATH(file,category) /epoc32/rom/config/confml_data/##category##/config/##file +#endif + +#define APP_LAYER_CONFML(exported) CONFML_EXPORT_PATH(exported,s60) +#define APP_LAYER_CRML(exported) CRML_EXPORT_PATH(exported,s60) +#define APP_LAYER_GCFML(exported) GCFML_EXPORT_PATH(exported,s60) +#define APP_LAYER_CONFML_CONFIG(exported) CONFML_CONFIG_EXPORT_PATH(exported,s60) + +#define MW_LAYER_CONFML(exported) CONFML_EXPORT_PATH(exported,s60) +#define MW_LAYER_CRML(exported) CRML_EXPORT_PATH(exported,s60) +#define MW_LAYER_GCFML(exported) GCFML_EXPORT_PATH(exported,s60) +#define MW_LAYER_CONFML_CONFIG(exported) CONFML_CONFIG_EXPORT_PATH(exported,s60) + +// Deprecate: Use the OS_LAYER_* macros instead of OSEXT_LAYER_* +#define OSEXT_LAYER_CONFML(exported) do not use intentionally generates error +#define OSEXT_LAYER_CRML(exported) do not use intentionally generates error +#define OSEXT_LAYER_GCFML(exported) do not use intentionally generates error +#define OSEXT_LAYER_CONFML_CONFIG(exported) do not use intentionally generates error +#define OS_LAYER_CONFML(exported) CONFML_EXPORT_PATH(exported,s60) +#define OS_LAYER_CRML(exported) CRML_EXPORT_PATH(exported,s60) +#define OS_LAYER_GCFML(exported) GCFML_EXPORT_PATH(exported,s60) +#define OS_LAYER_CONFML_CONFIG(exported) CONFML_CONFIG_EXPORT_PATH(exported,s60) #endif // end of PLATFORM_PATHS_HRH