]> git.kernelconcepts.de Git - karo-tx-redboot.git/blob - doc/html/cdl-guide/ref.no-define.html
RedBoot TX53 Release 2012-02-15
[karo-tx-redboot.git] / doc / html / cdl-guide / ref.no-define.html
1 <!-- Copyright (C) 2003 Red Hat, Inc.                                -->
2 <!-- This material may be distributed only subject to the terms      -->
3 <!-- and conditions set forth in the Open Publication License, v1.0  -->
4 <!-- or later (the latest version is presently available at          -->
5 <!-- http://www.opencontent.org/openpub/).                           -->
6 <!-- Distribution of the work or derivative of the work in any       -->
7 <!-- standard (paper) book form is prohibited unless prior           -->
8 <!-- permission is obtained from the copyright holder.               -->
9 <HTML
10 ><HEAD
11 ><TITLE
12 >no_define</TITLE
13 ><meta name="MSSmartTagsPreventParsing" content="TRUE">
14 <META
15 NAME="GENERATOR"
16 CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
17 "><LINK
18 REL="HOME"
19 TITLE="The eCos Component Writer's Guide"
20 HREF="cdl-guide.html"><LINK
21 REL="UP"
22 TITLE="CDL Language Specification"
23 HREF="reference.html"><LINK
24 REL="PREVIOUS"
25 TITLE="make_object"
26 HREF="ref.make-object.html"><LINK
27 REL="NEXT"
28 TITLE="parent"
29 HREF="ref.parent.html"></HEAD
30 ><BODY
31 CLASS="REFENTRY"
32 BGCOLOR="#FFFFFF"
33 TEXT="#000000"
34 LINK="#0000FF"
35 VLINK="#840084"
36 ALINK="#0000FF"
37 ><DIV
38 CLASS="NAVHEADER"
39 ><TABLE
40 SUMMARY="Header navigation table"
41 WIDTH="100%"
42 BORDER="0"
43 CELLPADDING="0"
44 CELLSPACING="0"
45 ><TR
46 ><TH
47 COLSPAN="3"
48 ALIGN="center"
49 >The <SPAN
50 CLASS="APPLICATION"
51 >eCos</SPAN
52 > Component Writer's Guide</TH
53 ></TR
54 ><TR
55 ><TD
56 WIDTH="10%"
57 ALIGN="left"
58 VALIGN="bottom"
59 ><A
60 HREF="ref.make-object.html"
61 ACCESSKEY="P"
62 >Prev</A
63 ></TD
64 ><TD
65 WIDTH="80%"
66 ALIGN="center"
67 VALIGN="bottom"
68 ></TD
69 ><TD
70 WIDTH="10%"
71 ALIGN="right"
72 VALIGN="bottom"
73 ><A
74 HREF="ref.parent.html"
75 ACCESSKEY="N"
76 >Next</A
77 ></TD
78 ></TR
79 ></TABLE
80 ><HR
81 ALIGN="LEFT"
82 WIDTH="100%"></DIV
83 ><H1
84 ><A
85 NAME="REF.NO-DEFINE"><SPAN
86 CLASS="PROPERTY"
87 >no_define</SPAN
88 ></H1
89 ><DIV
90 CLASS="REFNAMEDIV"
91 ><A
92 NAME="AEN4836"
93 ></A
94 ><H2
95 >Name</H2
96 >Property <SPAN
97 CLASS="PROPERTY"
98 >no_define</SPAN
99 >&nbsp;--&nbsp;Suppress the normal generation of a preprocessor
100 <TT
101 CLASS="LITERAL"
102 >#define</TT
103 > symbol in a configuration header file.</DIV
104 ><DIV
105 CLASS="REFSYNOPSISDIV"
106 ><A
107 NAME="AEN4841"><H2
108 >Synopsis</H2
109 ><TABLE
110 BORDER="5"
111 BGCOLOR="#E0E0F0"
112 WIDTH="70%"
113 ><TR
114 ><TD
115 ><PRE
116 CLASS="SYNOPSIS"
117 >cdl_option &lt;name&gt; {
118     no_define
119     &#8230;
120 }</PRE
121 ></TD
122 ></TR
123 ></TABLE
124 ></DIV
125 ><DIV
126 CLASS="REFSECT1"
127 ><A
128 NAME="AEN4843"
129 ></A
130 ><H2
131 >Description</H2
132 ><P
133 >By default all active and enabled properties result in either one or
134 two <TT
135 CLASS="LITERAL"
136 >#define'd</TT
137 > symbols in the package's
138 configuration header file, and this is one of the main ways in which
139 options can affect packages at build-time. It is possible to suppress
140 the default <TT
141 CLASS="LITERAL"
142 >#define's</TT
143 > by specifying a
144 <SPAN
145 CLASS="PROPERTY"
146 >no_define</SPAN
147 > property in the body of an option or other <SPAN
148 CLASS="APPLICATION"
149 >CDL</SPAN
150 > entity. 
151 This property takes no arguments and should occur only once in a given
152 body. </P
153 ><P
154 >The <SPAN
155 CLASS="PROPERTY"
156 >no_define</SPAN
157 > property is frequently used in conjunction with one of
158 the other header-file related properties such as <SPAN
159 CLASS="PROPERTY"
160 >define</SPAN
161 >. If one of
162 the other properties is used to export the required information to a
163 configuration header file then often there is little point in
164 exporting the default <TT
165 CLASS="LITERAL"
166 >#define</TT
167 > as
168 well&nbsp;&#8212;&nbsp; in fact there could be a name clash. The
169 <SPAN
170 CLASS="PROPERTY"
171 >no_define</SPAN
172 > property can also be useful if the sole purpose of an
173 option is to affect which files get built, and the default
174 <TT
175 CLASS="LITERAL"
176 >#define</TT
177 > would never get tested in any source code.
178 However in such cases the default <TT
179 CLASS="LITERAL"
180 >#define</TT
181 > is
182 mostly harmless and there is little to be gained by suppressing it.</P
183 ></DIV
184 ><DIV
185 CLASS="REFSECT1"
186 ><A
187 NAME="AEN4857"
188 ></A
189 ><H2
190 >Example</H2
191 ><TABLE
192 BORDER="5"
193 BGCOLOR="#E0E0F0"
194 WIDTH="70%"
195 ><TR
196 ><TD
197 ><PRE
198 CLASS="PROGRAMLISTING"
199 >cdl_component CYG_HAL_STARTUP {
200     display       "Startup type"
201     flavor        data
202     legal_values  { "RAM" "ROM" }
203     default_value {"RAM"}
204     no_define
205     define -file system.h CYG_HAL_STARTUP
206     &#8230;
207 }</PRE
208 ></TD
209 ></TR
210 ></TABLE
211 ></DIV
212 ><DIV
213 CLASS="REFSECT1"
214 ><A
215 NAME="AEN4860"
216 ></A
217 ><H2
218 >See Also</H2
219 ><P
220 >Properties <A
221 HREF="ref.define.html"
222 ><SPAN
223 CLASS="PROPERTY"
224 >define</SPAN
225 ></A
226 >,
227 <A
228 HREF="ref.define-format.html"
229 ><SPAN
230 CLASS="PROPERTY"
231 >define_format</SPAN
232 ></A
233 >,
234 <A
235 HREF="ref.define-header.html"
236 ><SPAN
237 CLASS="PROPERTY"
238 >define_header</SPAN
239 ></A
240 >,
241 <A
242 HREF="ref.define-proc.html"
243 ><SPAN
244 CLASS="PROPERTY"
245 >define_proc</SPAN
246 ></A
247 > and
248 <A
249 HREF="ref.if-define.html"
250 ><SPAN
251 CLASS="PROPERTY"
252 >if_define</SPAN
253 ></A
254 >.</P
255 ></DIV
256 ><DIV
257 CLASS="NAVFOOTER"
258 ><HR
259 ALIGN="LEFT"
260 WIDTH="100%"><TABLE
261 SUMMARY="Footer navigation table"
262 WIDTH="100%"
263 BORDER="0"
264 CELLPADDING="0"
265 CELLSPACING="0"
266 ><TR
267 ><TD
268 WIDTH="33%"
269 ALIGN="left"
270 VALIGN="top"
271 ><A
272 HREF="ref.make-object.html"
273 ACCESSKEY="P"
274 >Prev</A
275 ></TD
276 ><TD
277 WIDTH="34%"
278 ALIGN="center"
279 VALIGN="top"
280 ><A
281 HREF="cdl-guide.html"
282 ACCESSKEY="H"
283 >Home</A
284 ></TD
285 ><TD
286 WIDTH="33%"
287 ALIGN="right"
288 VALIGN="top"
289 ><A
290 HREF="ref.parent.html"
291 ACCESSKEY="N"
292 >Next</A
293 ></TD
294 ></TR
295 ><TR
296 ><TD
297 WIDTH="33%"
298 ALIGN="left"
299 VALIGN="top"
300 ><SPAN
301 CLASS="PROPERTY"
302 >make_object</SPAN
303 ></TD
304 ><TD
305 WIDTH="34%"
306 ALIGN="center"
307 VALIGN="top"
308 ><A
309 HREF="reference.html"
310 ACCESSKEY="U"
311 >Up</A
312 ></TD
313 ><TD
314 WIDTH="33%"
315 ALIGN="right"
316 VALIGN="top"
317 ><SPAN
318 CLASS="PROPERTY"
319 >parent</SPAN
320 ></TD
321 ></TR
322 ></TABLE
323 ></DIV
324 ></BODY
325 ></HTML
326 >