Limit the influence of flavour more strictly to autoconf format.
[wxWidgets.git] / build / bakefiles / common.bkl
1 <?xml version="1.0" ?>
2 <!-- $Id$ -->
3
4 <makefile>
5
6     <requires version="0.1.4"/>
7     
8     <!-- bakefile modules we need: -->
9     <using module="datafiles"/>
10
11     <!-- load python module with wxwindows helpers: -->
12     <using module="wxwin"/>
13
14     <include file="config.bkl"/>
15
16     <include file="plugins_deps.bkl"/>
17     
18     <!-- ================================================================== -->
19     <!--                     wxWidgets version numbers:                     -->
20     <!-- ================================================================== -->
21
22     <set var="WXVER_MAJOR">$(wxwin.getVersionMajor())</set>
23     <set var="WXVER_MINOR">$(wxwin.getVersionMinor())</set>
24     <set var="WXVER_RELEASE">$(wxwin.getVersionRelease())</set>
25     <set var="WX_RELEASE" make_var="1">
26         $(WXVER_MAJOR).$(WXVER_MINOR)
27     </set>
28     <set var="WX_RELEASE_NODOT" make_var="1">
29         $(WXVER_MAJOR)$(WXVER_MINOR)
30     </set>
31     <set var="WX_VERSION" make_var="1">
32         $(WX_RELEASE).$(WXVER_RELEASE)
33     </set>
34     <set var="WX_VERSION_NODOT" make_var="1">
35         $(WX_RELEASE_NODOT)$(WXVER_RELEASE)
36     </set>
37
38     <set var="WX_STABLE_BRANCH">$(int(int(WXVER_MINOR) % 2 == 0))</set>
39
40     <set var="WXSOVERSION">
41         <if cond="WX_STABLE_BRANCH=='1'">0.0.0</if>
42         <if cond="WX_STABLE_BRANCH=='0'">$(WXVER_RELEASE).0.0</if>
43     </set>
44     <set var="WXMACVERSION">$(WX_VERSION)</set>
45     <set var="WXWIN32DLLVERSION">
46         <if cond="WX_STABLE_BRANCH=='1'">$(WX_RELEASE_NODOT)</if>
47         <if cond="WX_STABLE_BRANCH=='0'">$(WX_VERSION_NODOT)</if>
48     </set>
49     
50     
51     <!-- ================================================================== -->
52     <!--                     Names of libraries and DLLs:                   -->
53     <!-- ================================================================== -->
54
55     <set var="PORTNAME">
56         <if cond="USE_GUI=='0'">base</if>
57         <if cond="USE_GUI=='1'">$(TOOLKIT_LOWERCASE)$(TOOLKIT_VERSION)</if>
58     </set>
59     
60     <set var="WXBASEPORT">
61         <if cond="TOOLKIT=='MAC'">_carbon</if>
62     </set>
63
64     <set var="COMPILERORGCC">
65         <if cond="isdefined('COMPILER')">$(COMPILER)</if>
66         <if cond="not isdefined('COMPILER')">gcc</if>
67     </set>
68     <set var="WXCOMPILER">
69         <if cond="PLATFORM_WIN32=='1'">_$(COMPILERORGCC)</if>
70     </set>
71
72     <set var="VENDORTAG">
73         <if cond="PLATFORM_WIN32=='1' and OFFICIAL_BUILD=='1'"></if>
74         <if cond="PLATFORM_WIN32=='1' and OFFICIAL_BUILD=='0'">_$(VENDOR)</if>
75     </set>
76
77     <set var="WXDEBUGFLAG">
78         <if cond="BUILD=='debug' and DEBUG_FLAG=='default'">d</if>
79         <if cond="DEBUG_FLAG=='1'">d</if>
80     </set>
81     <set var="WXUNICODEFLAG">
82         <!-- WinCE is Unicode-only platform: -->
83         <if cond="UNICODE=='1' and FORMAT!='msevc4prj'">u</if>
84     </set>
85     <set var="WXNAMESUFFIX">
86         $(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)
87     </set>
88     
89     <set var="WXUNIVNAME">
90         <if cond="WXUNIV=='1'">univ</if>
91     </set>
92     <set var="WXUNIV_DEFINE">
93         <if cond="WXUNIV=='1'">__WXUNIVERSAL__</if>
94     </set>
95
96     <if cond="FORMAT=='autoconf'">
97         <set var="WXNAMEPREFIX">wx_base$(WXBASEPORT)</set>
98         <set var="WXNAMEPREFIXGUI">wx_$(PORTNAME)$(WXUNIVNAME)</set>
99         <set var="WXVERSIONTAG">-$(WX_RELEASE)</set>
100     </if>
101     <if cond="FORMAT!='autoconf'">
102         <set var="WXNAMEPREFIX">
103             wxbase$(WXBASEPORT)$(WX_RELEASE_NODOT)
104         </set>
105         <set var="WXNAMEPREFIXGUI">
106             wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)</set>
107         <set var="WXVERSIONTAG"></set>
108     </if>
109     <set var="WXDLLNAMEPREFIX">
110         <if cond="PLATFORM_WIN32=='1'">
111             wxbase$(WXBASEPORT)$(WXWIN32DLLVERSION)
112         </if>
113         <if cond="PLATFORM_WIN32=='0'">$(WXNAMEPREFIX)</if>
114     </set>
115     <set var="WXDLLNAMEPREFIXGUI">
116         <if cond="PLATFORM_WIN32=='1'">
117             wx$(PORTNAME)$(WXUNIVNAME)$(WXWIN32DLLVERSION)
118         </if>
119         <if cond="PLATFORM_WIN32=='0'">$(WXNAMEPREFIXGUI)</if>
120     </set>
121     <set var="WXDLLVERSIONTAG">
122         <if cond="PLATFORM_WIN32=='1'"></if>
123         <if cond="PLATFORM_WIN32=='0'">$(WXVERSIONTAG)</if>
124     </set>
125
126     
127     <!-- =============================================================== -->
128     <!--                    Names of component libraries:                -->
129     <!-- =============================================================== -->
130
131     <set var="WXLIB_BASE">
132         <if cond="MONOLITHIC=='0'">$(mk.evalExpr(wxwin.mkLibName('base')))</if>
133     </set>
134     <set var="WXLIB_NET">
135         <if cond="MONOLITHIC=='0'">$(mk.evalExpr(wxwin.mkLibName('net')))</if>
136     </set>
137     <set var="WXLIB_CORE">
138         <if cond="MONOLITHIC=='0'">$(mk.evalExpr(wxwin.mkLibName('core')))</if>
139     </set>
140     <set var="WXLIB_ADV">
141         <if cond="MONOLITHIC=='0'">$(mk.evalExpr(wxwin.mkLibName('adv')))</if>
142     </set>
143     <set var="WXLIB_HTML">
144         <if cond="MONOLITHIC=='0'">$(mk.evalExpr(wxwin.mkLibName('html')))</if>
145     </set>
146     <set var="WXLIB_XML">
147         <if cond="MONOLITHIC=='0'">$(mk.evalExpr(wxwin.mkLibName('xml')))</if>
148     </set>
149     <set var="WXLIB_XRC">
150         <if cond="MONOLITHIC=='0'">$(mk.evalExpr(wxwin.mkLibName('xrc')))</if>
151     </set>
152     <set var="WXLIB_ODBC">
153         <if cond="MONOLITHIC=='0' and USE_ODBC=='1'">
154             $(mk.evalExpr(wxwin.mkLibName('odbc')))
155         </if>
156     </set>
157     <set var="WXLIB_DBGRID">
158         <if cond="MONOLITHIC=='0'">$(mk.evalExpr(wxwin.mkLibName('dbgrid')))</if>
159     </set>
160
161     <set var="WXLIB_MONO">
162         <if cond="MONOLITHIC=='1'">$(mk.evalExpr(wxwin.mkLibName('mono')))</if>
163     </set>
164     
165     
166     <!-- =============================================================== -->
167     <!--             Where to store built libraries and objects:         -->
168     <!-- =============================================================== -->
169     
170     <set var="DIR_SUFFIX_CPU">
171         <if cond="FORMAT=='msevc4prj'">_$(CPU)</if>
172     </set>
173
174     <if cond="FORMAT!='autoconf'">
175         <set var="WXDLLFLAG">
176             <if cond="SHARED=='1'">dll</if>
177         </set>
178         <set var="CFG_NAME_PART">
179             $(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WXDLLFLAG)$(CFG)
180         </set>
181         <set var="OBJS" make_var="1">
182             <if cond="FORMAT!='cbuilderx'">
183                 $(COMPILER)_$(CFG_NAME_PART)$(DIR_SUFFIX_CPU)
184             </if>
185             <!-- FIXME: waiting for removal after CBX has better ../ dirs
186                  support -->
187             <if cond="FORMAT=='cbuilderx'">build_cbx_$(CFG_NAME_PART)</if>
188         </set>
189
190         <set var="BUILDDIR">$(OBJS)</set>
191     </if>
192     
193     <set var="LIBDIRNAME" make_var="1">
194         <if cond="FORMAT=='autoconf'">$(top_builddir)lib</if>
195         <if cond="FORMAT!='autoconf' and SHARED=='0'">
196             $(nativePaths(TOP_SRCDIR))lib$(DIRSEP)$(COMPILER)$(DIR_SUFFIX_CPU)_lib$(CFG)
197         </if>
198         <if cond="FORMAT!='autoconf' and SHARED=='1'">
199             $(nativePaths(TOP_SRCDIR))lib$(DIRSEP)$(COMPILER)$(DIR_SUFFIX_CPU)_dll$(CFG)
200         </if>
201     </set>
202     
203     <if cond="FORMAT!='autoconf'">
204         <set var="SETUPHDIR" make_var="1">
205             $(LIBDIRNAME)\$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)
206         </set>
207     </if>
208     
209
210     
211     <!-- =============================================================== -->
212     <!--                        Templates for libs:                      -->
213     <!-- =============================================================== -->
214
215     <set var="DEBUGINFO">
216         <if cond="BUILD=='debug' and DEBUG_INFO=='default'">on</if>
217         <if cond="DEBUG_INFO=='1'">on</if>
218         <if cond="BUILD=='release' and DEBUG_INFO=='default'">off</if>
219         <if cond="DEBUG_INFO=='0'">off</if>
220     </set>
221     <set var="DEBUGRUNTIME">
222         <if cond="DEBUG_RUNTIME_LIBS=='default'">$(DEBUGINFO)</if>
223         <if cond="DEBUG_RUNTIME_LIBS=='0'">off</if>
224         <if cond="DEBUG_RUNTIME_LIBS=='1'">on</if>
225     </set>
226     <set var="OPTIMIZEFLAG">
227         <if cond="BUILD=='debug'">off</if>
228         <if cond="BUILD=='release'">speed</if>
229     </set>
230     <set var="EXCEPTIONSFLAG">
231         <if cond="USE_EXCEPTIONS=='1'">on</if>
232         <if cond="USE_EXCEPTIONS=='0'">off</if>
233     </set>
234
235     <set var="DEBUG_DEFINE">
236         <if cond="FORMAT!='autoconf' and BUILD=='debug' and DEBUG_FLAG=='default'">__WXDEBUG__</if>
237         <if cond="FORMAT!='autoconf' and DEBUG_FLAG=='1'">__WXDEBUG__</if>
238     </set>
239     <!-- does not cover all cases, but better than nothing -->
240     <set var="NO_VC_CRTDBG">
241         <if cond="FORMAT=='msvc' and BUILD=='debug' and DEBUG_RUNTIME_LIBS=='0'">__NO_VC_CRTDBG__</if>
242         <if cond="FORMAT=='msvc' and BUILD=='release' and DEBUG_FLAG=='1'">__NO_VC_CRTDBG__</if>
243     </set>
244     <set var="UNICODE_DEFINE">
245         <if cond="FORMAT!='autoconf' and UNICODE=='1'">_UNICODE</if>
246     </set>
247     
248     <set var="UNICOWS_LIB">
249         <if cond="MSLU=='1'">unicows</if>
250     </set>
251
252     <template id="common_settings">
253         <debug-info>$(DEBUGINFO)</debug-info>
254         <debug-runtime-libs>$(DEBUGRUNTIME)</debug-runtime-libs>
255         <optimize>$(OPTIMIZEFLAG)</optimize>
256         <threading>multi</threading>
257         <runtime-libs>$(RUNTIME_LIBS)</runtime-libs>
258         <cxx-rtti>$(EXCEPTIONSFLAG)</cxx-rtti>
259         <cxx-exceptions>$(EXCEPTIONSFLAG)</cxx-exceptions>
260         <if cond="FORMAT!='autoconf'">
261             <cppflags>$(EXTRACFLAGS)</cppflags>
262         </if>
263         <define>$(NO_VC_CRTDBG)</define>
264     </template>
265     
266     <template id="anylib">
267         <dirname>$(LIBDIRNAME)</dirname>
268         <install-to>$(LIBDIR)</install-to>
269     </template>
270
271     <template id="3rdparty_lib" template="common_settings,anylib">
272         <if cond="FORMAT=='autoconf'">
273             <libname>$(id)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)</libname>
274         </if>
275         <if cond="FORMAT!='autoconf'">
276             <libname>$(id)$(WXDEBUGFLAG)$(WX_RELEASE_NODOT)$(HOST_SUFFIX)</libname>
277         </if>
278         <!--
279         we want to install 3rd party libs system-wide only with static
280         version of wxWidgets; otherwise they are embedded in shared libs:
281         -->
282         <install-if>SHARED=='0'</install-if>
283         <pic>$(substituteFromDict(SHARED, {'0':'off', '1':'on'}))</pic>
284     </template>
285     
286     
287     <!-- deal with the need to copy setup.h here: -->
288
289     <set var="IS_MSVC_PRJ">$(FORMAT in ['msvc6prj','msevc4prj'])</set>
290
291     <define-tag name="msvc-headers" rules="dll,lib">
292         <if cond="IS_MSVC_PRJ">
293             <msvc-project-files>
294                 $(addPrefixToList('include\', wxwin.headersOnly(value)))
295             </msvc-project-files>
296         </if>
297     </define-tag>
298
299     <define-tag name="msvc-copy-setup-h" rules="dll,lib">
300         <if cond="FORMAT=='msevc4prj'">
301             <msvc-headers>wx/msw/wince/setup.h</msvc-headers>
302             <set var="vc_setup_h">wince\setup.h</set>
303             <set var="vc_setup_h_rule">wince_setup_h</set>
304         </if>
305         <if cond="FORMAT!='msevc4prj'">
306             <msvc-headers>wx/msw/setup.h</msvc-headers>
307             <set var="vc_setup_h">setup.h</set>
308             <set var="vc_setup_h_rule">setup_h</set>
309         </if>
310         <if cond="IS_MSVC_PRJ">
311             <set var="_custom_build_files" append="1">
312                 include\wx\msw\$(vc_setup_h)
313             </set>
314             <set var="_custom_build_include_wx_msw_$(vc_setup_h_rule)">
315 Creating $(SETUPHDIR)\wx\setup.h
316 InputPath=..\include\wx\msw\$(vc_setup_h)
317
318 "$(SETUPHDIR)\wx\setup.h" : $(DOLLAR)(SOURCE) "$(DOLLAR)(INTDIR)" "$(DOLLAR)(OUTDIR)"
319 $(TAB)copy "$(DOLLAR)(InputPath)" $(SETUPHDIR)\wx\setup.h
320             </set>
321         </if>
322     </define-tag>
323
324     <template id="msvc_setup_h">
325         <msvc-copy-setup-h/>
326     </template>
327
328     <!-- =============================================================== -->
329     <!--                         3rd party libs:                         -->
330     <!-- =============================================================== -->
331     
332     <!-- 3rd party libraries: -->
333     <include file="regex.bkl"/>
334     <include file="zlib.bkl"/>
335     <include file="png.bkl"/>
336     <include file="jpeg.bkl"/>
337     <include file="tiff.bkl"/>
338     <include file="odbc.bkl"/>
339     <include file="expat.bkl"/>
340
341     
342     <!-- =============================================================== -->
343     <!--                  Templates for wxWidgets libs:                  -->
344     <!-- =============================================================== -->
345
346     <template id="wx" template="common_settings">
347         <set var="wxid">$(wxwin.mk_wxid(id))</set>
348         <define>__WX$(TOOLKIT)__</define>
349         <define>$(WXUNIV_DEFINE)</define>
350         <define>$(DEBUG_DEFINE)</define>
351         <define>$(UNICODE_DEFINE)</define>
352         <!-- this include is added by configure, we need to put other
353              includes before it: -->
354         <include cond="FORMAT!='autoconf'">$(TOP_SRCDIR)include</include>
355         <lib-path>$(LIBDIRNAME)</lib-path>        
356         <include cond="FORMAT!='autoconf'">$(SETUPHDIR)</include>
357         <warnings>max</warnings>
358     </template>
359
360     <!-- for both GUI and wxBase libs/samples: -->
361     <template id="wx_append_base_nomono">
362         <!-- link against builtin 3rd party libs, if needed: -->
363         <sys-lib>$(LIB_TIFF)</sys-lib>
364         <sys-lib>$(LIB_JPEG)</sys-lib>
365         <sys-lib>$(LIB_PNG)</sys-lib>
366         <sys-lib>$(LIB_ZLIB)</sys-lib>
367         <sys-lib>$(LIB_ODBC)</sys-lib>
368         <sys-lib>$(LIB_REGEX)</sys-lib>
369         <sys-lib>$(LIB_EXPAT)</sys-lib>
370         
371         <ldlibs>$(EXTRALIBS)</ldlibs>
372
373         <!-- system libraries on windows: -->
374         <if cond="FORMAT!='autoconf'">
375             <sys-lib>$(UNICOWS_LIB)</sys-lib>
376             <if cond="FORMAT=='borland'">
377                 <sys-lib>ole2w32</sys-lib>
378             </if>
379             <if cond="FORMAT=='msevc4prj'">
380                 <sys-lib>ole32</sys-lib>
381                 <sys-lib>oleaut32</sys-lib>
382                 <sys-lib>uuid</sys-lib>
383                 <sys-lib>commctrl</sys-lib>
384                 <sys-lib>winsock</sys-lib>
385                 <sys-lib>wininet</sys-lib>
386             </if>
387             <if cond="FORMAT!='borland' and FORMAT!='msevc4prj'">
388                 <sys-lib>kernel32</sys-lib>
389                 <sys-lib>user32</sys-lib>
390                 <sys-lib>gdi32</sys-lib>
391                 <sys-lib>comdlg32</sys-lib>
392                 <sys-lib>winspool</sys-lib>
393                 <sys-lib>winmm</sys-lib>
394                 <sys-lib>shell32</sys-lib>
395                 <sys-lib>comctl32</sys-lib>
396                 <sys-lib>ole32</sys-lib>
397                 <sys-lib>oleaut32</sys-lib>
398                 <sys-lib>uuid</sys-lib>
399                 <sys-lib>rpcrt4</sys-lib>
400                 <sys-lib>advapi32</sys-lib>
401                 <sys-lib>wsock32</sys-lib>
402             </if>
403             <if cond="FORMAT=='msvc' or FORMAT=='msvc6prj' or FORMAT=='borland'">
404                 <sys-lib>oleacc</sys-lib>
405             </if>
406             <if cond="FORMAT!='msevc4prj'">
407                 <sys-lib>odbc32</sys-lib>
408             </if>
409         </if>
410     </template>
411
412
413     <!-- for GUI libs/samples: -->
414     <template id="wx_append_nomono" template="wx_append_base_nomono">
415         <ldlibs>$(EXTRALIBS_GUI)</ldlibs>
416     </template>
417
418
419     <template id="wx_append_base" template_append="wx_append_base_nomono">
420         <!-- Always link against the wxWin library in monolithic build: -->
421         <sys-lib>$(WXLIB_MONO)</sys-lib>
422     </template>
423     <template id="wx_append" template_append="wx_append_nomono">
424         <!-- Always link against the wxWin library in monolithic build: -->
425         <sys-lib>$(WXLIB_MONO)</sys-lib>
426     </template>
427     
428
429     <set var="WX_DISABLE_PRECOMP_HEADERS" overwrite="0">0</set>
430     
431     <template id="wx_lib_b" template="wx,anylib">
432         <set var="WXLIBNAME">$(wxwin.mkLibName(wxid))</set>
433         <libname>$(WXLIBNAME)</libname>
434
435         <if cond="WX_DISABLE_PRECOMP_HEADERS=='0'">
436             <if cond="FORMAT!='autoconf' and TOOLKIT=='MSW'">
437                 <sources>$(WXTOPDIR)src/msw/dummy.cpp</sources>
438                 <precomp-headers-gen>
439                     $(WXTOPDIR)src/msw/dummy.cpp
440                 </precomp-headers-gen>
441             </if>
442             <precomp-headers-header>wx/wxprec.h</precomp-headers-header>
443             <precomp-headers>on</precomp-headers>
444             <precomp-headers-file>wxprec_$(id)</precomp-headers-file>
445             <precomp-headers-exclude>
446                 src/common/unzip.c
447                 src/common/extended.c
448                 src/msw/gsocket.cpp
449                 src/msw/gsockmsw.cpp
450             </precomp-headers-exclude>
451         </if>
452         
453         <if cond="IS_MSVC_PRJ=='1' and BUILDING_LIB=='1'">
454             <msvc-file-group>Common Sources:src/common/*</msvc-file-group>
455             <msvc-file-group>MSW Sources:src/msw/*</msvc-file-group>
456             <msvc-file-group>Generic Sources:src/generic/*</msvc-file-group>
457             <msvc-file-group>wxUniv Sources:src/univ/*</msvc-file-group>
458             <msvc-file-group>wxHTML Sources:src/html/*</msvc-file-group>
459             <msvc-file-group>Setup Headers:*/setup.h</msvc-file-group>
460             <msvc-file-group>MSW Headers:*wx/msw/*.h</msvc-file-group>
461             <msvc-file-group>Generic Headers:*wx/generic/*.h</msvc-file-group>
462             <msvc-file-group>wxUniv Headers:*wx/univ/*.h</msvc-file-group>
463             <msvc-file-group>wxHTML Headers:*wx/html/*.h</msvc-file-group>
464             <msvc-file-group>Common Headers:*wx/*.h</msvc-file-group>
465         </if>
466     </template>
467
468     <template id="wx_dll_b" template="wx_lib_b">
469         <set var="WXDLLNAME">$(wxwin.mkDllName(wxid))</set>
470         <dllname>$(WXDLLNAME)</dllname>
471         <version>$(WX_VERSION)</version>
472         <so_version>$(WXSOVERSION)</so_version>
473         <mac_version>$(WXMACVERSION)</mac_version>
474     </template>
475
476     <template id="wx_3rdparty_dependencies">
477         <depends>wxtiff</depends>
478         <depends>wxjpeg</depends>
479         <depends>wxpng</depends>
480         <depends>wxexpat</depends>
481         <depends>wxzlib</depends>
482         <depends cond="FORMAT=='autoconf'">wxodbc</depends>
483         <depends>wxregex</depends>
484     </template>
485
486     <template id="wx_3rdparty_includes">
487         <include>$(INC_TIFF)</include>
488         <include>$(INC_JPEG)</include>
489         <include>$(INC_PNG)</include>
490         <include>$(INC_ZLIB)</include>
491         <include>$(INC_ODBC)</include>
492         <include>$(INC_REGEX)</include>
493         <include>$(INC_EXPAT)</include>
494     </template>
495     
496     <template id="wx_lib"
497               template="wx_lib_b,wx_3rdparty_includes,msvc_setup_h"/>
498     <template id="wx_base_lib"
499               template="wx_lib_b,wx_3rdparty_includes,msvc_setup_h">
500         <define>wxUSE_GUI=0</define> 
501     </template>
502
503     <template id="wx_dll"
504               template="wx_dll_b,wx_3rdparty_dependencies,wx_3rdparty_includes"
505               template_append="msvc_setup_h,wx_append_nomono"/>
506     <template id="wx_base_dll"
507               template="wx_dll_b,wx_3rdparty_dependencies,wx_3rdparty_includes"
508               template_append="msvc_setup_h,wx_append_base_nomono">
509         <define>wxUSE_GUI=0</define> 
510     </template>
511                            
512     <!-- =============================================================== -->
513     <!--             Templates for building wxWidgets plugins:           -->
514     <!-- =============================================================== -->
515
516     <if cond="WX_STABLE_BRANCH=='1'">
517         <set var="PLUGIN_VERSION0">
518             <if cond="PLATFORM_UNIX=='1'">$(WX_RELEASE)</if>
519             <if cond="PLATFORM_UNIX=='0'">$(WX_RELEASE_NODOT)</if>
520         </set>
521     </if>
522     <if cond="WX_STABLE_BRANCH=='0'">
523         <set var="PLUGIN_VERSION0">
524             <if cond="PLATFORM_UNIX=='1'">$(WX_VERSION)</if>
525             <if cond="PLATFORM_UNIX=='0'">$(WX_VERSION_NODOT)</if>
526         </set>
527     </if>
528     <set var="PLUGVERDELIM">
529         <if cond="PLATFORM_UNIX=='1'">-</if>
530         <if cond="PLATFORM_UNIX=='0'"></if>
531     </set>
532     <set var="PLUGIN_VERSION">$(PLUGVERDELIM)$(PLUGIN_VERSION0)</set>
533     
534     <set var="PLUGINSUFFIX">
535         <if cond="UNICODE=='0' and BUILD=='release'"></if>
536         <if cond="UNICODE=='0' and BUILD=='debug'">d</if>
537         <if cond="UNICODE=='1' and BUILD=='release'">u</if>
538         <if cond="UNICODE=='1' and BUILD=='debug'">ud</if>
539     </set>
540
541     <set var="PLUGINS_INST_DIR" make_var="1">
542         $(LIBDIR)/wx/$(PLUGIN_VERSION0)
543     </set>
544
545     <define-rule name="wx-base-plugin" extends="module">
546         <template>
547             <dllname>
548                 $(id)$(PLUGINSUFFIX)$(PLUGIN_VERSION)$(WXCOMPILER)
549             </dllname>
550             <define>WXUSINGDLL</define>
551             <define>wxUSE_GUI=0</define>
552             <install-to>$(PLUGINS_INST_DIR)</install-to>
553         </template>
554     </define-rule>
555     
556     <define-rule name="wx-gui-plugin" extends="module">
557         <template template="wx">
558             <dllname>
559                 $(id)_$(PORTNAME)$(WXUNIVNAME)$(PLUGINSUFFIX)$(PLUGIN_VERSION)$(WXCOMPILER)
560             </dllname>
561             <define>WXUSINGDLL</define>
562             <install-to>$(PLUGINS_INST_DIR)</install-to>
563         </template>
564     </define-rule>
565     
566     <!-- =============================================================== -->
567     <!--               Support for wxWidgets samples and contrib:        -->
568     <!-- =============================================================== -->
569
570     <!-- Link against one wxWin library. Value must be literal! -->
571     <define-tag name="wx-lib" rules="exe,dll,module">
572         <sys-lib>$(wxwin.libToLink(value))</sys-lib>
573         <ldlibs>$(wxwin.extraLdflags(value))</ldlibs>
574         <if cond="IS_MSVC_PRJ=='1' and MONOLITHIC=='0'">
575             <depends-on-dsp>$(wxwin.makeDspDependency(value))</depends-on-dsp>
576         </if>
577     </define-tag>
578
579
580     <!-- A hack to keep autoconf happy (we pass CPPFLAGS that contain
581          {top_srcdir} from configure, poor bakefile can't know that
582          and won't output top_srcdir = @top_srcdir@ line): -->
583     <set var="VARS_DONT_ELIMINATE" append="1">top_srcdir</set>
584
585
586 </makefile>