epoc32/include/platform_paths.hrh
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:33:34 +0100
branchSymbian3
changeset 4 837f303aceeb
permissions -rw-r--r--
Current Symbian^3 public API header files (from PDK 3.0.h)
This is the epoc32/include tree with the "platform" subtrees removed, and
all but a selected few mbg and rsg files removed.
     1 /*
     2 * Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies). 
     3 * All rights reserved.
     4 * This component and the accompanying materials are made available
     5 * under the terms of "Eclipse Public License v1.0"
     6 * which accompanies this distribution, and is available
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
     8 *
     9 * Initial Contributors:
    10 * Nokia Corporation - initial contribution.
    11 *
    12 * Contributors:
    13 *
    14 * Description:  Predefined include paths to be used in the mmp-files for the 
    15 *                components in the layered model. There is one definition for
    16 *                each layer. The mmp-file should use the statement that is 
    17 *                intended for the same layer as where the mmp-file resides.
    18 *
    19 *                There is also macros to be used in the bld.inf-files to 
    20 *                export of Public  and Platform headers into 
    21 *                correct locations. 
    22 *
    23 * Usage examples:
    24 *     ---------------------------------------------
    25 *      How to include this file in bld.inf and mmp-files.
    26 *       Reasoning: The build system is such that at the time the 
    27 *                  bld.inf and mmp-files are "compiled" the available
    28 *                  include paths are limited. Only the /epoc32/include
    29 *                  can be guaranteed. Thus to get this file available
    30 *                  you need to make include relative to the mentioned
    31 *                  directory. 
    32 *     ---------------------------------------------
    33 *
    34 *      #include <platform_paths.hrh>
    35 *    
    36 *     *************************************************************
    37 *     * MMP file related macro usages to add the system include paths
    38 *     * 
    39 *     * The include paths has to be related to the layer in which your SW 
    40 *     * resides. Thus as an example: a component residing in middleware
    41 *     * layer should use the MW specific macro.
    42 *     * Keep this as a separate line in the mmp-files. If you need to
    43 *     * add your own SYSTEMINCLUDE paths, please defined them as
    44 *     * separate statement.
    45 *     *************************************************************
    46 *         APP_LAYER_SYSTEMINCLUDE
    47 *         MW_LAYER_SYSTEMINCLUDE
    48 *         OS_LAYER_SYSTEMINCLUDE
    49 **
    50 *     *************************************************************
    51 *     * Macros related to using various parts of stdapis
    52 *     *************************************************************
    53 *       To use STLLIB you need to have this in your mmp-file
    54 *         STLLIB_USAGE_DEFINITIONS
    55 *
    56 *       Depending on what module you are using from stdapis you need to have
    57 *       one or more of the following macros in your mmp-file (every one in 
    58 *       separate line !)
    59 *
    60 *          OS_LAYER_LIBC_SYSTEMINCLUDE
    61 *          OS_LAYER_GLIB_SYSTEMINCLUDE
    62 *          OS_LAYER_SSL_SYSTEMINCLUDE
    63 *          OS_LAYER_STDCPP_SYSTEMINCLUDE
    64 *          OS_LAYER_BOOST_SYSTEMINCLUDE
    65 *          OS_LAYER_DBUS_SYSTEMINCLUDE
    66 *          OS_LAYER_LIBUTILITY_SYSTEMINCLUDE
    67 *
    68 *     *************************************************************
    69 *     * Macros related to exporting Public and Platform APIs into 
    70 *     * correct place in the new system. 
    71 *     *
    72 *     * The macro that you should use depends on 2 things:
    73 *     *  - in which layer your package, which exports the APIs resides
    74 *     *  - what is the visibility of the API (public or platform)
    75 *     *************************************************************
    76 *      // the exporting of public APIs should use one of below macros
    77 *      // depending on which layer the API belogs to
    78 *      APP_LAYER_PUBLIC_EXPORT_PATH
    79 *      MW_LAYER_PUBLIC_EXPORT_PATH
    80 *      OS_LAYER_PUBLIC_EXPORT_PATH
    81 *
    82 *      // the exporting of platform APIs should use one of below macros
    83 *      // depending on which layer the API belogs to
    84 *      APP_LAYER_PLATFORM_EXPORT_PATH
    85 *      MW_LAYER_PLATFORM_EXPORT_PATH
    86 *      OS_LAYER_PLATFORM_EXPORT_PATH
    87 *
    88 *      The hierarchy how APIs should reside in foundation has been specified
    89 *      in developer documentation. See further details from documentation.
    90 *      Below is example case relying on the structure
    91 *        my_own_api/group/bld.inf
    92 *        my_own_api/inc/header1.h
    93 *        my_own_api/inc/subdir/header2.h
    94 *  
    95 *      Assuming that the API is in middleware layer and a public API. 
    96 *      Then the bld.inf should have the following      
    97 *        ../inc/header1.h  APP_LAYER_PUBLIC_EXPORT_PATH(header1.h)
    98 *        ../inc/subdir/header2.h  APP_LAYER_PUBLIC_EXPORT_PATH(subdir/header2.h)
    99 *  
   100 *      In the above case the locations are as follow (with current MACRO settings):
   101 *        header1.h in /epoc32/include/app
   102 *        header2.h in /epoc32/include/app/subdir
   103 *
   104 *
   105 *     *************************************************************
   106 *     * Macros related to IBY file exporting
   107 *     *************************************************************
   108 *			
   109 *	    Component bld.inf files need to include platform_paths.hrh, see
   110 *           beginning of this file on how to do this correctly. Component bld.inf 
   111 *           files need to use these macros in PRJ_EXPORTS to get their IBY files 
   112 *           to ROM image.
   113 *
   114 *     ---------------------------------------------
   115 *     Usage for Core image (ROM+ROFS1):
   116 *     ---------------------------------------------
   117 *	 // Layer specific specific macros. Use the macro, which is specified
   118 *        // for the layer, in which your component resides
   119 *        <somepath>/<file1.iby>  CORE_APP_LAYER_IBY_EXPORT_PATH(<file1.iby>)
   120 *	 <somepath>/<file2.iby>  CORE_MW_LAYER_IBY_EXPORT_PATH(<file2.iby>)
   121 *	 <somepath>/<file3.iby>  CORE_OS_LAYER_IBY_EXPORT_PATH(<file3.iby>)
   122 *
   123 *	 //stub iby files
   124 *	 <somepath>/<file4.iby>  CORE_IBY_EXPORT_PATH(stubs,<file4.iby>)
   125 *	 //tool iby files
   126 *	 <somepath>/<file5.iby>  CORE_IBY_EXPORT_PATH(tools,<file5.iby>)
   127 *		
   128 *     ---------------------------------------------
   129 *     Usage for Variant image, Language part (ROFS2):
   130 *     ---------------------------------------------
   131 *	 // Layer specific specific macros. Use the macro, which is specified
   132 *        // for the layer, in which your component resides
   133 *        <somepath>/<file1.iby>  LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(<file1.iby>)
   134 *	 <somepath>/<file2.iby>  LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(<file2.iby>)
   135 *	 <somepath>/<file3.iby>  LANGUAGE_OS_LAYER_IBY_EXPORT_PATH(<file3.iby>)			
   136 *
   137 *     ---------------------------------------------
   138 *     Usage for Variant image, Language part  (ROFS2):
   139 *     ---------------------------------------------
   140 *	 // Layer specific specific macros. Use the macro, which is specified
   141 *        // for the layer, in which your component resides
   142 *        <somepath>/<file1.iby>  CUSTOMER_APP_LAYER_IBY_EXPORT_PATH(<file1.iby>)
   143 *	 <somepath>/<file2.iby>  CUSTOMER_MW_LAYER_IBY_EXPORT_PATH(<file2.iby>)
   144 *	 <somepath>/<file3.iby>  CUSTOMER_OS_LAYER_IBY_EXPORT_PATH(<file3.iby>)			
   145 *
   146 *     ---------------------------------------------
   147 *     Usage for Customer Variant image, (ROFS3):
   148 *     ---------------------------------------------
   149 *	 // Layer specific specific macros. Use the macro, which is specified
   150 *        // for the layer, in which your component resides
   151 *        <somepath>/<f1.iby> CUSTOMER_VARIANT_APP_LAYER_IBY_EXPORT_PATH(<f1.iby>)
   152 *	 <somepath>/<f2.iby> CUSTOMER_VARIANT_MW_LAYER_IBY_EXPORT_PATH(<f2.iby>)
   153 *	 <somepath>/<f3.iby> CUSTOMER_VARIANT_OS_LAYER_IBY_EXPORT_PATH(<f3.iby>)			
   154 *	
   155 *
   156 *     *************************************************************
   157 *     * Macro related to Exporting localization .loc files into 
   158 *     * correct place in the system. 
   159 *     *************************************************************
   160 *
   161 *     ---------------------------------------------
   162 *     Usage for components:
   163 *     ---------------------------------------------
   164 *	    Component bld.inf files need to include platform_paths.hrh, see
   165 *           beginning of this file on how to do this correctly. Component bld.inf 
   166 *           files need to use these macros in PRJ_EXPORTS to get their loc files 
   167 *           for localization.
   168 *     loc files that should be localized by localisation team should be in 
   169 *     loc-folder in the source tree (see developer guidelines)
   170 *
   171 *	 // Layer specific specific macros. Use the macro, which is specified
   172 *        // for the layer, in which your component resides
   173 *	 <somepath>/loc/<file>.loc  APP_LAYER_LOC_EXPORT_PATH(<file>.loc)
   174 *	 <somepath>/loc/<file>.loc  MW_LAYER_LOC_EXPORT_PATH(<file>.loc)
   175 *	 <somepath>/loc/<file>.loc  OS_LAYER_LOC_EXPORT_PATH(<file>.loc)
   176 *
   177 * 
   178 *
   179 *
   180 */
   181 
   182 
   183 #ifndef PLATFORM_PATHS_HRH
   184 #define PLATFORM_PATHS_HRH
   185 
   186 /**
   187 **************************************************************************
   188 * General comments about the exporting of headers macros
   189 *  1) The definitions point currently to the old locations. (which makes some 
   190 *     macros to have same values. The idea is that you can already start using
   191 *     them now and those will be later on changed => change affects everybody.
   192 ***************************************************************************
   193 */
   194 
   195 /**
   196 * ---------------------------------------
   197 * Location, where the applications layer specific public headers should be exported
   198 * See usage on top of this hrh-file.
   199 * ---------------------------------------
   200 */
   201 
   202 #if __GNUC__ >= 3
   203 #define APP_LAYER_SDK_EXPORT_PATH(exported) do not use intentionally generates error
   204 #define APP_LAYER_PUBLIC_EXPORT_PATH(exported) /epoc32/include/app/exported
   205 #else
   206 #define APP_LAYER_SDK_EXPORT_PATH(exported) do not use intentionally generates error
   207 #define APP_LAYER_PUBLIC_EXPORT_PATH(exported) /epoc32/include/app/##exported
   208 #endif
   209 
   210 /**
   211 * ---------------------------------------
   212 * Location, where the applications layer specific platform headers should be exported
   213 * See usage on top of this hrh-file.
   214 * ---------------------------------------
   215 */
   216 #if __GNUC__ >= 3
   217 #define APP_LAYER_DOMAIN_EXPORT_PATH(exported) do not use intentionally generates error
   218 #define APP_LAYER_PLATFORM_EXPORT_PATH(exported) /epoc32/include/platform/app/exported
   219 #else
   220 #define APP_LAYER_DOMAIN_EXPORT_PATH(exported) do not use intentionally generates error
   221 #define APP_LAYER_PLATFORM_EXPORT_PATH(exported) /epoc32/include/platform/app/##exported
   222 #endif
   223 
   224 /**
   225 * ---------------------------------------
   226 * Location, where the middleware layer specific public headers should be exported
   227 * See usage on top of this hrh-file.
   228 * ---------------------------------------
   229 */
   230 #if __GNUC__ >= 3
   231 #define MW_LAYER_SDK_EXPORT_PATH(exported) do not use intentionally generates error
   232 #define MW_LAYER_PUBLIC_EXPORT_PATH(exported) /epoc32/include/mw/exported
   233 #else
   234 #define MW_LAYER_SDK_EXPORT_PATH(exported) do not use intentionally generates error
   235 #define MW_LAYER_PUBLIC_EXPORT_PATH(exported) /epoc32/include/mw/##exported
   236 #endif
   237 
   238 /**
   239 * ---------------------------------------
   240 * Location, where the middleware layer specific platform headers should be exported
   241 * ---------------------------------------
   242 */
   243 #if __GNUC__ >= 3
   244 #define MW_LAYER_DOMAIN_EXPORT_PATH(exported) do not use intentionally generates error
   245 #define MW_LAYER_PLATFORM_EXPORT_PATH(exported) /epoc32/include/platform/mw/exported
   246 #else
   247 #define MW_LAYER_DOMAIN_EXPORT_PATH(exported) do not use intentionally generates error
   248 #define MW_LAYER_PLATFORM_EXPORT_PATH(exported) /epoc32/include/platform/mw/##exported
   249 #endif
   250 
   251 /**
   252 * ---------------------------------------
   253 * Location, where the os layer specific public headers should be exported
   254 * ---------------------------------------
   255 */
   256 #if __GNUC__ >= 3
   257 #define  OSEXT_LAYER_SDK_EXPORT_PATH(exported) do not use intentionally generates error
   258 #define  OS_LAYER_PUBLIC_EXPORT_PATH(exported) /epoc32/include/exported
   259 #else
   260 #define  OSEXT_LAYER_SDK_EXPORT_PATH(exported) do not use intentionally generates error
   261 #define  OS_LAYER_PUBLIC_EXPORT_PATH(exported) /epoc32/include/##exported
   262 #endif
   263 
   264 /**
   265 * ---------------------------------------
   266 * Location, where the os specific platform headers should be exported
   267 * ---------------------------------------
   268 */
   269 #if __GNUC__ >= 3
   270 #define OSEXT_LAYER_DOMAIN_EXPORT_PATH(exported) do not use intentionally generates error
   271 #define OS_LAYER_PLATFORM_EXPORT_PATH(exported) /epoc32/include/platform/exported
   272 #else
   273 #define OSEXT_LAYER_DOMAIN_EXPORT_PATH(exported) do not use intentionally generates error
   274 #define OS_LAYER_PLATFORM_EXPORT_PATH(exported) /epoc32/include/platform/##exported
   275 #endif
   276 
   277 /**
   278 * ---------------------------------------
   279 * Location, where the  cenrep excel sheets should be exported
   280 * Deprecated: should no longer be used. Kept for compability.
   281 * ---------------------------------------
   282 */
   283 #if __GNUC__ >= 3
   284 #define CENREP_XLS_EXPORT_PATH(exported) /epoc32/tools/cenrep/data/src/exported
   285 #else
   286 #define CENREP_XLS_EXPORT_PATH(exported) /epoc32/tools/cenrep/data/src/##exported
   287 #endif
   288 
   289 /**
   290 **************************************************************************
   291 *  General comments about the 3 define statements related to include paths:
   292 *  1) the /epoc32/include/oem is now defined there for backward compability.
   293 *     Once the directory is empty, the directory will be removed. However this 
   294 *     enables us to ensure that if you use these define statements => you do 
   295 *     not have to remove the statements later on, when the directory no longer 
   296 *     exists.
   297 *  2) These statements should be enough in normal cases. For certain specific 
   298 *     cases you migth need to add some specific directory from /epoc32/include
   299 *     (for instance /epoc32/include/ecom).
   300 *     In normal cases the include staments in code should be relative to one of 
   301 *     the system include paths, but in certain cases, the included files requires
   302 *     that the subdirectory is also part of the system include paths.
   303 ****************************************************************************
   304 */
   305 
   306 /**
   307 * This define statements defines the SYSTEMINCLUDE-line, which is intended to be 
   308 * used in the mmp-files that are part of the applications-layer. It includes all 
   309 * the needed directories from the /epoc32/include, that are valid ones for the 
   310 * application-layer components. 
   311 *
   312 * Applications layer is the last one in the list, since most likely the most of 
   313 * the headers come from middleware or os-layer  => thus they are first.
   314 */
   315 #define APP_LAYER_SYSTEMINCLUDE SYSTEMINCLUDE \
   316  /epoc32/include \
   317  /epoc32/include/mw \
   318  /epoc32/include/platform/mw \
   319  /epoc32/include/platform \
   320  /epoc32/include/app \
   321  /epoc32/include/platform/app \
   322  /epoc32/include/platform/loc \
   323  /epoc32/include/platform/mw/loc \
   324  /epoc32/include/platform/app/loc \
   325  /epoc32/include/platform/loc/sc \
   326  /epoc32/include/platform/mw/loc/sc \
   327  /epoc32/include/platform/app/loc/sc
   328  
   329 /**
   330 * This define statements defines the SYSTEMINCLUDE-line, which is intended to be
   331 * used in the mmp-files that are part of the middleware-layer. It includes all 
   332 * the needed directories from the /epoc32/include, that are valid ones for the 
   333 * middleware-layer components. 
   334 */
   335 #define MW_LAYER_SYSTEMINCLUDE SYSTEMINCLUDE \
   336  /epoc32/include \
   337  /epoc32/include/mw \
   338  /epoc32/include/platform/mw \
   339  /epoc32/include/platform \
   340  /epoc32/include/platform/loc \
   341  /epoc32/include/platform/mw/loc \
   342  /epoc32/include/platform/loc/sc \
   343  /epoc32/include/platform/mw/loc/sc
   344 
   345 /**
   346 * This define statements defines the SYSTEMINCLUDE-line, which is intended to be
   347 * used in the mmp-files that are part of the  osextensions-layer. It includes all
   348 * the needed directories from the /epoc32/include, that are valid ones for the
   349 * os-layer components. 
   350 */
   351 #define OS_LAYER_SYSTEMINCLUDE SYSTEMINCLUDE \
   352  /epoc32/include \
   353  /epoc32/include/platform \
   354  /epoc32/include/platform/loc \
   355  /epoc32/include/platform/loc/sc
   356 
   357 // Below statement is Deprecated and the OS_LAYER_SYSTEMINCLUDE-macro has to be
   358 // used.
   359 // Removed, use teh OS_LAYER_SYSTEMINCLUDE instead.
   360 // #define OSEXT_LAYER_SYSTEMINCLUDE OS_LAYER_SYSTEMINCLUDE
   361 
   362 /**
   363 * This define statements defines the SYSTEMINCLUDE-line, which is intended to be
   364 * used in the mmp-files that are part of the os-layer. This is intended 
   365 * to be only used by those components which need to use in their mmp-file either
   366 * kern_ext.mmh or nkern_ext.mmh. Reason is that those
   367 * 2 files already contain the /epoc32/include  as system include path.
   368 * 
   369 */
   370 #define OS_LAYER_KERNEL_SYSTEMINCLUDE SYSTEMINCLUDE \
   371  /epoc32/include/platform
   372 
   373 // Below statement is Deprecated and the OS_LAYER_KERNEL_SYSTEMINCLUDE-macro 
   374 // has to be used.
   375 // Removed, use the OS_LAYER_KERNER_SYSTEMINCLUDE instead.
   376 // #define OSEXT_LAYER_KERNEL_SYSTEMINCLUDE OS_LAYER_KERNEL_SYSTEMINCLUDE
   377 
   378 /**
   379 ****************************************************************************
   380 * Definitions that also define the systeminclude paths for various
   381 * part of stdapis. Each statement has to be in its own line in the using
   382 * mmp-file. There are be more than 1 statement in single mmp-file.
   383 ****************************************************************************
   384 */
   385 #define OS_LAYER_LIBC_SYSTEMINCLUDE SYSTEMINCLUDE  OS_LAYER_PUBLIC_EXPORT_PATH(stdapis)
   386 
   387 #define OS_LAYER_GLIB_SYSTEMINCLUDE SYSTEMINCLUDE  OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/glib-2.0) \
   388                                                    OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/glib-2.0/glib) \
   389                                                    OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/glib-2.0/gobject)
   390 
   391 
   392 #define OS_LAYER_SSL_SYSTEMINCLUDE SYSTEMINCLUDE   OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/openssl)
   393                   
   394 #define OS_LAYER_STDCPP_SYSTEMINCLUDE SYSTEMINCLUDE  OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/stlport) 
   395 
   396 #define OS_LAYER_BOOST_SYSTEMINCLUDE SYSTEMINCLUDE   OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/boost)
   397 
   398 #define OS_LAYER_DBUS_SYSTEMINCLUDE SYSTEMINCLUDE    OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/dbus-1.0) \
   399                                                      OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/dbus-1.0/dbus)
   400 #define OS_LAYER_LIBUTILITY_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PLATFORM_EXPORT_PATH(stdapis/utility)
   401 
   402 #define OS_LAYER_LIBOIL_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PLATFORM_EXPORT_PATH(stdapis/liboil)
   403 
   404 #define MW_LAYER_GSTREAMER_SYSTEMINCLUDE SYSTEMINCLUDE \
   405  /epoc32/include/platform/mw/gstreamer/10_18 \
   406  /epoc32/include/platform/mw/gstreamer/10_18/gst \
   407  /epoc32/include/platform/mw/gstreamer/10_18/gst/gstcontroller \
   408  /epoc32/include/stdapis/machine
   409 
   410 // You need to add STLLIB_USAGE_DEFINITIONS as a separate line into your mmp-file, if you are using
   411 // the stllib. 
   412 #define STLLIB_USAGE_DEFINITIONS OPTION CW -wchar_t on\
   413         MACRO _WCHAR_T_DECLARED
   414 
   415 
   416 /**
   417 ****************************************************************************
   418 * Definitions that also define the paths to the layer specific source directories.
   419 ****************************************************************************
   420 */
   421 /**
   422 * The below 3 macros define the paths to the layer-specific source dirs.
   423 * See usage on top of this hrh-file, these are used the same way as 
   424 * for instance the OS_LAYER_DOMAIN_EXPORT_PATH
   425 * Deprecated: is not allowed to be using in Symbian Foundation
   426 */
   427 #if __GNUC__ >= 3
   428 #define APP_LAYER_SOURCE_PATH(rest)    do not use intentionally generates error in export
   429 #define MW_LAYER_SOURCE_PATH(rest)     do not use intentionally generates error in export
   430 #define OSEXT_LAYER_SOURCE_PATH(rest)  do not use intentionally generates error in export
   431 #else
   432 #define APP_LAYER_SOURCE_PATH(rest)    do not use intentionally generates error in export
   433 #define MW_LAYER_SOURCE_PATH(rest)     do not use intentionally generates error in export
   434 #define OSEXT_LAYER_SOURCE_PATH(rest)  do not use intentionally generates error in export
   435 #endif
   436 
   437 /**
   438 ****************************************************************************
   439 * Definitions to export IBY files to different folders where they will be taken 
   440 * to ROM image
   441 ****************************************************************************
   442 */
   443 
   444 // Following three definitions are used for exporting IBY files to 
   445 // Core image (ROM+ROFS1). IBY files are exported according to their layer.
   446 #if __GNUC__ >= 3
   447 #define CORE_APP_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/core/app/exported
   448 #define CORE_MW_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/core/mw/exported
   449 #define CORE_OSEXT_LAYER_IBY_EXPORT_PATH(exported) do not use intentionally generates error
   450 #define CORE_OS_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/core/os/exported
   451 #define CORE_ADAPT_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/exported
   452 #else
   453 #define CORE_APP_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/core/app/##exported
   454 #define CORE_MW_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/core/mw/##exported
   455 #define CORE_OSEXT_LAYER_IBY_EXPORT_PATH(exported) do not use intentionally generates error
   456 #define CORE_OS_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/core/os/##exported
   457 #define CORE_ADAPT_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/##exported
   458 #endif
   459 
   460 // Following three definitions are used for exporting IBY files to Variant image, 
   461 // Language part (ROFS2). IBY files are exported according to their layer.
   462 #if __GNUC__ >= 3
   463 #define LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/language/app/exported
   464 #define LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/language/mw/exported
   465 #define LANGUAGE_OSEXT_LAYER_IBY_EXPORT_PATH(exported) do not use intentionally generates error
   466 #define LANGUAGE_OS_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/language/os/exported
   467 #else
   468 #define LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/language/app/##exported
   469 #define LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/language/mw/##exported
   470 #define LANGUAGE_OSEXT_LAYER_IBY_EXPORT_PATH(exported) do not use intentionally generates error
   471 #define LANGUAGE_OS_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/language/os/##exported
   472 #endif
   473 
   474 // Following three definitions are used for exporting IBY files to Variant image, (ROFS2). 
   475 // BY files are exported according to their layer.
   476 #if __GNUC__ >= 3
   477 #define CUSTOMER_APP_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/customer/app/exported
   478 #define CUSTOMER_MW_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/customer/mw/exported
   479 #define CUSTOMER_OSEXT_LAYER_IBY_EXPORT_PATH(exported) do not use intentionally generates error
   480 #define CUSTOMER_OS_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/customer/os/exported
   481 #else
   482 #define CUSTOMER_APP_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/customer/app/##exported
   483 #define CUSTOMER_MW_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/customer/mw/##exported
   484 #define CUSTOMER_OSEXT_LAYER_IBY_EXPORT_PATH(exported) do not use intentionally generates error
   485 #define CUSTOMER_OS_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/customer/os/##exported
   486 #endif
   487 
   488 // Following three definitions are used for exporting IBY files to 
   489 // Variant Customer part, (ROFS3). IBY files are exported according to 
   490 // their layer.
   491 #if __GNUC__ >= 3
   492 #define CUSTOMER_VARIANT_APP_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/customervariant/app/exported
   493 #define CUSTOMER_VARIANT_MW_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/customervariant/mw/exported
   494 #define CUSTOMER_VARIANT_OSEXT_LAYER_IBY_EXPORT_PATH(exported) do not use intentionally generates error
   495 #define CUSTOMER_VARIANT_OS_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/customervariant/os/exported
   496 #else
   497 #define CUSTOMER_VARIANT_APP_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/customervariant/app/##exported
   498 #define CUSTOMER_VARIANT_MW_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/customervariant/mw/##exported
   499 #define CUSTOMER_VARIANT_OSEXT_LAYER_IBY_EXPORT_PATH(exported) do not use intentionally generates error
   500 #define CUSTOMER_VARIANT_OS_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/customervariant/os/##exported
   501 #endif
   502 
   503 
   504 // Following definition is used for exporting tools and stubs IBY files to 
   505 // Core image.
   506 #if __GNUC__ >= 3
   507 #define CORE_IBY_EXPORT_PATH(path,exported)  /epoc32/rom/include/core/path/exported
   508 #else
   509 #define CORE_IBY_EXPORT_PATH(path,exported)  /epoc32/rom/include/core/##path##/##exported
   510 #endif
   511 
   512 /**
   513 * ---------------------------------------
   514 * Location, where the localization .loc file should be exported
   515 * ---------------------------------------
   516 */
   517 // Location, where the os layer localization .loc file should be 
   518 // exported
   519 #if __GNUC__ >= 3
   520 // Deprecated: use the OS_LAYER_LOC_EXPORT_PATH instead
   521 #define OSEXT_LAYER_LOC_EXPORT_PATH(exported) do not use intentionally generates error
   522 #define OS_LAYER_LOC_EXPORT_PATH(exported) /epoc32/include/platform/loc/sc/exported
   523 
   524 // Location, where the middleware layer localization .loc file should be 
   525 // exported
   526 #define MW_LAYER_LOC_EXPORT_PATH(exported) /epoc32/include/platform/mw/loc/sc/exported
   527 
   528 // Location, where the application layer localization .loc file should be 
   529 // exported
   530 #define APP_LAYER_LOC_EXPORT_PATH(exported) /epoc32/include/platform/app/loc/sc/exported
   531 
   532 #else
   533 
   534 // Deprecated: use the OS_LAYER_LOC_EXPORT_PATH instead
   535 #define OSEXT_LAYER_LOC_EXPORT_PATH(exported) do not use intentionally generates error
   536 #define OS_LAYER_LOC_EXPORT_PATH(exported) /epoc32/include/platform/loc/sc/##exported
   537 
   538 // Location, where the middleware layer localization .loc file should be exported
   539 #define MW_LAYER_LOC_EXPORT_PATH(exported) /epoc32/include/platform/mw/loc/sc/##exported
   540 
   541 // Location, where the application layer localization .loc file should be exported
   542 #define APP_LAYER_LOC_EXPORT_PATH(exported) /epoc32/include/platform/app/loc/sc/##exported
   543 #endif
   544 
   545 /**
   546 * ---------------------------------------
   547 * Macros for Configuration tool migration. 
   548 * The below macros define the location under epoc32, where the confml 
   549 * (Configuration Markup Language) and crml (Central Repository Markup Language) 
   550 * files should be exported.
   551 * ---------------------------------------
   552 */
   553 #if __GNUC__ >= 3
   554 #define CONFML_EXPORT_PATH(file,category)           /epoc32/rom/config/confml_data/category/file
   555 #define CRML_EXPORT_PATH(file,category)             /epoc32/rom/config/confml_data/category/file
   556 #define GCFML_EXPORT_PATH(file,category)            /epoc32/rom/config/confml_data/category/file
   557 #define CONFML_CONFIG_EXPORT_PATH(file,category)    /epoc32/rom/config/confml_data/category/config/file
   558 #else
   559 #define CONFML_EXPORT_PATH(file,category)           /epoc32/rom/config/confml_data/##category##/##file
   560 #define CRML_EXPORT_PATH(file,category)             /epoc32/rom/config/confml_data/##category##/##file
   561 #define GCFML_EXPORT_PATH(file,category)            /epoc32/rom/config/confml_data/##category##/##file
   562 #define CONFML_CONFIG_EXPORT_PATH(file,category)    /epoc32/rom/config/confml_data/##category##/config/##file
   563 #endif
   564 
   565 #define APP_LAYER_CONFML(exported)                  CONFML_EXPORT_PATH(exported,s60)
   566 #define APP_LAYER_CRML(exported)                    CRML_EXPORT_PATH(exported,s60)
   567 #define APP_LAYER_GCFML(exported)                   GCFML_EXPORT_PATH(exported,s60)
   568 #define APP_LAYER_CONFML_CONFIG(exported)           CONFML_CONFIG_EXPORT_PATH(exported,s60)
   569                                                     
   570 #define MW_LAYER_CONFML(exported)                   CONFML_EXPORT_PATH(exported,s60)
   571 #define MW_LAYER_CRML(exported)                     CRML_EXPORT_PATH(exported,s60)
   572 #define MW_LAYER_GCFML(exported)                    GCFML_EXPORT_PATH(exported,s60)
   573 #define MW_LAYER_CONFML_CONFIG(exported)            CONFML_CONFIG_EXPORT_PATH(exported,s60)
   574        
   575 // Deprecate: Use the OS_LAYER_* macros instead of OSEXT_LAYER_*                                             
   576 #define OSEXT_LAYER_CONFML(exported)                do not use intentionally generates error
   577 #define OSEXT_LAYER_CRML(exported)                  do not use intentionally generates error
   578 #define OSEXT_LAYER_GCFML(exported)                 do not use intentionally generates error
   579 #define OSEXT_LAYER_CONFML_CONFIG(exported)         do not use intentionally generates error
   580 #define OS_LAYER_CONFML(exported)                   CONFML_EXPORT_PATH(exported,s60)
   581 #define OS_LAYER_CRML(exported)                     CRML_EXPORT_PATH(exported,s60)
   582 #define OS_LAYER_GCFML(exported)                    GCFML_EXPORT_PATH(exported,s60)
   583 #define OS_LAYER_CONFML_CONFIG(exported)            CONFML_CONFIG_EXPORT_PATH(exported,s60)
   584 
   585 #endif  // end of PLATFORM_PATHS_HRH