]>
Commit | Line | Data |
---|---|---|
83c7f6a7 VS |
1 | <?xml version="1.0" ?> |
2 | <!-- $Id$ --> | |
3 | ||
4 | <!-- | |
5 | Presents for building wxWidgets applications using Autoconf or GNU toosets. | |
6 | See wx.bkl for platform-independent notes. | |
7 | ||
8 | Usage: | |
9 | Options WX_CPPFLAGS, WX_CFLAGS, WX_CXXFLAGS, WX_LIBS are defined. | |
9864ef3b | 10 | |
83c7f6a7 VS |
11 | |
12 | Format-specific notes: | |
13 | ||
14 | * autoconf: | |
15 | Beware that you have to use AM_OPTIONS_WXCONFIG and | |
16 | AM_PATH_WXCONFIG in your configure.in! | |
17 | ||
18 | --> | |
19 | ||
20 | ||
21 | <makefile> | |
22 | ||
23 | <!-- ============================================================== --> | |
24 | <!-- Autoconf --> | |
25 | <!-- ============================================================== --> | |
9864ef3b | 26 | |
83c7f6a7 VS |
27 | <if cond="FORMAT=='autoconf'"> |
28 | <!-- Autoconf backend is simplicity itself thanks to wx-config... --> | |
29 | <option name="WX_CFLAGS"/> | |
30 | <option name="WX_CXXFLAGS"/> | |
31 | <option name="WX_CPPFLAGS"/> | |
32 | <option name="WX_LIBS"/> | |
692ebda6 | 33 | <option name="WX_RESCOMP"/> |
83c7f6a7 | 34 | </if> |
9864ef3b | 35 | |
83c7f6a7 VS |
36 | <!-- ============================================================== --> |
37 | <!-- GNU makefiles for Unix --> | |
38 | <!-- ============================================================== --> | |
39 | ||
40 | <if cond="FORMAT=='gnu'"> | |
369e0d05 | 41 | <set var="WX_CONFIG_DEFAULT" overwrite="0">wx-config</set> |
83c7f6a7 | 42 | <option name="WX_CONFIG"> |
369e0d05 | 43 | <default-value>$(WX_CONFIG_DEFAULT)</default-value> |
83c7f6a7 VS |
44 | <description>Location and arguments of wx-config script</description> |
45 | </option> | |
46 | <option name="WX_CFLAGS"> | |
47 | <default-value>`$(DOLLAR)(WX_CONFIG) --cflags`</default-value> | |
48 | <description>C flags to use with wxWidgets code</description> | |
49 | </option> | |
50 | <option name="WX_CXXFLAGS"> | |
51 | <default-value>`$(DOLLAR)(WX_CONFIG) --cxxflags`</default-value> | |
52 | <description>C++ flags to use with wxWidgets code</description> | |
53 | </option> | |
54 | <option name="WX_CPPFLAGS"> | |
55 | <default-value>`$(DOLLAR)(WX_CONFIG) --cppflags`</default-value> | |
56 | <description>C preprocessor flags to use with wxWidgets code</description> | |
57 | </option> | |
692ebda6 JS |
58 | <option name="WX_RESCOMP"> |
59 | <default-value>`$(DOLLAR)(WX_CONFIG) --rescomp`</default-value> | |
60 | <description>wxWidgets resource compiler and flags</description> | |
61 | </option> | |
83c7f6a7 VS |
62 | |
63 | <!-- we need this but the trick used in default-values above | |
64 | prevents bakefile from detecting it: --> | |
65 | <set var="FORMAT_OUTPUT_VARIABLES" append="1">WX_CONFIG</set> | |
66 | </if> | |
9864ef3b | 67 | |
83c7f6a7 VS |
68 | <!-- ============================================================== --> |
69 | <!-- Common code --> | |
70 | <!-- ============================================================== --> | |
9864ef3b | 71 | |
83c7f6a7 VS |
72 | <if cond="FORMAT not in ['gnu','autoconf']"> |
73 | <error> | |
74 | Don't include presets/wx_unix.bkl directly, use presets/wx.bkl. | |
75 | </error> | |
76 | </if> | |
9864ef3b | 77 | |
692ebda6 JS |
78 | <!-- |
79 | We need to re-define the resource compiler, used by bakefile when compiling | |
d195f10f VZ |
80 | resources, to the resource compiler returned by 'wx-config --rescomp' since |
81 | 'wx-config --rescomp' returns both the name of the resource compiler to use | |
692ebda6 JS |
82 | and the flags required for that compiler (rcflags are rccompiler-specific |
83 | and thus it would be wrong to use them with other resource compilers). | |
84 | ||
85 | This line typically does something *only* when the Makefile.in generated | |
86 | using this bakefile, is used on Windows with MSYS (when using Cygwin, resources | |
87 | are not compiled at all). | |
88 | ||
89 | NOTE: overwriting the RESCOMP variable we modify the entire Bakefile behaviour | |
90 | for resource compilation; this could be a problem if the bakefile which | |
91 | includes this file needs the standard Bakefile resource compiler to | |
92 | build a non wx-based application. | |
93 | --> | |
94 | <set var="RESCOMP">$(WX_RESCOMP)</set> | |
95 | ||
c07e76fa | 96 | <template id="wx-lib"> |
83c7f6a7 VS |
97 | <cxxflags>$(WX_CXXFLAGS)</cxxflags> |
98 | <cflags>$(WX_CFLAGS)</cflags> | |
c07e76fa VS |
99 | </template> |
100 | ||
101 | <template id="wx" template="wx-lib"> | |
9864ef3b VZ |
102 | <!-- |
103 | Don't include the $(WX_LIBS) variable in linker options here since | |
104 | it would make impossible for the user to obtain the right library | |
105 | order when he needs to specify, *before* WX_LIBS, its own libraries | |
106 | that depend on wxWidgets libraries; to avoid this, we include | |
107 | $(WX_LIBS) as soon as we found the <wx-lib>base</wx-lib> tag which | |
108 | the user should always put *after* all other wx-dependent libraries | |
109 | --> | |
83c7f6a7 VS |
110 | </template> |
111 | ||
c81032a7 VZ |
112 | <!-- VERY IMPORTANT: <wx-lib>base</wx-lib> must be the last wx-lib tag |
113 | in all your bakefiles !! | |
114 | --> | |
9864ef3b | 115 | <define-tag name="wx-lib" rules="exe,dll,module"> |
c81032a7 VZ |
116 | <if cond="FORMAT=='autoconf' and value=='base'"> |
117 | <!-- all wx-dependent libraries should have been already listed | |
118 | thus we can now add WX_LIBS to the linker line --> | |
9864ef3b VZ |
119 | <ldlibs>$(WX_LIBS)</ldlibs> |
120 | </if> | |
c81032a7 VZ |
121 | <if cond="FORMAT=='gnu' and value=='base'"> |
122 | <!-- all wx libraries should have been already specified, thus | |
123 | $(__liblist) should contain the full list... --> | |
124 | <set var="__liblist" append="1">base</set> | |
125 | <ldlibs>`$(WX_CONFIG) --libs $(','.join(__liblist.split()))`</ldlibs> | |
126 | </if> | |
127 | <if cond="FORMAT=='gnu' and value!='base'"> | |
128 | <set var="__liblist" append="1">$(value)</set> | |
129 | </if> | |
130 | <if cond="value not in ALLLIB_LIST.split()"> | |
131 | <error>Unknown wxWidgets library given in the wx-lib tag</error> | |
132 | </if> | |
9864ef3b | 133 | </define-tag> |
83c7f6a7 VS |
134 | |
135 | </makefile> |