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