]>
Commit | Line | Data |
---|---|---|
83c7f6a7 VS |
1 | <?xml version="1.0" ?> |
2 | <!-- $Id$ --> | |
3 | ||
4 | <!-- | |
ad6f7122 | 5 | Presets for building wxWidgets applications. |
83c7f6a7 | 6 | |
e602dae8 KO |
7 | These presets provide the following "public" interface: |
8 | ||
9 | OPTIONS: | |
10 | ||
11 | - WX_* : used to let the user of the generated makefile choose a wxWidgets | |
12 | build among those available; you can use them in your project to | |
046e85ca | 13 | e.g. build a target only if WX_SHARED is 0 or if WX_PORT is "msw". |
e602dae8 KO |
14 | |
15 | ||
16 | VARIABLES: | |
17 | ||
18 | - WXLIBPOSTFIX: contains the [u][d] string which is typically useful when | |
19 | defining names of directories/files which should coexist | |
20 | with other builds using different wxWidgets configurations. | |
21 | ||
22 | ||
23 | TEMPLATES: | |
24 | ||
25 | - wx, wx-lib: templates to be used respectively for <dll>/<exe> and <lib> | |
26 | targets; they add all the wxWidgets-related settings (e.g. the | |
046e85ca VZ |
27 | include and library search paths, the necessary preprocessor |
28 | symbols, etc). | |
e602dae8 | 29 | |
491c42d0 FM |
30 | - wxgui: to be used when building GUI-mode applications. |
31 | ||
32 | - wxconsole: to be used when building console-only applications | |
33 | (NOTE: it doesn't add the wxUSE_GUI=0 define since you don't | |
34 | need it when compiling wxBase-only code). | |
e602dae8 KO |
35 | |
36 | - wxlike: this template should be combined with "wx" or "wx-lib" and will | |
046e85ca | 37 | make your project build with the same Unicode & shared |
e602dae8 KO |
38 | config as the wxWidgets build selected using the WX_* options. |
39 | ||
40 | ||
41 | TARGET TAGS: | |
42 | ||
43 | - <wx-lib>: to define which wxWidgets libraries to link with; | |
44 | please note that you should use them in the right order or | |
45 | linking under Unix would result in errors, e.g. | |
46 | ||
47 | <wx-lib>core</wx-lib> | |
48 | <wx-lib>base</wx-lib> | |
49 | ||
50 | is correct, but the reverse is not (if lib A depends on lib B, then | |
51 | lib A must be listed before B). So <wx-lib>base</wx-lib> | |
52 | (which must always be present) should be the last wx-lib tag. | |
53 | ||
54 | - <wxlike-libname>, | |
55 | <wxlike-dllname>: useful if you want to have a build logic similar to the | |
56 | wxWidgets build logic which allows different builds to | |
57 | coexist without conflicts. These tags helps you to name | |
58 | libraries using the same wxWidgets rules and thus avoid | |
59 | conflicts between libraries compiled in e.g. Unicode, | |
60 | shared mode and those compiled in ANSI, shared mode &c. | |
61 | ||
62 | - <wxlike-lib>: if your library/application needs to link with both | |
63 | wxWidgets and some other wx-based library, which in turn | |
64 | follows the wxWidgets naming conventions, then this tag is | |
65 | what you need to reference the wx-based additional library. | |
66 | ||
5a5f4ba4 VZ |
67 | - <wxlike-dirname>: sets the output directory for the current target to $(value) |
68 | when on Unix and to e.g. $(value)/vc_lib when on Windows, | |
69 | i.e. acts like <dirname> just following wxWidgets naming rules. | |
491c42d0 | 70 | Useful to allow multiple builds of the |
c4106e3b VZ |
71 | |
72 | - <wxlike-paths>: if your library/application needs to compile & link with both | |
e602dae8 KO |
73 | wxWidgets and some other wx-based library, which in turn |
74 | follows the wxWidgets naming conventions, then this tag is | |
75 | what you need to add to the compiler and linker flags the paths | |
76 | of the "include" and "lib" folders of the wx-based additional library. | |
77 | ||
78 | ||
79 | GLOBAL TAGS: | |
80 | ||
81 | - <set-wxlike-builddir>: sets BUILDDIR using wxWidgets naming rules to help | |
82 | to keep object files compiled with different | |
83 | settings separate. | |
84 | ||
a6e13ce4 VZ |
85 | - <set-wxlike>: sets a variable with the name of a library named with the same |
86 | wxWidgets rules. | |
87 | ||
e602dae8 KO |
88 | |
89 | NOTE: as a reference here is a list of all wxWidgets libraries satisfying | |
90 | the dependency constraints mentioned in <wx-lib> description: | |
91 | ||
92 | <wx-lib>richtext</wx-lib> | |
93 | <wx-lib>aui</wx-lib> | |
3c3ead1d | 94 | <wx-lib>ribbon</wx-lib> |
1c4293cb | 95 | <wx-lib>propgrid</wx-lib> |
54429bb3 | 96 | <wx-lib>stc</wx-lib> |
e602dae8 | 97 | <wx-lib>qa</wx-lib> |
e602dae8 | 98 | <wx-lib>gl</wx-lib> |
e602dae8 KO |
99 | <wx-lib>xrc</wx-lib> |
100 | <wx-lib>html</wx-lib> | |
101 | <wx-lib>media</wx-lib> | |
102 | <wx-lib>adv</wx-lib> | |
103 | <wx-lib>net</wx-lib> | |
104 | <wx-lib>xml</wx-lib> | |
105 | <wx-lib>core</wx-lib> | |
106 | <wx-lib>base</wx-lib> | |
107 | ||
83c7f6a7 VS |
108 | --> |
109 | ||
110 | ||
111 | <makefile> | |
ad6f7122 | 112 | |
d65cbb37 VZ |
113 | <requires version="0.2.2"/> |
114 | ||
84cd6e0c | 115 | <using module="wx_presets"/> |
d65cbb37 | 116 | |
ad6f7122 | 117 | <!-- this variable identifies the version of the wx presets. |
491c42d0 | 118 | this is changed only when major changes to wxpresets take place. |
18cea871 | 119 | --> |
e602dae8 | 120 | <set var="WX_PRESETS_VERSION">4</set> |
c81032a7 | 121 | |
e602dae8 KO |
122 | <!-- list of known libraries used by wx-lib tag defined in wx_unix.bkl and wx_win32.bkl |
123 | VERY IMPORTANT: when updating this list also update the <wx-lib> and <wx-all-libs> | |
124 | tag definitions. | |
125 | --> | |
18cea871 | 126 | <set var="WX_LIB_LIST"> |
3c3ead1d | 127 | base core net xml xrc html adv media gl qa aui ribbon propgrid richtext stc |
591a46d4 | 128 | </set> |
c81032a7 | 129 | |
a78a8f7f | 130 | <!-- if you define this variable to 0 before including wx presets, the |
491c42d0 | 131 | "test_for_selected_wxbuild" target which is added by default in win32 and GNU |
a78a8f7f VZ |
132 | makefiles, won't be added. |
133 | This is useful when e.g. you want to have wxWidgets as an optional | |
134 | dependency and thus you don't want to perform that check unconditionally. | |
135 | --> | |
136 | <set var="WX_TEST_FOR_SELECTED_WXBUILD" overwrite="0"> | |
137 | 1 | |
138 | </set> | |
139 | ||
dd5cb4b1 VZ |
140 | <!-- this is a temporary variable until there is non general --> |
141 | <!-- function in bakefiles for returning native markup for --> | |
142 | <!-- reading envrionment variables --> | |
143 | <set var="ENV_VAR"> | |
144 | <if cond="FORMAT=='watcom'">%</if> | |
145 | <if cond="FORMAT!='watcom'"></if> | |
146 | </set> | |
147 | ||
148 | ||
e602dae8 KO |
149 | |
150 | <!-- OPTIONS --> | |
151 | <!-- --> | |
152 | <!-- These are essentially the configurations you --> | |
153 | <!-- want in bakefile. --> | |
154 | <!-- --> | |
155 | <!-- In MSVC these are the different build --> | |
156 | <!-- configurations you can have (in the build menu), --> | |
157 | <!-- and in autoconf is enabled with enable-xxx=xx. --> | |
158 | <!-- For other compilers a separate configuration --> | |
159 | <!-- file is created (such as config.gcc on gcc) --> | |
160 | <!-- which has several options a user can modify. --> | |
161 | <!-- --> | |
162 | <!-- Note that the above only happens if an option --> | |
163 | <!-- is not constant, i.e. if it cannot be determined --> | |
164 | <!-- by bakefile itself. --> | |
165 | <!-- Also note that for 'autoconf' format these options --> | |
166 | <!-- are only useful when used together with wxpresets.m4 --> | |
167 | <!-- macro file which contains macros for detecting the --> | |
168 | <!-- option values for wx-based projects. See wxpresets.m4 --> | |
169 | <!-- comments for more info. --> | |
170 | ||
171 | ||
172 | <!-- Presets for limited dmars make.exe format: --> | |
173 | <if cond="FORMAT=='dmars'"> | |
0e0134ac | 174 | <set var="WX_UNICODE">1</set> |
e602dae8 KO |
175 | <set var="WX_DEBUG">1</set> |
176 | <set var="WX_SHARED">0</set> | |
177 | </if> | |
178 | ||
179 | <!-- 'gnu' format needs to redefine the following options later in wx_unix.bkl --> | |
180 | <if cond="FORMAT=='gnu'"> | |
181 | <set var="WX_UNICODE"/> | |
e602dae8 KO |
182 | <set var="WX_SHARED"/> |
183 | <set var="WX_PORT"/> | |
184 | <set var="WX_VERSION"/> | |
185 | </if> | |
186 | ||
187 | ||
188 | <!-- This is a standard option that determines --> | |
189 | <!-- whether the user wants to build this library as --> | |
190 | <!-- a dll or as a static library. --> | |
191 | <if cond="not isdefined('WX_SHARED')"> | |
192 | <set var="WX_SHARED_DEFAULT" overwrite="0">0</set> | |
193 | <option name="WX_SHARED"> | |
194 | <values>0,1</values> | |
195 | <values-description>Static,DLL</values-description> | |
196 | <default-value>$(WX_SHARED_DEFAULT)</default-value> | |
197 | <description> | |
5a5f4ba4 | 198 | Use DLL build of wx library? |
e602dae8 KO |
199 | </description> |
200 | </option> | |
201 | </if> | |
202 | ||
203 | <!-- Configuration for building the bakefile with --> | |
204 | <!-- unicode strings or not (unicode or ansi). --> | |
205 | <if cond="not isdefined('WX_UNICODE')"> | |
0e0134ac | 206 | <set var="WX_UNICODE_DEFAULT" overwrite="0">1</set> |
e602dae8 KO |
207 | <option name="WX_UNICODE"> |
208 | <values>0,1</values> | |
209 | <values-description>ANSI,Unicode</values-description> | |
210 | <default-value>$(WX_UNICODE_DEFAULT)</default-value> | |
211 | <description> | |
5a5f4ba4 | 212 | Use Unicode build of wxWidgets? |
e602dae8 KO |
213 | </description> |
214 | </option> | |
215 | </if> | |
216 | ||
217 | <if cond="not isdefined('WX_DEBUG')"> | |
218 | <set var="WX_DEBUG_DEFAULT" overwrite="0">1</set> | |
219 | <option name="WX_DEBUG"> | |
220 | <values>0,1</values> | |
221 | <values-description>Release,Debug</values-description> | |
222 | <default-value>$(WX_DEBUG_DEFAULT)</default-value> | |
223 | <description> | |
046e85ca | 224 | Use debug build of wxWidgets (linked with debug CRT)? |
e602dae8 KO |
225 | </description> |
226 | </option> | |
227 | </if> | |
228 | ||
229 | <if cond="not isdefined('WX_VERSION')"> | |
c4106e3b | 230 | <set var="WX_VERSION_DEFAULT" overwrite="0">29</set> |
e602dae8 KO |
231 | <option name="WX_VERSION"> |
232 | <default-value>$(WX_VERSION_DEFAULT)</default-value> | |
233 | <description> | |
234 | Version of the wx library to build against. | |
235 | </description> | |
236 | </option> | |
237 | </if> | |
238 | ||
239 | <if cond="not isdefined('WX_MONOLITHIC')"> | |
240 | <set var="WX_MONOLITHIC_DEFAULT" overwrite="0">0</set> | |
241 | <option name="WX_MONOLITHIC"> | |
242 | <values>0,1</values> | |
243 | <values-description>Multilib,Monolithic</values-description> | |
244 | <default-value>$(WX_MONOLITHIC_DEFAULT)</default-value> | |
245 | <description> | |
246 | Use monolithic build of wxWidgets? | |
247 | </description> | |
248 | </option> | |
249 | </if> | |
250 | ||
dd5cb4b1 VZ |
251 | <!-- The directory where wxWidgets is installed: --> |
252 | <if cond="not isdefined('WX_DIR')"> | |
253 | <set var="WX_DIR_DEFAULT" overwrite="0">$(DOLLAR)($(ENV_VAR)WXWIN)</set> | |
43daffe5 | 254 | <option name="WX_DIR" category="path" never_empty="1"> |
dd5cb4b1 VZ |
255 | <default-value>$(WX_DIR_DEFAULT)</default-value> |
256 | <description> | |
257 | The directory where wxWidgets library is installed | |
258 | </description> | |
259 | </option> | |
260 | </if> | |
261 | ||
c81032a7 | 262 | |
ad6f7122 | 263 | |
e602dae8 KO |
264 | <!-- HELPER VARIABLES --> |
265 | <!-- --> | |
266 | ||
267 | <!-- These are handy ways of dealing with the --> | |
268 | <!-- extensions in the library names of the --> | |
269 | <!-- wxWindows library. --> | |
270 | <set var="WXLIBPOSTFIX"> | |
271 | <if cond="WX_DEBUG=='1' and WX_UNICODE=='1'">ud</if> | |
272 | <if cond="WX_DEBUG=='1' and WX_UNICODE=='0'">d</if> | |
273 | <if cond="WX_DEBUG=='0' and WX_UNICODE=='1'">u</if> | |
274 | </set> | |
275 | ||
84cd6e0c | 276 | <set var="COMPILER_PREFIX" make_var="1">$(COMPILER)</set> |
41084d16 | 277 | |
e602dae8 KO |
278 | |
279 | ||
280 | ||
001c0021 FM |
281 | <!-- REAL IMPLEMENTATION --> |
282 | <!-- --> | |
83c7f6a7 VS |
283 | |
284 | <set var="__wx_included_impl">0</set> | |
285 | ||
286 | <if cond="FORMAT in ['autoconf','gnu']"> | |
287 | <include file="wx_unix.bkl"/> | |
288 | <set var="__wx_included_impl">1</set> | |
289 | </if> | |
290 | ||
291 | <if cond="FORMAT!='autoconf' and PLATFORM_WIN32=='1'"> | |
292 | <include file="wx_win32.bkl"/> | |
293 | <set var="__wx_included_impl">1</set> | |
294 | </if> | |
295 | ||
001c0021 FM |
296 | <if cond="FORMAT=='xcode2'"> |
297 | <!-- xCode2 is an IDE and thus reuses almost nothing from unix part of wxpresets; | |
298 | better use the win32 part! --> | |
299 | <include file="wx_win32.bkl"/> | |
300 | <set var="__wx_included_impl">1</set> | |
301 | </if> | |
302 | ||
83c7f6a7 VS |
303 | <if cond="__wx_included_impl=='0'"> |
304 | <error>This format is not (yet) supported by wx preset.</error> | |
305 | </if> | |
306 | ||
e602dae8 KO |
307 | |
308 | ||
309 | ||
310 | <!-- HIGH-LEVEL TEMPLATE --> | |
311 | <!-- --> | |
312 | ||
313 | <!-- Combine 'wxlike' with 'wx' or 'wx-lib' templates to have your | |
314 | project build in the same configuration used by the selected | |
315 | wxWidgets build --> | |
316 | <template id="wxlike"> | |
317 | <!-- WX_DEBUG-dependent --> | |
318 | <set var="_OPT"> | |
319 | <if cond="WX_DEBUG=='1'">off</if> | |
320 | <if cond="WX_DEBUG=='0'">speed</if> | |
321 | </set> | |
322 | <set var="_DEBUGINFO"> | |
323 | <if cond="WX_DEBUG=='1'">on</if> | |
324 | <if cond="WX_DEBUG=='0'">off</if> | |
325 | </set> | |
326 | ||
327 | <if cond="FORMAT!='autoconf'"> | |
328 | <optimize>$(_OPT)</optimize> | |
329 | <debug-info>$(_DEBUGINFO)</debug-info> | |
330 | </if> | |
331 | </template> | |
491c42d0 | 332 | |
92a93d46 VS |
333 | <!-- Template for building wx-based GUI applications --> |
334 | <template id="wxgui" template="wx"> | |
335 | <app-type>gui</app-type> | |
336 | </template> | |
e602dae8 KO |
337 | |
338 | <!-- Template for building wx-based console applications --> | |
339 | <template id="wxconsole" template="wx"> | |
e602dae8 KO |
340 | <app-type>console</app-type> |
341 | </template> | |
342 | ||
343 | ||
344 | ||
345 | <!-- UTILITY TAGS --> | |
346 | <!-- --> | |
347 | ||
a6e13ce4 VZ |
348 | <!-- private helper tag: does the same thing as for <set-wxlike> except that: |
349 | - the variable created is always named "__temp" | |
350 | - can be used (only) inside targets as this is a non-global tag | |
351 | --> | |
5a5f4ba4 | 352 | <define-tag name="__setlibname" rules="lib,dll,module,exe"> |
e602dae8 KO |
353 | <set var="__temp"> |
354 | <if cond="FORMAT!='autoconf' and FORMAT!='gnu'"> | |
355 | $(attributes['prefix'])_$(WX_PORT)$(WX_VERSION)$(WXLIBPOSTFIX)_$(value) | |
356 | </if> | |
357 | <if cond="FORMAT=='autoconf' or FORMAT=='gnu'"> | |
358 | $(attributes['prefix'])_$(WX_PORT)$(WXLIBPOSTFIX)_$(value)-$(WX_VERSION_MAJOR).$(WX_VERSION_MINOR) | |
359 | </if> | |
360 | </set> | |
361 | </define-tag> | |
362 | ||
363 | <!-- A simple tag which helps you to define a library name using the same rules used | |
364 | by wxWidgets. Use the 'prefix' attribute to add your lib's prefix. | |
365 | E.g.: | |
366 | <wxlike-libname prefix='mylib'>module1</wxlike-libname> | |
367 | <wxlike-libname prefix='mylib'>module2</wxlike-libname> | |
368 | --> | |
369 | <define-tag name="wxlike-libname" rules="lib"> | |
370 | <__setlibname prefix="$(attributes['prefix'])">$(value)</__setlibname> | |
371 | <libname>$(__temp)</libname> | |
372 | </define-tag> | |
373 | ||
374 | <!-- exactly like <wxlike-libname> but this one sets the DLL name (and the DLL lib import name) | |
375 | and thus must be used only inside a <dll> target... | |
376 | --> | |
377 | <define-tag name="wxlike-dllname" rules="dll,module"> | |
378 | <__setlibname prefix="$(attributes['prefix'])">$(value)</__setlibname> | |
379 | <libname>$(__temp)</libname> | |
380 | <dllname>$(__temp)</dllname> | |
381 | </define-tag> | |
382 | ||
383 | <!-- Links against a library which uses the same wxWidgets conventions. | |
384 | --> | |
385 | <define-tag name="wxlike-lib" rules="exe,lib,dll,module"> | |
386 | <__setlibname prefix="$(attributes['prefix'])">$(value)</__setlibname> | |
387 | <sys-lib>$(__temp)</sys-lib> | |
388 | </define-tag> | |
389 | ||
5a5f4ba4 | 390 | <!-- Sets as output folder for the current target a directory |
226ac45f | 391 | called "$(value)/$(COMPILER_PREFIX)_lib|dll", just like wxWidgets does. |
5a5f4ba4 | 392 | This makes it possible to keep separed the libraries/exes compiled with |
e602dae8 KO |
393 | different compilers and with a different value for WX_SHARED. |
394 | --> | |
5a5f4ba4 | 395 | <define-tag name="wxlike-dirname" rules="lib,dll,exe,module"> |
e602dae8 KO |
396 | <if cond="FORMAT!='autoconf'"> |
397 | <set var="_DIRNAME_SHARED_SUFFIX"> | |
398 | <if cond="WX_SHARED=='0'">lib</if> | |
399 | <if cond="WX_SHARED=='1'">dll</if> | |
400 | </set> | |
401 | <set var="_DIRNAME"> | |
226ac45f | 402 | $(value)/$(COMPILER_PREFIX)_$(_DIRNAME_SHARED_SUFFIX) |
e602dae8 KO |
403 | </set> |
404 | ||
405 | <dirname>$(_DIRNAME)</dirname> | |
406 | ||
c4106e3b | 407 | <if cond="FORMAT_SUPPORTS_ACTIONS=='1'"> |
5a5f4ba4 | 408 | <set var="__mkdir_tgt">make_dir_$(id)</set> |
c4106e3b VZ |
409 | |
410 | <add-target target="$(__mkdir_tgt)" type="action"/> | |
411 | <modify-target target="$(__mkdir_tgt)"> | |
412 | <command cond="TOOLSET=='unix'"> | |
413 | @mkdir -p $(_DIRNAME) | |
414 | </command> | |
415 | <command cond="TOOLSET in ['win32','os2','dos']"> | |
416 | if not exist $(nativePaths(_DIRNAME)) mkdir $(nativePaths(_DIRNAME)) | |
417 | </command> | |
001c0021 | 418 | </modify-target> |
e602dae8 | 419 | |
c4106e3b VZ |
420 | <!-- the following code is mostly equivalent to a: |
421 | <dependency-of>$(id)</dependency-of> | |
422 | put into the __mkdir_tgt target, except that it does _prepend_ | |
423 | the __mkdir_tgt dependency instead of appending it. | |
424 | ||
425 | This is required because some compilers (e.g. MSVC) need to store in the | |
426 | output folder some files (e.g. the PDB file) while compiling and thus | |
427 | the library output folder must have been created before _any_ source file | |
428 | is compiled, not just before the library is linked. | |
429 | --> | |
430 | <modify-target target="$(id)"> | |
431 | <set var="__deps" prepend="1"> | |
432 | $(substitute(__mkdir_tgt, lambda x: ref('__depname', x), 'DEP')) | |
433 | </set> | |
434 | </modify-target> | |
435 | </if> | |
e602dae8 KO |
436 | </if> |
437 | <if cond="FORMAT=='autoconf'"> | |
c4106e3b VZ |
438 | <set var="_DIRNAME">$(value)</set> |
439 | <dirname>$(_DIRNAME)</dirname> | |
e602dae8 KO |
440 | </if> |
441 | </define-tag> | |
442 | ||
443 | <!-- Adds to the compiler & linker flags the path for the "include" and the | |
491c42d0 | 444 | "lib" folders of a library following wxWidgets conventions which is |
e602dae8 KO |
445 | located in $(value). |
446 | --> | |
447 | <define-tag name="wxlike-paths" rules="exe,lib,dll,module"> | |
c4106e3b | 448 | <if cond="FORMAT!='autoconf' and FORMAT!='gnu'"> |
e602dae8 KO |
449 | <!-- WXLIBPATH is a path like "/lib/vc_lib" |
450 | NOTE: even if this template is going to be used for a "lib" | |
451 | target (which does not uses lib-paths at all), we can still | |
452 | use the <lib-path> target: it will just be discarded | |
453 | --> | |
454 | <lib-path>$(value)$(WXLIBPATH)</lib-path> | |
455 | ||
456 | <!-- no special include paths for a lib following wxWidgets naming | |
457 | conventions --> | |
458 | <include>$(value)/include</include> | |
459 | </if> | |
460 | ||
461 | <!-- for autoconf format the user should use CPPFLAGS and LDFLAGS to | |
462 | specify non-system paths since the wx-based library should have | |
463 | been installed in standard paths | |
464 | --> | |
465 | </define-tag> | |
466 | ||
a6e13ce4 VZ |
467 | |
468 | ||
469 | <!-- UTILITY GLOBAL TAGS --> | |
470 | <!-- --> | |
471 | ||
e602dae8 KO |
472 | <!-- Sets the BUILDDIR variable using the same rules used by wxWidgets itself. |
473 | This makes it possible to keep separed the object files compiled with | |
474 | different configuration settings. | |
475 | --> | |
476 | <define-global-tag name="set-wxlike-builddir"> | |
477 | <!-- note that the builddir for autoconf should always be '.' --> | |
478 | <if cond="FORMAT!='autoconf'"> | |
479 | <set var="_BUILDDIR_SHARED_SUFFIX"> | |
480 | <if cond="WX_SHARED=='0'"></if> | |
481 | <if cond="WX_SHARED=='1'">_dll</if> | |
482 | </set> | |
483 | ||
484 | <set var="BUILDDIR"> | |
226ac45f | 485 | $(COMPILER_PREFIX)$(WX_PORT)$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX) |
e602dae8 KO |
486 | </set> |
487 | </if> | |
488 | </define-global-tag> | |
489 | ||
a6e13ce4 VZ |
490 | <!-- Sets a variable with the name of the 'var' attribute value using the |
491 | same rules used for wxWidgets library naming. | |
492 | E.g. | |
493 | ||
494 | <set-wxlike var='MYMODULE_LIBNAME' prefix='mylib'> | |
495 | mymodule | |
496 | </set-wxlike> | |
497 | ||
498 | This tag also supports a 'cond' attribute making it very powerful | |
499 | for conditional linking a wx-based library: | |
500 | ||
501 | <option name="USE_MYMODULE"> | |
502 | <values>0,1</values> | |
503 | </option> | |
504 | <set-wxlike var='MYMODULE_DEP' | |
505 | prefix='mylib' | |
506 | cond="USE_MYMODULE=='1'"> | |
507 | mymodule | |
508 | </set-wxlike> | |
509 | ... | |
510 | <exe id="myexe"> | |
511 | <sys-lib>$(MYMODULE_DEP)</sys-lib> | |
512 | </exe> | |
513 | --> | |
514 | <define-global-tag name="set-wxlike"> | |
515 | <if cond="FORMAT!='autoconf' and FORMAT!='gnu'"> | |
516 | <if cond="'cond' not in attributes"> | |
517 | <set var="$(attributes['var'])"> | |
518 | $(attributes['prefix'])_$(WX_PORT)$(WX_VERSION)$(WXLIBPOSTFIX)_$(value) | |
519 | </set> | |
520 | </if> | |
521 | <if cond="'cond' in attributes"> | |
522 | <set var="$(attributes['var'])"> | |
523 | <if cond="$(attributes['cond'])"> | |
524 | $(attributes['prefix'])_$(WX_PORT)$(WX_VERSION)$(WXLIBPOSTFIX)_$(value) | |
525 | </if> | |
526 | </set> | |
527 | </if> | |
528 | </if> | |
529 | ||
530 | <if cond="FORMAT=='autoconf' or FORMAT=='gnu'"> | |
531 | <if cond="'cond' not in attributes"> | |
532 | <set var="$(attributes['var'])"> | |
533 | $(attributes['prefix'])_$(WX_PORT)$(WXLIBPOSTFIX)_$(value)-$(WX_VERSION_MAJOR).$(WX_VERSION_MINOR) | |
534 | </set> | |
535 | </if> | |
536 | <if cond="'cond' in attributes"> | |
537 | <set var="$(attributes['var'])"> | |
538 | <if cond="$(attributes['cond'])"> | |
539 | $(attributes['prefix'])_$(WX_PORT)$(WXLIBPOSTFIX)_$(value)-$(WX_VERSION_MAJOR).$(WX_VERSION_MINOR) | |
540 | </if> | |
541 | </set> | |
542 | </if> | |
543 | </if> | |
544 | </define-global-tag> | |
545 | ||
b0267bdc VS |
546 | |
547 | <include file="wx_xrc.bkl"/> | |
548 | ||
83c7f6a7 | 549 | </makefile> |