|
1 # |
|
2 # ============================================================================== |
|
3 # Name : platform_paths.prf |
|
4 # Part of : |
|
5 # Interface : Platform Path Definitions API for Qt/S60 |
|
6 # Description : Symbian^3 and onwards specific platform paths |
|
7 # |
|
8 # Usage examples: |
|
9 # |
|
10 # Note: this file gets automatically added to all Qt/S60 projects |
|
11 # |
|
12 # Variable usages to add the system include paths |
|
13 # |
|
14 # The include paths has to be related to the layer in which your SW |
|
15 # resides. Thus as an example: a component residing in middleware |
|
16 # layer should use the MW specific macro. |
|
17 # |
|
18 # INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE |
|
19 # INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE |
|
20 # INCLUDEPATH += $$OS_LAYER_SYSTEMINCLUDE |
|
21 # |
|
22 # If there is a need to include public headers of some S60 component, |
|
23 # various *_EXPORT_PATH macros can be utilized: |
|
24 # |
|
25 # INCLUDEPATH += $$OS_LAYER_PUBLIC_EXPORT_PATH(somecomponent) |
|
26 # |
|
27 # Variables related to using various parts of stdapis: |
|
28 # |
|
29 # To use STLLIB you need to have this in your pro-file: |
|
30 # |
|
31 # QMAKE_CXXFLAGS.CW *= $$STLLIB_USAGE_CW_FLAGS |
|
32 # DEFINES *= $$STLLIB_USAGE_DEFINES |
|
33 # |
|
34 # Depending on what module you are using from stdapis you need to have |
|
35 # one or more of the following variables in your pro-file. |
|
36 # |
|
37 # INCLUDEPATH += $$OS_LAYER_LIBC_SYSTEMINCLUDE |
|
38 # INCLUDEPATH += $$OS_LAYER_GLIB_SYSTEMINCLUDE |
|
39 # INCLUDEPATH += $$OS_LAYER_SSL_SYSTEMINCLUDE |
|
40 # INCLUDEPATH += $$OS_LAYER_STDCPP_SYSTEMINCLUDE |
|
41 # INCLUDEPATH += $$OS_LAYER_BOOST_SYSTEMINCLUDE |
|
42 # INCLUDEPATH += $$OS_LAYER_DBUS_SYSTEMINCLUDE |
|
43 # INCLUDEPATH += $$OS_LAYER_LIBUTILITY_SYSTEMINCLUDE |
|
44 # |
|
45 # |
|
46 # |
|
47 # |
|
48 # ============================================================================== |
|
49 |
|
50 # --------------------------------------- |
|
51 # Location, where the applications layer specific public headers are exported |
|
52 # --------------------------------------- |
|
53 |
|
54 defineReplace(APP_LAYER_SDK_EXPORT_PATH) { |
|
55 return (/epoc32/include/app/$$1) |
|
56 } |
|
57 defineReplace(APP_LAYER_PUBLIC_EXPORT_PATH) { |
|
58 return (/epoc32/include/app/$$1) |
|
59 } |
|
60 |
|
61 # --------------------------------------- |
|
62 # Location, where the applications layer specific platform headers are exported |
|
63 # --------------------------------------- |
|
64 |
|
65 defineReplace(APP_LAYER_DOMAIN_EXPORT_PATH) { |
|
66 return (/epoc32/include/platform/app/$$1) |
|
67 } |
|
68 defineReplace(APP_LAYER_PLATFORM_EXPORT_PATH) { |
|
69 return (/epoc32/include/platform/app/$$1) |
|
70 } |
|
71 |
|
72 # --------------------------------------- |
|
73 # Location, where the middleware layer specific public headers are exported |
|
74 # --------------------------------------- |
|
75 |
|
76 defineReplace(MW_LAYER_SDK_EXPORT_PATH) { |
|
77 return (/epoc32/include/mw/$$1) |
|
78 } |
|
79 defineReplace(MW_LAYER_PUBLIC_EXPORT_PATH) { |
|
80 return (/epoc32/include/mw/$$1) |
|
81 } |
|
82 |
|
83 # --------------------------------------- |
|
84 # Location, where the middleware layer specific platform headers are exported |
|
85 # --------------------------------------- |
|
86 |
|
87 defineReplace(MW_LAYER_DOMAIN_EXPORT_PATH) { |
|
88 return (/epoc32/include/platform/mw/$$1) |
|
89 } |
|
90 defineReplace(MW_LAYER_PLATFORM_EXPORT_PATH) { |
|
91 return (/epoc32/include/platform/mw/$$1) |
|
92 } |
|
93 |
|
94 # --------------------------------------- |
|
95 # Location, where the os layer specific public headers are exported |
|
96 # --------------------------------------- |
|
97 |
|
98 defineReplace(OSEXT_LAYER_SDK_EXPORT_PATH) { |
|
99 return (/epoc32/include/$$1) |
|
100 } |
|
101 # WARNING: If the following path changes see the exists() function around line 219 |
|
102 defineReplace(OS_LAYER_PUBLIC_EXPORT_PATH) { |
|
103 return (/epoc32/include/$$1) |
|
104 } |
|
105 |
|
106 # --------------------------------------- |
|
107 # Location, where the os specific platform headers are exported |
|
108 # --------------------------------------- |
|
109 |
|
110 defineReplace(OSEXT_LAYER_DOMAIN_EXPORT_PATH) { |
|
111 return (/epoc32/include/platform/$$1) |
|
112 } |
|
113 defineReplace(OS_LAYER_PLATFORM_EXPORT_PATH) { |
|
114 return (/epoc32/include/platform/$$1) |
|
115 } |
|
116 |
|
117 # --------------------------------------- |
|
118 # General comments about the 3 define statements related to include paths: |
|
119 # 1) the /epoc32/include/oem is now defined there for backward compability. |
|
120 # Once the directory is empty, the directory will be removed. However this |
|
121 # enables us to ensure that if you use these define statements => you do |
|
122 # not have to remove the statements later on, when the directory no longer |
|
123 # exists. |
|
124 # 2) These statements should be enough in normal cases. For certain specific |
|
125 # cases you might need to add some specific directory from /epoc32/include |
|
126 # (for instance /epoc32/include/ecom). |
|
127 # In normal cases the include staments in code should be relative to one of |
|
128 # the system include paths, but in certain cases, the included files requires |
|
129 # that the subdirectory is also part of the system include paths. |
|
130 # --------------------------------------- |
|
131 |
|
132 # This variable defines the include paths, which are intended to be |
|
133 # used in the pro-files that are part of the applications-layer. It includes all |
|
134 # the needed directories from the /epoc32/include, that are valid ones for the |
|
135 # application-layer components. |
|
136 # |
|
137 # Applications layer is the last one in the list, since most likely the most of |
|
138 # the headers come from middleware or os-layer => thus they are first. |
|
139 |
|
140 APP_LAYER_SYSTEMINCLUDE = \ |
|
141 /epoc32/include \ |
|
142 /epoc32/include/mw \ |
|
143 /epoc32/include/platform/mw \ |
|
144 /epoc32/include/platform \ |
|
145 /epoc32/include/app \ |
|
146 /epoc32/include/platform/app \ |
|
147 /epoc32/include/platform/loc \ |
|
148 /epoc32/include/platform/mw/loc \ |
|
149 /epoc32/include/platform/app/loc \ |
|
150 /epoc32/include/platform/loc/sc \ |
|
151 /epoc32/include/platform/mw/loc/sc \ |
|
152 /epoc32/include/platform/app/loc/sc |
|
153 |
|
154 # This define statements defines the include paths, which are intended to be |
|
155 # used in the pro-files that are part of the middleware-layer. It includes all |
|
156 # the needed directories from the /epoc32/include, that are valid ones for the |
|
157 # middleware-layer components. |
|
158 |
|
159 MW_LAYER_SYSTEMINCLUDE = \ |
|
160 /epoc32/include \ |
|
161 /epoc32/include/mw \ |
|
162 /epoc32/include/platform/mw \ |
|
163 /epoc32/include/platform \ |
|
164 /epoc32/include/platform/loc \ |
|
165 /epoc32/include/platform/mw/loc \ |
|
166 /epoc32/include/platform/loc/sc \ |
|
167 /epoc32/include/platform/mw/loc/sc |
|
168 |
|
169 # This define statements defines the include paths, which are intended to be |
|
170 # used in the pro-files that are part of the osextensions-layer. It includes all |
|
171 # the needed directories from the /epoc32/include, that are valid ones for the |
|
172 # os-layer components. |
|
173 |
|
174 OS_LAYER_SYSTEMINCLUDE = \ |
|
175 /epoc32/include \ |
|
176 /epoc32/include/platform \ |
|
177 /epoc32/include/platform/loc \ |
|
178 /epoc32/include/platform/loc/sc |
|
179 |
|
180 # This define statements defines the include paths, which are intended to be |
|
181 # used in the pro-files that are part of the os-layer. This is intended |
|
182 # to be only used by those components which need to use in their mmp-file either |
|
183 # kern_ext.mmh or nkern_ext.mmh. Reason is that those |
|
184 # 2 files already contain the /epoc32/include as system include path. |
|
185 |
|
186 OS_LAYER_KERNEL_SYSTEMINCLUDE = \ |
|
187 /epoc32/include/platform |
|
188 |
|
189 |
|
190 # --------------------------------------- |
|
191 # Definitions that also define the systeminclude paths for various |
|
192 # part of stdapis. Append to INCLUDEPATH in pro-file. |
|
193 # --------------------------------------- |
|
194 |
|
195 OS_LAYER_LIBC_SYSTEMINCLUDE = $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis) \ |
|
196 $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/sys) |
|
197 |
|
198 OS_LAYER_GLIB_SYSTEMINCLUDE = $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/glib-2.0) \ |
|
199 $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/glib-2.0/glib) \ |
|
200 $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/glib-2.0/gObject) |
|
201 |
|
202 OS_LAYER_SSL_SYSTEMINCLUDE = $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/openssl) |
|
203 |
|
204 # stlportv5 is preferred over stlport as it has the throwing version of operator new |
|
205 exists($${EPOCROOT}epoc32/include/stdapis/stlport) \ |
|
206 :!exists($${EPOCROOT}epoc32/include/stdapis/stlportv5) { |
|
207 OS_LAYER_STDCPP_SYSTEMINCLUDE = $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/stlport) |
|
208 } else { |
|
209 OS_LAYER_STDCPP_SYSTEMINCLUDE = $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/stlportv5) |
|
210 } |
|
211 |
|
212 OS_LAYER_BOOST_SYSTEMINCLUDE = $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/boost) |
|
213 |
|
214 OS_LAYER_DBUS_SYSTEMINCLUDE = $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/dbus-1.0) \ |
|
215 $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/dbus-1.0/dbus) |
|
216 |
|
217 OS_LAYER_LIBUTILITY_SYSTEMINCLUDE = $$OS_LAYER_PLATFORM_EXPORT_PATH(stdapis/utility) |
|
218 |
|
219 # --------------------------------------- |
|
220 # Definitions to export IBY files to different folders where they will be taken |
|
221 # to ROM image |
|
222 # --------------------------------------- |
|
223 |
|
224 defineReplace(CORE_APP_LAYER_IBY_EXPORT_PATH) { |
|
225 return(/epoc32/rom/include/core/app/$$1) |
|
226 } |
|
227 defineReplace(CORE_MW_LAYER_IBY_EXPORT_PATH) { |
|
228 return(/epoc32/rom/include/core/mw/$$1) |
|
229 } |
|
230 defineReplace(CORE_OSEXT_LAYER_IBY_EXPORT_PATH) { |
|
231 return(/epoc32/rom/include/core/os/$$1) |
|
232 } |
|
233 defineReplace(CORE_OS_LAYER_IBY_EXPORT_PATH) { |
|
234 return(/epoc32/rom/include/core/os/$$1) |
|
235 } |
|
236 defineReplace(CORE_TOOLS_LAYER_IBY_EXPORT_PATH) { |
|
237 return(/epoc32/rom/include/core/tools/$$1) |
|
238 } |
|
239 defineReplace(CORE_ADAPT_LAYER_IBY_EXPORT_PATH) { |
|
240 return(/epoc32/rom/include/$$1) |
|
241 } |
|
242 defineReplace(CUSTOMER_VARIANT_APP_LAYER_IBY_EXPORT_PATH) { |
|
243 return(/epoc32/rom/include/customervariant/app/$$1) |
|
244 } |
|
245 |
|
246 # You need to define the following in pro-file, if you are using the stllib: |
|
247 # QMAKE_CXXFLAGS.CW *= $$STLLIB_USAGE_CW_FLAGS |
|
248 # DEFINES *= $$STLLIB_USAGE_DEFINES |
|
249 STLLIB_USAGE_CW_FLAGS = "-wchar_t on" |
|
250 STLLIB_USAGE_DEFINES = _WCHAR_T_DECLARED |
|
251 |