Commit 14e51220e0747c9f23aed2e2e2edbf196f387bd0
1 parent
ec7cd4d8
Exists in
master
and in
3 other branches
Atualizando Makefile.
Showing
3 changed files
with
107 additions
and
174 deletions
Show diff stats
Makefile.in
... | ... | @@ -24,64 +24,66 @@ |
24 | 24 | # erico.mendonca@gmail.com (Erico Mascarenhas de Mendonça) |
25 | 25 | # |
26 | 26 | |
27 | -LIBNAME=lib@LIB3270_NAME@@DLLEXT@ | |
27 | +#---[ Library configuration ]------------------------------------------------------------ | |
28 | 28 | |
29 | -SOURCES = bounds.c ctlr.c util.c toggles.c screen.c selection.c kybd.c telnet.c \ | |
30 | - iocalls.c connect.c \ | |
31 | - host.c sf.c ansi.c resolver.c charset.c \ | |
32 | - version.c session.c state.c html.c trace_ds.c see.c \ | |
33 | - paste.c ssl.c actions.c \ | |
34 | - ft.c ft_cut.c ft_dft.c glue.c resources.c \ | |
35 | - rpq.c macros.c fallbacks.c log.c options.c | |
29 | +LIBNAME=@LIB3270_NAME@ | |
36 | 30 | |
37 | -#---[ Configuration values ]------------------------------------------------------------- | |
31 | +SOURCES= \ | |
32 | + $(wildcard src/lib3270/*.c) \ | |
33 | + $(wildcard src/lib3270/@OSNAME@/*.c) \ | |
34 | + $(wildcard src/lib3270/@OSNAME@/*.rc) | |
38 | 35 | |
39 | -PACKAGE_NAME=@PACKAGE_NAME@ | |
40 | -PACKAGE_VERSION=@PACKAGE_VERSION@ | |
41 | -PACKAGE_TARNAME=@PACKAGE_TARNAME@ | |
36 | +#---[ Tools ]---------------------------------------------------------------------------- | |
37 | + | |
38 | +CC=@CC@ | |
39 | +LD=@CC@ | |
40 | +LN_S=@LN_S@ | |
41 | +MKDIR=@MKDIR_P@ | |
42 | + | |
43 | +#---[ Paths ]---------------------------------------------------------------------------- | |
42 | 44 | |
43 | 45 | prefix=@prefix@ |
44 | 46 | exec_prefix=@exec_prefix@ |
45 | 47 | bindir=@bindir@ |
46 | 48 | sbindir=@sbindir@ |
47 | 49 | libdir=@libdir@ |
50 | +includedir=@includedir@ | |
51 | +datarootdir=@datarootdir@ | |
52 | +localedir=@localedir@ | |
53 | +docdir=@docdir@ | |
54 | +sysconfdir=@sysconfdir@ | |
48 | 55 | |
49 | 56 | BASEDIR=@BASEDIR@ |
50 | -SRCDIR=$(BASEDIR)/.src/$(PACKAGE_TARNAME)-$(PACKAGE_VERSION)/src/lib3270 | |
51 | -POTDIR=$(BASEDIR)/.pot/lib3270 | |
52 | 57 | |
53 | -OBJDIR=$(BASEDIR)/.obj/lib3270 | |
58 | +OBJDIR=$(BASEDIR)/.obj/@DLLPREFIX@$(LIBNAME) | |
54 | 59 | OBJDBG=$(OBJDIR)/Debug |
55 | 60 | OBJRLS=$(OBJDIR)/Release |
56 | 61 | |
57 | -BINDIR=$(BASEDIR)/.bin | |
62 | +BINDIR=$(BASEDIR)/.bin/@DLLPREFIX@$(LIBNAME) | |
58 | 63 | BINDBG=$(BINDIR)/Debug |
59 | 64 | BINRLS=$(BINDIR)/Release |
60 | 65 | |
61 | -INSTALL=@INSTALL@ | |
62 | -INSTALL_DATA=@INSTALL_DATA@ | |
63 | -INSTALL_PROGRAM=@INSTALL_PROGRAM@ | |
64 | - | |
65 | -LN_S=@LN_S@ | |
66 | +#---[ Rules ]---------------------------------------------------------------------------- | |
66 | 67 | |
67 | -AMTAR=@AMTAR@ | |
68 | -SHELL=@SHELL@ | |
69 | -MKDIR=@MKDIR_P@ | |
70 | -XGETTEXT=@XGETTEXT@ | |
71 | -MSGCAT=@MSGCAT@ | |
72 | -VALGRIND=@VALGRIND@ | |
68 | +DEPENDS= \ | |
69 | + Makefile \ | |
70 | + src/include/*.h \ | |
71 | + src/include/lib3270/*.h \ | |
72 | + src/lib3270/*.h | |
73 | 73 | |
74 | -CC=@CC@ | |
75 | -HOST_CC=@HOST_CC@ | |
76 | -LD=@CC@ | |
77 | 74 | |
78 | -CFLAGS=@CFLAGS@ @LIB3270_CFLAGS@ @LIBSSL_CFLAGS@ | |
79 | -LIBS=@LIBS@ @LIBSSL_LIBS@ @LIBICONV@ @INTL_LIBS@ | |
80 | -LDFLAGS=@LDFLAGS@ | |
75 | +CFLAGS= \ | |
76 | + @CFLAGS@ \ | |
77 | + -g \ | |
78 | + -Isrc/include | |
79 | + -DBUILD_DATE=`date +%Y%m%d` \ | |
80 | + @LIBSSL_CFLAGS@ | |
81 | 81 | |
82 | -#---[ Rules ]---------------------------------------------------------------------------- | |
82 | +LIBS= \ | |
83 | + @LIBS@ \ | |
84 | + @LIBSSL_LIBS@ | |
83 | 85 | |
84 | -DEPENDS=$(BASEDIR)/src/include/*.h $(BASEDIR)/src/include/lib3270/*.h *.h Makefile | |
86 | +#---[ Debug Rules ]---------------------------------------------------------------------- | |
85 | 87 | |
86 | 88 | $(OBJDBG)/%.o: \ |
87 | 89 | %.c \ |
... | ... | @@ -89,10 +91,12 @@ $(OBJDBG)/%.o: \ |
89 | 91 | |
90 | 92 | @echo $< ... |
91 | 93 | @$(MKDIR) `dirname $@` |
92 | - @$(CC) $(CFLAGS) \ | |
93 | - @DBG_CFLAGS@ \ | |
94 | - -DBUILD_DATE=`date +"0x%Y%m%d"`\ | |
95 | - -o $@ -c $< | |
94 | + @$(CC) \ | |
95 | + $(CFLAGS) \ | |
96 | + -Wall -Wextra -fstack-check -DDEBUG=1 \ | |
97 | + -o $@ -c $< | |
98 | + | |
99 | +#---[ Release Rules ]-------------------------------------------------------------------- | |
96 | 100 | |
97 | 101 | $(OBJRLS)/%.o: \ |
98 | 102 | %.c \ |
... | ... | @@ -100,177 +104,101 @@ $(OBJRLS)/%.o: \ |
100 | 104 | |
101 | 105 | @echo $< ... |
102 | 106 | @$(MKDIR) `dirname $@` |
103 | - @$(CC) $(CFLAGS) \ | |
104 | - @RLS_CFLAGS@ \ | |
105 | - -DBUILD_DATE=`date +"0x%Y%m%d"` \ | |
106 | - -o $@ -c $< | |
107 | - | |
108 | - | |
109 | -$(POTDIR)/%.pot: %.c | |
110 | - | |
111 | - @echo $(notdir $@) ... | |
112 | - @$(MKDIR) `dirname $@` | |
113 | - @$(XGETTEXT) \ | |
114 | - --default-domain=$(PACKAGE) \ | |
115 | - --language=C \ | |
116 | - --keyword=_ \ | |
117 | - --keyword=N_ \ | |
118 | - --keyword=MSG_:2 \ | |
119 | - --output=$@ \ | |
120 | - $< | |
121 | - | |
122 | - @touch $@ | |
107 | + @$(CC) \ | |
108 | + $(CFLAGS) \ | |
109 | + -DNDEBUG=1 \ | |
110 | + -o $@ -c $< | |
123 | 111 | |
124 | 112 | #---[ Release Targets ]------------------------------------------------------------------ |
125 | 113 | |
126 | 114 | all: \ |
127 | - $(BINRLS)/$(LIBNAME) | |
115 | + $(BINRLS)/@DLLPREFIX@$(LIBNAME)@DLLEXT@ | |
128 | 116 | |
129 | 117 | Release: \ |
130 | - $(BINRLS)/$(LIBNAME) | |
118 | + $(BINRLS)/@DLLPREFIX@$(LIBNAME)@DLLEXT@ | |
131 | 119 | |
132 | -$(BASEDIR)/.pot/lib@LIB3270_NAME@.pot: \ | |
133 | - $(foreach SRC, $(basename $(SOURCES)), $(POTDIR)/$(SRC).pot) | |
120 | +$(BINRLS)/@DLLPREFIX@$(LIBNAME)@DLLEXT@: \ | |
121 | + $(BINRLS)/@DLLPREFIX@$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@ | |
134 | 122 | |
123 | + @echo $< ... | |
135 | 124 | @rm -f $@ |
136 | - @mkdir -p `dirname $@` | |
137 | - @$(MSGCAT) --sort-output $^ > $@ | |
138 | - | |
139 | -$(BINRLS)/$(LIBNAME): \ | |
140 | - $(BINRLS)/$(LIBNAME).@PACKAGE_MAJOR_VERSION@ | |
125 | + @$(LN_S) \ | |
126 | + @DLLPREFIX@$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@ \ | |
127 | + $@ | |
141 | 128 | |
142 | - @echo $(basename $@) ... | |
143 | - @$(MKDIR) `dirname $@` | |
144 | - @$(LN_S) -f $(LIBNAME).@PACKAGE_MAJOR_VERSION@ $@ | |
145 | - | |
146 | -$(BINRLS)/$(LIBNAME).@PACKAGE_MAJOR_VERSION@: \ | |
147 | - $(BINRLS)/$(LIBNAME).@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@ | |
129 | +$(BINRLS)/@DLLPREFIX@$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@: \ | |
130 | + $(BINRLS)/@DLLPREFIX@$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@ | |
148 | 131 | |
149 | - @echo $(basename $@) ... | |
150 | - @$(MKDIR) `dirname $@` | |
151 | - @$(LN_S) -f $(LIBNAME).@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@ $@ | |
132 | + @rm -f $@ | |
133 | + @$(LN_S) \ | |
134 | + @DLLPREFIX@$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@ \ | |
135 | + $@ | |
152 | 136 | |
153 | -$(BINRLS)/$(LIBNAME).@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@: \ | |
137 | +$(BINRLS)/@DLLPREFIX@$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@: \ | |
154 | 138 | $(foreach SRC, $(basename $(SOURCES)), $(OBJRLS)/$(SRC).o) |
155 | 139 | |
156 | - @echo $(basename $@) ... | |
157 | 140 | @$(MKDIR) `dirname $@` |
158 | - @$(LD) -shared -Wl,-soname,$(@F) $(LDFLAGS) -o $@ $^ $(LIBS) | |
159 | - | |
160 | -install: \ | |
161 | - $(BINRLS)/$(LIBNAME) | |
162 | - | |
163 | - @$(MKDIR) $(DESTDIR)$(libdir) | |
164 | - | |
165 | - @$(INSTALL_PROGRAM) \ | |
166 | - $(BINRLS)/$(LIBNAME).@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@ \ | |
167 | - $(DESTDIR)$(libdir) | |
141 | + @echo $< ... | |
142 | + @$(LD) \ | |
143 | + -shared -Wl,-soname,$(@F) \ | |
144 | + -o $@ \ | |
145 | + $(LDFLAGS) \ | |
146 | + $(LIBS) | |
168 | 147 | |
169 | - @$(LN_S) -f \ | |
170 | - $(LIBNAME).@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@ \ | |
171 | - $(DESTDIR)$(libdir)/$(LIBNAME).@PACKAGE_MAJOR_VERSION@ | |
148 | +#---[ Install Targets ]------------------------------------------------------------------ | |
172 | 149 | |
173 | - @$(LN_S) -f \ | |
174 | - $(LIBNAME).@PACKAGE_MAJOR_VERSION@ \ | |
175 | - $(DESTDIR)$(libdir)/$(LIBNAME) | |
176 | 150 | |
177 | 151 | #---[ Debug Targets ]-------------------------------------------------------------------- |
178 | 152 | |
179 | 153 | Debug: \ |
180 | - $(BINDBG)/$(LIBNAME) | |
181 | - | |
182 | -$(BINDBG)/$(LIBNAME): \ | |
183 | - $(BINDBG)/$(LIBNAME).@PACKAGE_MAJOR_VERSION@ | |
184 | - | |
185 | - @echo $(basename $@) ... | |
186 | - @$(MKDIR) `dirname $@` | |
187 | - @$(LN_S) -f $(LIBNAME).@PACKAGE_MAJOR_VERSION@ $@ | |
188 | - | |
189 | -$(BINDBG)/$(LIBNAME).@PACKAGE_MAJOR_VERSION@: \ | |
190 | - $(BINDBG)/$(LIBNAME).@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@ | |
191 | - | |
192 | - @echo $(basename $@) ... | |
193 | - @$(MKDIR) `dirname $@` | |
194 | - @$(LN_S) -f $(LIBNAME).@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@ $@ | |
154 | + $(BINDBG)/@DLLPREFIX@$(LIBNAME)@DLLEXT@ | |
195 | 155 | |
196 | -$(BINDBG)/$(LIBNAME).@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@: \ | |
197 | - $(foreach SRC, $(basename $(SOURCES)), $(OBJDBG)/$(SRC).o) | |
198 | - | |
199 | - @echo $(basename $@) ... | |
200 | - @$(MKDIR) `dirname $@` | |
201 | - @$(LD) -shared -Wl,-soname,$(@F) $(LDFLAGS) -o $@ $^ $(LIBS) | |
202 | - | |
203 | -#---[ Misc Targets ]--------------------------------------------------------------------- | |
156 | +$(BINDBG)/@DLLPREFIX@$(LIBNAME)@DLLEXT@: \ | |
157 | + $(BINDBG)/@DLLPREFIX@$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@ | |
204 | 158 | |
205 | -fallbacks.c: \ | |
206 | - X3270.xad \ | |
207 | - mkfb.c | |
208 | - | |
209 | - @echo $(basename $@) ... | |
210 | - @$(MKDIR) $(BINDIR) | |
211 | - @$(HOST_CC) -g -o $(BINDIR)/mkfb@EXEEXT@ mkfb.c | |
212 | - @$(BINDIR)/mkfb@EXEEXT@ -c X3270.xad $@ | |
159 | + @echo $< ... | |
160 | + @rm -f $@ | |
161 | + @$(LN_S) \ | |
162 | + @DLLPREFIX@$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@ \ | |
163 | + $@ | |
213 | 164 | |
214 | -version.c: \ | |
215 | - ./mkversion.sh | |
165 | +$(BINDBG)/@DLLPREFIX@$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@: \ | |
166 | + $(BINDBG)/@DLLPREFIX@$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@ | |
216 | 167 | |
217 | - @echo $(basename $@) ... | |
218 | - @chmod +x ./mkversion.sh | |
219 | - @./mkversion.sh | |
168 | + @rm -f $@ | |
169 | + @$(LN_S) \ | |
170 | + @DLLPREFIX@$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@ \ | |
171 | + $@ | |
220 | 172 | |
221 | -$(BINDBG)/testprogram$(EXEEXT): \ | |
222 | - $(OBJDBG)/testprogram.o \ | |
173 | +$(BINDBG)/@DLLPREFIX@$(LIBNAME)@DLLEXT@.@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@: \ | |
223 | 174 | $(foreach SRC, $(basename $(SOURCES)), $(OBJDBG)/$(SRC).o) |
224 | 175 | |
225 | - @echo $(basename $@) ... | |
226 | 176 | @$(MKDIR) `dirname $@` |
227 | - @$(LD) -o $@ $^ $(LIBS) | |
228 | - | |
229 | -run: \ | |
230 | - $(BINDBG)/testprogram$(EXEEXT) | |
231 | - | |
232 | -ifeq ($(VALGRIND),no) | |
233 | - @cd "$(ROOTDIR)" ; .bin/Debug/testprogram$(EXEEXT) | |
234 | -else | |
235 | - @cd "$(ROOTDIR)" ; \$(VALGRIND) --leak-check=full --gen-suppressions=all $(BINDBG)/testprogram$(EXEEXT) | |
236 | -endif | |
237 | - | |
238 | -$(SRCDIR): \ | |
239 | - clean | |
240 | - | |
241 | - @$(MKDIR) $@ | |
242 | - @$(INSTALL_DATA) *.c *.h *.in *.cbp *.xad $@ | |
177 | + @echo $< ... | |
178 | + @$(LD) \ | |
179 | + -shared -Wl,-soname,$(@F) \ | |
180 | + -o $@ \ | |
181 | + $(LDFLAGS) \ | |
182 | + $(LIBS) | |
243 | 183 | |
184 | +#---[ Clean Targets ]-------------------------------------------------------------------- | |
244 | 185 | |
245 | -#---[ Clean Targets]--------------------------------------------------------------------- | |
186 | +clean: \ | |
187 | + cleanDebug \ | |
188 | + cleanRelease | |
246 | 189 | |
247 | 190 | cleanDebug: |
248 | 191 | |
249 | - @rm -fr $(OBJDBG) \ | |
250 | - $(BINDBG)/$(LIBNAME) \ | |
251 | - $(BINDBG)/$(LIBNAME).@PACKAGE_MAJOR_VERSION@ \ | |
252 | - $(BINDBG)/$(LIBNAME).@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@ | |
253 | - | |
254 | - @rm -f \ | |
255 | - fallbacks.c \ | |
256 | - version.c | |
192 | + @rm -fr $(OBJDBG) | |
193 | + @rm -fr $(BINDBG) | |
257 | 194 | |
258 | 195 | cleanRelease: |
259 | 196 | |
260 | - @rm -fr $(OBJRLS) \ | |
261 | - $(BINRLS)/$(LIBNAME) \ | |
262 | - $(BINRLS)/$(LIBNAME).@PACKAGE_MAJOR_VERSION@ \ | |
263 | - $(BINRLS)/$(LIBNAME).@PACKAGE_MAJOR_VERSION@.@PACKAGE_MINOR_VERSION@ \ | |
264 | - $(POTDIR) | |
197 | + @rm -fr $(OBJRLS) | |
198 | + @rm -fr $(BINRLS) | |
265 | 199 | |
266 | - @rm -f \ | |
267 | - fallbacks.c \ | |
268 | - version.c | |
269 | 200 | clean: \ |
270 | 201 | cleanDebug \ |
271 | 202 | cleanRelease |
272 | 203 | |
273 | 204 | |
274 | - | |
275 | - | |
276 | - | ... | ... |
configure.ac
... | ... | @@ -74,6 +74,7 @@ dnl --------------------------------------------------------------------------- |
74 | 74 | |
75 | 75 | case "$host" in |
76 | 76 | *-mingw32) |
77 | + app_cv_osname="windows" | |
77 | 78 | CFLAGS="$CFLAGS -pthread -D_WIN32_WINNT=0x0600" |
78 | 79 | LDFLAGS="$LDFLAGS -pthread -static-libgcc -static-libstdc++" |
79 | 80 | DLLEXT=".dll" |
... | ... | @@ -84,6 +85,7 @@ case "$host" in |
84 | 85 | LDFLAGS="$LDFLAGS -pthread" |
85 | 86 | app_cv_datadir="/usr/share" |
86 | 87 | app_cv_confdir="/etc" |
88 | + app_cv_osname="linux" | |
87 | 89 | LOGDIR="/var/log" |
88 | 90 | ;; |
89 | 91 | |
... | ... | @@ -92,6 +94,7 @@ case "$host" in |
92 | 94 | LDFLAGS="$LDFLAGS -pthread" |
93 | 95 | app_cv_datadir="/usr/share" |
94 | 96 | app_cv_confdir="/etc" |
97 | + app_cv_osname="linux" | |
95 | 98 | LOGDIR="/var/log" |
96 | 99 | DLLEXT=".so" |
97 | 100 | DLLPREFIX="lib" |
... | ... | @@ -100,6 +103,7 @@ esac |
100 | 103 | |
101 | 104 | AC_SUBST(DATADIR,$app_cv_datadir) |
102 | 105 | AC_SUBST(CONFDIR,$app_cv_confdir) |
106 | +AC_SUBST(OSNAME,$app_cv_confdir) | |
103 | 107 | AC_SUBST(LIBS) |
104 | 108 | AC_SUBST(LOGDIR) |
105 | 109 | AC_SUBST(DLLEXT) |
... | ... | @@ -364,7 +368,7 @@ dnl Configure which files to generate. |
364 | 368 | dnl --------------------------------------------------------------------------- |
365 | 369 | |
366 | 370 | AC_CONFIG_FILES(sdk/lib3270.pc) |
367 | -dnl AC_CONFIG_FILES(Makefile) | |
371 | +AC_CONFIG_FILES(Makefile) | |
368 | 372 | |
369 | 373 | dnl --------------------------------------------------------------------------- |
370 | 374 | dnl Output the generated config.status script. | ... | ... |
lib3270.cbp
... | ... | @@ -3,20 +3,21 @@ |
3 | 3 | <FileVersion major="1" minor="6" /> |
4 | 4 | <Project> |
5 | 5 | <Option title="3270 C Access Library" /> |
6 | + <Option makefile_is_custom="1" /> | |
6 | 7 | <Option pch_mode="2" /> |
7 | 8 | <Option compiler="gcc" /> |
8 | 9 | <Build> |
9 | 10 | <Target title="Debug"> |
10 | - <Option output=".bin/Debug/3270 C Access Library" prefix_auto="1" extension_auto="1" /> | |
11 | + <Option output=".bin/lib3270/Debug/3270" imp_lib="$(TARGET_OUTPUT_DIR)$(TARGET_OUTPUT_BASENAME).a" def_file="$(TARGET_OUTPUT_DIR)$(TARGET_OUTPUT_BASENAME).def" prefix_auto="1" extension_auto="1" /> | |
11 | 12 | <Option object_output=".obj/Debug/" /> |
12 | - <Option type="1" /> | |
13 | + <Option type="3" /> | |
13 | 14 | <Option compiler="gcc" /> |
14 | 15 | <Compiler> |
15 | 16 | <Add option="-g" /> |
16 | 17 | </Compiler> |
17 | 18 | </Target> |
18 | 19 | <Target title="Release"> |
19 | - <Option output=".bin/Release/3270 C Access Library" prefix_auto="1" extension_auto="1" /> | |
20 | + <Option output=".bin/lib3270/Release/lib3270" prefix_auto="1" extension_auto="1" /> | |
20 | 21 | <Option object_output=".obj/Release/" /> |
21 | 22 | <Option type="1" /> |
22 | 23 | <Option compiler="gcc" /> | ... | ... |