]> git.kernelconcepts.de Git - karo-tx-redboot.git/blob - doc/html/cdl-guide/ref.include-files.html
RedBoot TX53 Release 2012-02-15
[karo-tx-redboot.git] / doc / html / cdl-guide / ref.include-files.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 >include_files</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="include_dir"
26 HREF="ref.include-dir.html"><LINK
27 REL="NEXT"
28 TITLE="legal_values"
29 HREF="ref.legal-values.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.include-dir.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.legal-values.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.INCLUDE-FILES"><SPAN
86 CLASS="PROPERTY"
87 >include_files</SPAN
88 ></H1
89 ><DIV
90 CLASS="REFNAMEDIV"
91 ><A
92 NAME="AEN4577"
93 ></A
94 ><H2
95 >Name</H2
96 >Property <SPAN
97 CLASS="PROPERTY"
98 >include_files</SPAN
99 >&nbsp;--&nbsp;List the header files that are exported by a package.</DIV
100 ><DIV
101 CLASS="REFSYNOPSISDIV"
102 ><A
103 NAME="AEN4581"><H2
104 >Synopsis</H2
105 ><TABLE
106 BORDER="5"
107 BGCOLOR="#E0E0F0"
108 WIDTH="70%"
109 ><TR
110 ><TD
111 ><PRE
112 CLASS="SYNOPSIS"
113 >cdl_package &lt;name&gt; {
114     include_files &lt;file1&gt; &#8230;
115     &#8230;
116 }</PRE
117 ></TD
118 ></TR
119 ></TABLE
120 ></DIV
121 ><DIV
122 CLASS="REFSECT1"
123 ><A
124 NAME="AEN4583"
125 ></A
126 ><H2
127 >Description</H2
128 ><P
129 >Most packages export one or more header files defining their public
130 interface. For example the C library exports header files such as
131 <TT
132 CLASS="FILENAME"
133 >stdio.h</TT
134 > and
135 <TT
136 CLASS="FILENAME"
137 >ctype.h</TT
138 >. 
139 If the package follows the <A
140 HREF="package.html#PACKAGE.HIERARCHY"
141 >directory
142 layout conventions</A
143 > then the exported header files will normally
144 be found in the package's
145 <TT
146 CLASS="FILENAME"
147 >include</TT
148 > sub-directory. For
149 packages which do not follow these conventions, typically simple ones
150 for which a complicated sub-directory hierarchy is undesirable, there
151 has to be an alternative way of specifying which header file or files
152 define the public interface. The <SPAN
153 CLASS="PROPERTY"
154 >include_files</SPAN
155 > property provides
156 support for this.</P
157 ><P
158 >By default, if a package does not have an
159 <TT
160 CLASS="FILENAME"
161 >include</TT
162 > subdirectory and it
163 does not have an <SPAN
164 CLASS="PROPERTY"
165 >include_files</SPAN
166 > property then all files with a suffix
167 of <TT
168 CLASS="LITERAL"
169 >.h</TT
170 >, <TT
171 CLASS="LITERAL"
172 >.hxx</TT
173 >,
174 <TT
175 CLASS="LITERAL"
176 >.inl</TT
177 > or <TT
178 CLASS="LITERAL"
179 >.inc</TT
180 > will be treated as
181 public header files. However some of these may be private files
182 containing implementation details. If there is an
183 <SPAN
184 CLASS="PROPERTY"
185 >include_files</SPAN
186 > property then only the files listed in that property
187 will be exported.</P
188 ><P
189 >If a package should not export any header files but does contain
190 private implementation headers, an <SPAN
191 CLASS="PROPERTY"
192 >include_files</SPAN
193 > property with no
194 arguments should be used.</P
195 ></DIV
196 ><DIV
197 CLASS="REFSECT1"
198 ><A
199 NAME="AEN4601"
200 ></A
201 ><H2
202 >Example</H2
203 ><TABLE
204 BORDER="5"
205 BGCOLOR="#E0E0F0"
206 WIDTH="70%"
207 ><TR
208 ><TD
209 ><PRE
210 CLASS="PROGRAMLISTING"
211 >cdl_package &lt;SOME_PACKAGE&gt; {
212     &#8230;
213     include_dir   &lt;some directory&gt;
214     include_files interface.h
215 }
216
217 cdl_package &lt;ANOTHER_PACKAGE&gt; {
218     &#8230;
219     include_files
220 }</PRE
221 ></TD
222 ></TR
223 ></TABLE
224 ></DIV
225 ><DIV
226 CLASS="REFSECT1"
227 ><A
228 NAME="AEN4604"
229 ></A
230 ><H2
231 >See Also</H2
232 ><P
233 >Property <A
234 HREF="ref.include-dir.html"
235 ><SPAN
236 CLASS="PROPERTY"
237 >include_dir</SPAN
238 ></A
239 >, and
240 command <A
241 HREF="ref.cdl-package.html"
242 ><TT
243 CLASS="LITERAL"
244 >cdl_package</TT
245 ></A
246 >.</P
247 ></DIV
248 ><DIV
249 CLASS="NAVFOOTER"
250 ><HR
251 ALIGN="LEFT"
252 WIDTH="100%"><TABLE
253 SUMMARY="Footer navigation table"
254 WIDTH="100%"
255 BORDER="0"
256 CELLPADDING="0"
257 CELLSPACING="0"
258 ><TR
259 ><TD
260 WIDTH="33%"
261 ALIGN="left"
262 VALIGN="top"
263 ><A
264 HREF="ref.include-dir.html"
265 ACCESSKEY="P"
266 >Prev</A
267 ></TD
268 ><TD
269 WIDTH="34%"
270 ALIGN="center"
271 VALIGN="top"
272 ><A
273 HREF="cdl-guide.html"
274 ACCESSKEY="H"
275 >Home</A
276 ></TD
277 ><TD
278 WIDTH="33%"
279 ALIGN="right"
280 VALIGN="top"
281 ><A
282 HREF="ref.legal-values.html"
283 ACCESSKEY="N"
284 >Next</A
285 ></TD
286 ></TR
287 ><TR
288 ><TD
289 WIDTH="33%"
290 ALIGN="left"
291 VALIGN="top"
292 ><SPAN
293 CLASS="PROPERTY"
294 >include_dir</SPAN
295 ></TD
296 ><TD
297 WIDTH="34%"
298 ALIGN="center"
299 VALIGN="top"
300 ><A
301 HREF="reference.html"
302 ACCESSKEY="U"
303 >Up</A
304 ></TD
305 ><TD
306 WIDTH="33%"
307 ALIGN="right"
308 VALIGN="top"
309 ><SPAN
310 CLASS="PROPERTY"
311 >legal_values</SPAN
312 ></TD
313 ></TR
314 ></TABLE
315 ></DIV
316 ></BODY
317 ></HTML
318 >