2 * Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
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".
9 * Initial Contributors:
10 * Nokia Corporation - initial contribution.
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.
19 * There is also macros to be used in the bld.inf-files to
20 * export of Public and Platform headers into
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
32 * ---------------------------------------------
34 * #include <platform_paths.hrh>
36 * *************************************************************
37 * * MMP file related macro usages to add the system include paths
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
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
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
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
68 * *************************************************************
69 * * Macros related to exporting Public and Platform APIs into
70 * * correct place in the new system.
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
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
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
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)
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
105 * *************************************************************
106 * * Macros related to IBY file exporting
107 * *************************************************************
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
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>)
124 * <somepath>/<file4.iby> CORE_IBY_EXPORT_PATH(stubs,<file4.iby>)
126 * <somepath>/<file5.iby> CORE_IBY_EXPORT_PATH(tools,<file5.iby>)
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>)
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>)
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>)
156 * *************************************************************
157 * * Macro related to Exporting localization .loc files into
158 * * correct place in the system.
159 * *************************************************************
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
168 * loc files that should be localized by localisation team should be in
169 * loc-folder in the source tree (see developer guidelines)
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)
183 #ifndef PLATFORM_PATHS_HRH
184 #define PLATFORM_PATHS_HRH
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 ***************************************************************************
196 * ---------------------------------------
197 * Location, where the applications layer specific public headers should be exported
198 * See usage on top of this hrh-file.
199 * ---------------------------------------
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
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
211 * ---------------------------------------
212 * Location, where the applications layer specific platform headers should be exported
213 * See usage on top of this hrh-file.
214 * ---------------------------------------
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
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
225 * ---------------------------------------
226 * Location, where the middleware layer specific public headers should be exported
227 * See usage on top of this hrh-file.
228 * ---------------------------------------
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
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
239 * ---------------------------------------
240 * Location, where the middleware layer specific platform headers should be exported
241 * ---------------------------------------
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
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
252 * ---------------------------------------
253 * Location, where the os layer specific public headers should be exported
254 * ---------------------------------------
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
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
265 * ---------------------------------------
266 * Location, where the os specific platform headers should be exported
267 * ---------------------------------------
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
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
278 * ---------------------------------------
279 * Location, where the cenrep excel sheets should be exported
280 * Deprecated: should no longer be used. Kept for compability.
281 * ---------------------------------------
284 #define CENREP_XLS_EXPORT_PATH(exported) /epoc32/tools/cenrep/data/src/exported
286 #define CENREP_XLS_EXPORT_PATH(exported) /epoc32/tools/cenrep/data/src/##exported
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
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 ****************************************************************************
307 * Delete or comment out this macro definition to turn on header relocation.
309 //#define SYMBIAN_OLD_EXPORT_LOCATION
313 * This define statements defines the SYSTEMINCLUDE-line, which is intended to be
314 * used in the mmp-files that are part of the applications-layer. It includes all
315 * the needed directories from the /epoc32/include, that are valid ones for the
316 * application-layer components.
318 * Applications layer is the last one in the list, since most likely the most of
319 * the headers come from middleware or os-layer => thus they are first.
321 #define APP_LAYER_SYSTEMINCLUDE SYSTEMINCLUDE \
324 /epoc32/include/platform/mw \
325 /epoc32/include/platform \
326 /epoc32/include/app \
327 /epoc32/include/platform/app \
328 /epoc32/include/platform/loc \
329 /epoc32/include/platform/mw/loc \
330 /epoc32/include/platform/app/loc \
331 /epoc32/include/platform/loc/sc \
332 /epoc32/include/platform/mw/loc/sc \
333 /epoc32/include/platform/app/loc/sc
335 #ifdef SYMBIAN_OLD_EXPORT_LOCATION
336 #define APP_LAYER_SYSTEMINCLUDE_SYMBIAN SYSTEMINCLUDE \
338 /epoc32/include/platform
340 #define APP_LAYER_SYSTEMINCLUDE_SYMBIAN SYSTEMINCLUDE \
343 /epoc32/include/platform/mw \
344 /epoc32/include/platform \
345 /epoc32/include/app \
346 /epoc32/include/platform/app
349 /epoc32/include/platform/loc \
350 /epoc32/include/platform/mw/loc \
351 /epoc32/include/platform/app/loc \
352 /epoc32/include/platform/loc/sc \
353 /epoc32/include/platform/mw/loc/sc \
354 /epoc32/include/platform/app/loc/sc
358 * This define statements defines the SYSTEMINCLUDE-line, which is intended to be
359 * used in the mmp-files that are part of the middleware-layer. It includes all
360 * the needed directories from the /epoc32/include, that are valid ones for the
361 * middleware-layer components.
363 #define MW_LAYER_SYSTEMINCLUDE SYSTEMINCLUDE \
366 /epoc32/include/platform/mw \
367 /epoc32/include/platform \
368 /epoc32/include/platform/loc \
369 /epoc32/include/platform/mw/loc \
370 /epoc32/include/platform/loc/sc \
371 /epoc32/include/platform/mw/loc/sc
373 #ifdef SYMBIAN_OLD_EXPORT_LOCATION
374 #define MW_LAYER_SYSTEMINCLUDE_SYMBIAN SYSTEMINCLUDE \
376 /epoc32/include/platform
378 #define MW_LAYER_SYSTEMINCLUDE_SYMBIAN SYSTEMINCLUDE \
381 /epoc32/include/platform/mw \
382 /epoc32/include/platform
385 /epoc32/include/platform/loc \
386 /epoc32/include/platform/mw/loc \
387 /epoc32/include/platform/loc/sc \
388 /epoc32/include/platform/mw/loc/sc
392 * This define statements defines the SYSTEMINCLUDE-line, which is intended to be
393 * used in the mmp-files that are part of the osextensions-layer. It includes all
394 * the needed directories from the /epoc32/include, that are valid ones for the
395 * os-layer components.
397 #define OS_LAYER_SYSTEMINCLUDE SYSTEMINCLUDE \
399 /epoc32/include/platform \
400 /epoc32/include/platform/loc \
401 /epoc32/include/platform/loc/sc
403 #ifdef SYMBIAN_OLD_EXPORT_LOCATION
404 #define OS_LAYER_SYSTEMINCLUDE_SYMBIAN SYSTEMINCLUDE \
406 /epoc32/include/platform
408 #define OS_LAYER_SYSTEMINCLUDE_SYMBIAN SYSTEMINCLUDE \
410 /epoc32/include/platform
413 /epoc32/include/platform/loc \
414 /epoc32/include/platform/loc/sc
417 // Below statement is Deprecated and the OS_LAYER_SYSTEMINCLUDE-macro has to be
419 // Removed, use teh OS_LAYER_SYSTEMINCLUDE instead.
420 // #define OSEXT_LAYER_SYSTEMINCLUDE OS_LAYER_SYSTEMINCLUDE
423 * This define statements defines the SYSTEMINCLUDE-line, which is intended to be
424 * used in the mmp-files that are part of the os-layer. This is intended
425 * to be only used by those components which need to use in their mmp-file either
426 * kern_ext.mmh or nkern_ext.mmh. Reason is that those
427 * 2 files already contain the /epoc32/include as system include path.
430 #define OS_LAYER_KERNEL_SYSTEMINCLUDE SYSTEMINCLUDE \
431 /epoc32/include/platform
433 // Below statement is Deprecated and the OS_LAYER_KERNEL_SYSTEMINCLUDE-macro
435 // Removed, use the OS_LAYER_KERNER_SYSTEMINCLUDE instead.
436 // #define OSEXT_LAYER_KERNEL_SYSTEMINCLUDE OS_LAYER_KERNEL_SYSTEMINCLUDE
439 ****************************************************************************
440 * Definitions that also define the systeminclude paths for various
441 * part of stdapis. Each statement has to be in its own line in the using
442 * mmp-file. There are be more than 1 statement in single mmp-file.
443 ****************************************************************************
445 #define OS_LAYER_LIBC_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(stdapis)
447 #define OS_LAYER_GLIB_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/glib-2.0) \
448 OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/glib-2.0/glib) \
449 OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/glib-2.0/gobject)
452 #define OS_LAYER_SSL_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/openssl)
454 #define OS_LAYER_STDCPP_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/stlport)
456 #define OS_LAYER_BOOST_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/boost)
458 #define OS_LAYER_DBUS_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/dbus-1.0) \
459 OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/dbus-1.0/dbus)
460 #define OS_LAYER_LIBUTILITY_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PLATFORM_EXPORT_PATH(stdapis/utility)
462 #define OS_LAYER_LIBOIL_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PLATFORM_EXPORT_PATH(stdapis/liboil)
464 #define MW_LAYER_GSTREAMER_SYSTEMINCLUDE SYSTEMINCLUDE \
465 /epoc32/include/platform/mw/gstreamer/10_18 \
466 /epoc32/include/platform/mw/gstreamer/10_18/gst \
467 /epoc32/include/platform/mw/gstreamer/10_18/gst/gstcontroller \
468 /epoc32/include/stdapis/machine
470 // You need to add STLLIB_USAGE_DEFINITIONS as a separate line into your mmp-file, if you are using
472 #define STLLIB_USAGE_DEFINITIONS OPTION CW -wchar_t on\
473 MACRO _WCHAR_T_DECLARED
477 * Symbian systeminclude macros for standard APIs.
479 #define OS_LAYER_ESTLIB_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(libc)
481 #define OS_LAYER_STLPORTV5_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/stlportv5)
483 #define OS_LAYER_LIBXML2_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/libxml2)
487 ****************************************************************************
488 * Definitions that also define the paths to the layer specific source directories.
489 ****************************************************************************
492 * The below 3 macros define the paths to the layer-specific source dirs.
493 * See usage on top of this hrh-file, these are used the same way as
494 * for instance the OS_LAYER_DOMAIN_EXPORT_PATH
495 * Deprecated: is not allowed to be using in Symbian Foundation
498 #define APP_LAYER_SOURCE_PATH(rest) do not use intentionally generates error in export
499 #define MW_LAYER_SOURCE_PATH(rest) do not use intentionally generates error in export
500 #define OSEXT_LAYER_SOURCE_PATH(rest) do not use intentionally generates error in export
502 #define APP_LAYER_SOURCE_PATH(rest) do not use intentionally generates error in export
503 #define MW_LAYER_SOURCE_PATH(rest) do not use intentionally generates error in export
504 #define OSEXT_LAYER_SOURCE_PATH(rest) do not use intentionally generates error in export
508 ****************************************************************************
509 * Definitions to export IBY files to different folders where they will be taken
511 ****************************************************************************
514 // Following three definitions are used for exporting IBY files to
515 // Core image (ROM+ROFS1). IBY files are exported according to their layer.
517 #define CORE_APP_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/core/app/exported
518 #define CORE_MW_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/core/mw/exported
519 #define CORE_OSEXT_LAYER_IBY_EXPORT_PATH(exported) do not use intentionally generates error
520 #define CORE_OS_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/core/os/exported
521 #define CORE_ADAPT_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/exported
523 #define CORE_APP_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/core/app/##exported
524 #define CORE_MW_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/core/mw/##exported
525 #define CORE_OSEXT_LAYER_IBY_EXPORT_PATH(exported) do not use intentionally generates error
526 #define CORE_OS_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/core/os/##exported
527 #define CORE_ADAPT_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/##exported
530 // Following three definitions are used for exporting IBY files to Variant image,
531 // Language part (ROFS2). IBY files are exported according to their layer.
533 #define LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/language/app/exported
534 #define LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/language/mw/exported
535 #define LANGUAGE_OSEXT_LAYER_IBY_EXPORT_PATH(exported) do not use intentionally generates error
536 #define LANGUAGE_OS_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/language/os/exported
538 #define LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/language/app/##exported
539 #define LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/language/mw/##exported
540 #define LANGUAGE_OSEXT_LAYER_IBY_EXPORT_PATH(exported) do not use intentionally generates error
541 #define LANGUAGE_OS_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/language/os/##exported
544 // Following three definitions are used for exporting IBY files to Variant image, (ROFS2).
545 // BY files are exported according to their layer.
547 #define CUSTOMER_APP_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/customer/app/exported
548 #define CUSTOMER_MW_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/customer/mw/exported
549 #define CUSTOMER_OSEXT_LAYER_IBY_EXPORT_PATH(exported) do not use intentionally generates error
550 #define CUSTOMER_OS_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/customer/os/exported
552 #define CUSTOMER_APP_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/customer/app/##exported
553 #define CUSTOMER_MW_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/customer/mw/##exported
554 #define CUSTOMER_OSEXT_LAYER_IBY_EXPORT_PATH(exported) do not use intentionally generates error
555 #define CUSTOMER_OS_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/customer/os/##exported
558 // Following three definitions are used for exporting IBY files to
559 // Variant Customer part, (ROFS3). IBY files are exported according to
562 #define CUSTOMER_VARIANT_APP_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/customervariant/app/exported
563 #define CUSTOMER_VARIANT_MW_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/customervariant/mw/exported
564 #define CUSTOMER_VARIANT_OSEXT_LAYER_IBY_EXPORT_PATH(exported) do not use intentionally generates error
565 #define CUSTOMER_VARIANT_OS_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/customervariant/os/exported
567 #define CUSTOMER_VARIANT_APP_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/customervariant/app/##exported
568 #define CUSTOMER_VARIANT_MW_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/customervariant/mw/##exported
569 #define CUSTOMER_VARIANT_OSEXT_LAYER_IBY_EXPORT_PATH(exported) do not use intentionally generates error
570 #define CUSTOMER_VARIANT_OS_LAYER_IBY_EXPORT_PATH(exported) /epoc32/rom/include/customervariant/os/##exported
574 // Following definition is used for exporting tools and stubs IBY files to
577 #define CORE_IBY_EXPORT_PATH(path,exported) /epoc32/rom/include/core/path/exported
579 #define CORE_IBY_EXPORT_PATH(path,exported) /epoc32/rom/include/core/##path##/##exported
583 * ---------------------------------------
584 * Location, where the localization .loc file should be exported
585 * ---------------------------------------
587 // Location, where the os layer localization .loc file should be
590 // Deprecated: use the OS_LAYER_LOC_EXPORT_PATH instead
591 #define OSEXT_LAYER_LOC_EXPORT_PATH(exported) do not use intentionally generates error
592 #define OS_LAYER_LOC_EXPORT_PATH(exported) /epoc32/include/platform/loc/sc/exported
594 // Location, where the middleware layer localization .loc file should be
596 #define MW_LAYER_LOC_EXPORT_PATH(exported) /epoc32/include/platform/mw/loc/sc/exported
598 // Location, where the application layer localization .loc file should be
600 #define APP_LAYER_LOC_EXPORT_PATH(exported) /epoc32/include/platform/app/loc/sc/exported
604 // Deprecated: use the OS_LAYER_LOC_EXPORT_PATH instead
605 #define OSEXT_LAYER_LOC_EXPORT_PATH(exported) do not use intentionally generates error
606 #define OS_LAYER_LOC_EXPORT_PATH(exported) /epoc32/include/platform/loc/sc/##exported
608 // Location, where the middleware layer localization .loc file should be exported
609 #define MW_LAYER_LOC_EXPORT_PATH(exported) /epoc32/include/platform/mw/loc/sc/##exported
611 // Location, where the application layer localization .loc file should be exported
612 #define APP_LAYER_LOC_EXPORT_PATH(exported) /epoc32/include/platform/app/loc/sc/##exported
616 * ---------------------------------------
617 * Macros for Configuration tool migration.
618 * The below macros define the location under epoc32, where the confml
619 * (Configuration Markup Language) and crml (Central Repository Markup Language)
620 * files should be exported.
621 * ---------------------------------------
624 #define CONFML_EXPORT_PATH(file,category) /epoc32/rom/config/assets/category/confml/file
625 #define CRML_EXPORT_PATH(file,category) /epoc32/rom/config/assets/category/implml/file
626 #define GCFML_EXPORT_PATH(file,category) /epoc32/rom/config/assets/category/implml/file
627 #define CONFML_CONFIG_EXPORT_PATH(file,category) /epoc32/rom/config/assets/category/confml/file
629 #define CONFML_EXPORT_PATH(file,category) /epoc32/rom/config/assets/##category##/confml/##file
630 #define CRML_EXPORT_PATH(file,category) /epoc32/rom/config/assets/##category##/implml/##file
631 #define GCFML_EXPORT_PATH(file,category) /epoc32/rom/config/assets/##category##/implml/##file
632 #define CONFML_CONFIG_EXPORT_PATH(file,category) /epoc32/rom/config/assets/##category##/confml/##file
635 #define APP_LAYER_CONFML(exported) CONFML_EXPORT_PATH(exported,s60)
636 #define APP_LAYER_CRML(exported) CRML_EXPORT_PATH(exported,s60)
637 #define APP_LAYER_GCFML(exported) GCFML_EXPORT_PATH(exported,s60)
638 #define APP_LAYER_CONFML_CONFIG(exported) CONFML_CONFIG_EXPORT_PATH(exported,s60)
640 #define MW_LAYER_CONFML(exported) CONFML_EXPORT_PATH(exported,s60)
641 #define MW_LAYER_CRML(exported) CRML_EXPORT_PATH(exported,s60)
642 #define MW_LAYER_GCFML(exported) GCFML_EXPORT_PATH(exported,s60)
643 #define MW_LAYER_CONFML_CONFIG(exported) CONFML_CONFIG_EXPORT_PATH(exported,s60)
645 // Deprecate: Use the OS_LAYER_* macros instead of OSEXT_LAYER_*
646 #define OSEXT_LAYER_CONFML(exported) do not use intentionally generates error
647 #define OSEXT_LAYER_CRML(exported) do not use intentionally generates error
648 #define OSEXT_LAYER_GCFML(exported) do not use intentionally generates error
649 #define OSEXT_LAYER_CONFML_CONFIG(exported) do not use intentionally generates error
650 #define OS_LAYER_CONFML(exported) CONFML_EXPORT_PATH(exported,s60)
651 #define OS_LAYER_CRML(exported) CRML_EXPORT_PATH(exported,s60)
652 #define OS_LAYER_GCFML(exported) GCFML_EXPORT_PATH(exported,s60)
653 #define OS_LAYER_CONFML_CONFIG(exported) CONFML_CONFIG_EXPORT_PATH(exported,s60)
655 #define APP_LAYER_EXPORTS_CONFML(exported) CONFML_EXPORT_PATH(exported,symbianos)
656 #define APP_LAYER_EXPORTS_CRML(exported) CRML_EXPORT_PATH(exported,symbianos)
657 #define APP_LAYER_EXPORTS_GCFML(exported) GCFML_EXPORT_PATH(exported,symbianos)
659 #define MW_LAYER_EXPORTS_CONFML(exported) CONFML_EXPORT_PATH(exported,symbianos)
660 #define MW_LAYER_EXPORTS_CRML(exported) CRML_EXPORT_PATH(exported,symbianos)
661 #define MW_LAYER_EXPORTS_GCFML(exported) GCFML_EXPORT_PATH(exported,symbianos)
663 // Deprecate: Use the OS_LAYER_* macros instead of OSEXT_LAYER_*
664 #define OSEXT_LAYER_CONFML(exported) do not use intentionally generates error
665 #define OSEXT_LAYER_CRML(exported) do not use intentionally generates error
666 #define OSEXT_LAYER_GCFML(exported) do not use intentionally generates error
667 #define OSEXT_LAYER_CONFML_CONFIG(exported) do not use intentionally generates error
668 #define OS_LAYER_EXPORTS_CONFML(exported) CONFML_EXPORT_PATH(exported,symbianos)
669 #define OS_LAYER_EXPORTS_CRML(exported) CRML_EXPORT_PATH(exported,symbianos)
670 #define OS_LAYER_EXPORTS_GCFML(exported) GCFML_EXPORT_PATH(exported,symbianos)
673 * Macros to be used in kernel and BSP files to specify systeminclude locations. These macros are necessary
674 * because in some case, the systeminclude location changes based on, e.g., hardware platform.
677 #define SYMBIAN_BASE_SYSTEMINCLUDE(included) SYSTEMINCLUDE SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(included)
678 #define SYMBIAN_NE1_TB_SYSTEMINCLUDE(included) SYSTEMINCLUDE SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(ne1_tb/included)
679 #define SYMBIAN_TIOMAP3_SYSTEMINCLUDE(included) SYSTEMINCLUDE SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(tiomap3/included)
680 #define SYMBIAN_H2_SYSTEMINCLUDE(included) SYSTEMINCLUDE SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(h2/included)
681 #define SYMBIAN_ASSP_SYSTEMINCLUDE(included) SYSTEMINCLUDE SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(assp/included)
682 #define SYMBIAN_OMAP_HRP_SYSTEMINCLUDE(included) SYSTEMINCLUDE SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(omap_hrp/included)
683 #define SYMBIAN_WINS_SYSTEMINCLUDE(included) SYSTEMINCLUDE SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(wins/included)
684 #define SYMBIAN_8500ED_SYSTEMINCLUDE(included) SYSTEMINCLUDE SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(included)
685 #define SYMBIAN_8500_SYSTEMINCLUDE(included) SYSTEMINCLUDE SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(included)
686 #define SYMBIAN_INTERNAL_SYSTEMINCLUDE(included) SYSTEMINCLUDE SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(internal/included)
687 #define SYMBIAN_CONFIG_SYSTEMINCLUDE(included) SYSTEMINCLUDE SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(included)
688 #define SYMBIAN_NDKX_SYSTEMINCLUDE(included) SYSTEMINCLUDE SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(included)
690 #define SYMBIAN_BASE_SYSTEMINCLUDE(included) SYSTEMINCLUDE SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(##included)
691 #define SYMBIAN_NE1_TB_SYSTEMINCLUDE(included) SYSTEMINCLUDE SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(ne1_tb/##included)
692 #define SYMBIAN_TIOMAP3_SYSTEMINCLUDE(included) SYSTEMINCLUDE SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(tiomap3/##included)
693 #define SYMBIAN_H2_SYSTEMINCLUDE(included) SYSTEMINCLUDE SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(h2/##included)
694 #define SYMBIAN_ASSP_SYSTEMINCLUDE(included) SYSTEMINCLUDE SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(assp/##included)
695 #define SYMBIAN_OMAP_HRP_SYSTEMINCLUDE(included) SYSTEMINCLUDE SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(omap_hrp/##included)
696 #define SYMBIAN_WINS_SYSTEMINCLUDE(included) SYSTEMINCLUDE SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(wins/##included)
697 #define SYMBIAN_8500ED_SYSTEMINCLUDE(included) SYSTEMINCLUDE SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(##included)
698 #define SYMBIAN_8500_SYSTEMINCLUDE(included) SYSTEMINCLUDE SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(##included)
699 #define SYMBIAN_INTERNAL_SYSTEMINCLUDE(included) SYSTEMINCLUDE SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(internal/##included)
700 #define SYMBIAN_CONFIG_SYSTEMINCLUDE(included) SYSTEMINCLUDE SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(##included)
701 #define SYMBIAN_NDKX_SYSTEMINCLUDE(included) SYSTEMINCLUDE SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(##included)
706 * Temporary macros for Symbian exports.
708 #ifdef SYMBIAN_OLD_EXPORT_LOCATION
710 #define SYMBIAN_OS_LAYER_PUBLIC_EXPORT_PATH(exported) OS_LAYER_PUBLIC_EXPORT_PATH(exported)
711 #define SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(exported) OS_LAYER_PUBLIC_EXPORT_PATH(exported)
712 #define SYMBIAN_MW_LAYER_PUBLIC_EXPORT_PATH(exported) OS_LAYER_PUBLIC_EXPORT_PATH(exported)
713 #define SYMBIAN_MW_LAYER_PLATFORM_EXPORT_PATH(exported) OS_LAYER_PUBLIC_EXPORT_PATH(exported)
714 #define SYMBIAN_APP_LAYER_PUBLIC_EXPORT_PATH(exported) OS_LAYER_PUBLIC_EXPORT_PATH(exported)
715 #define SYMBIAN_APP_LAYER_PLATFORM_EXPORT_PATH(exported) OS_LAYER_PUBLIC_EXPORT_PATH(exported)
717 #define SYMBIAN_OS_LAYER_PUBLIC_EXPORT_PATH(exported) OS_LAYER_PUBLIC_EXPORT_PATH(##exported)
718 #define SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(exported) OS_LAYER_PUBLIC_EXPORT_PATH(##exported)
719 #define SYMBIAN_MW_LAYER_PUBLIC_EXPORT_PATH(exported) OS_LAYER_PUBLIC_EXPORT_PATH(##exported)
720 #define SYMBIAN_MW_LAYER_PLATFORM_EXPORT_PATH(exported) OS_LAYER_PUBLIC_EXPORT_PATH(##exported)
721 #define SYMBIAN_APP_LAYER_PUBLIC_EXPORT_PATH(exported) OS_LAYER_PUBLIC_EXPORT_PATH(##exported)
722 #define SYMBIAN_APP_LAYER_PLATFORM_EXPORT_PATH(exported) OS_LAYER_PUBLIC_EXPORT_PATH(##exported)
724 #else // not SYMBIAN_OLD_EXPORT_LOCATION
726 #define SYMBIAN_OS_LAYER_PUBLIC_EXPORT_PATH(exported) OS_LAYER_PUBLIC_EXPORT_PATH(exported)
727 #define SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(exported) OS_LAYER_PLATFORM_EXPORT_PATH(exported)
728 #define SYMBIAN_MW_LAYER_PUBLIC_EXPORT_PATH(exported) MW_LAYER_PUBLIC_EXPORT_PATH(exported)
729 #define SYMBIAN_MW_LAYER_PLATFORM_EXPORT_PATH(exported) MW_LAYER_PLATFORM_EXPORT_PATH(exported)
730 #define SYMBIAN_APP_LAYER_PUBLIC_EXPORT_PATH(exported) APP_LAYER_PUBLIC_EXPORT_PATH(exported)
731 #define SYMBIAN_APP_LAYER_PLATFORM_EXPORT_PATH(exported) APP_LAYER_PLATFORM_EXPORT_PATH(exported)
733 #define SYMBIAN_OS_LAYER_PUBLIC_EXPORT_PATH(exported) OS_LAYER_PUBLIC_EXPORT_PATH(##exported)
734 #define SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(exported) OS_LAYER_PLATFORM_EXPORT_PATH(##exported)
735 #define SYMBIAN_MW_LAYER_PUBLIC_EXPORT_PATH(exported) MW_LAYER_PUBLIC_EXPORT_PATH(##exported)
736 #define SYMBIAN_MW_LAYER_PLATFORM_EXPORT_PATH(exported) MW_LAYER_PLATFORM_EXPORT_PATH(##exported)
737 #define SYMBIAN_APP_LAYER_PUBLIC_EXPORT_PATH(exported) APP_LAYER_PUBLIC_EXPORT_PATH(##exported)
738 #define SYMBIAN_APP_LAYER_PLATFORM_EXPORT_PATH(exported) APP_LAYER_PLATFORM_EXPORT_PATH(##exported)
742 #endif // end of PLATFORM_PATHS_HRH