OpenCores
URL https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [rtos/] [ecos-2.0/] [packages/] [language/] [c/] [libc/] [stdio/] [v2_0/] [cdl/] [stdio.cdl] - Blame information for rev 174

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 27 unneback
# ====================================================================
2
#
3
#      stdio.cdl
4
#
5
#      C library stdio related configuration data
6
#
7
# ====================================================================
8
#####ECOSGPLCOPYRIGHTBEGIN####
9
## -------------------------------------------
10
## This file is part of eCos, the Embedded Configurable Operating System.
11
## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
12
##
13
## eCos is free software; you can redistribute it and/or modify it under
14
## the terms of the GNU General Public License as published by the Free
15
## Software Foundation; either version 2 or (at your option) any later version.
16
##
17
## eCos is distributed in the hope that it will be useful, but WITHOUT ANY
18
## WARRANTY; without even the implied warranty of MERCHANTABILITY or
19
## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
20
## for more details.
21
##
22
## You should have received a copy of the GNU General Public License along
23
## with eCos; if not, write to the Free Software Foundation, Inc.,
24
## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
25
##
26
## As a special exception, if other files instantiate templates or use macros
27
## or inline functions from this file, or you compile this file and link it
28
## with other works to produce a work based on this file, this file does not
29
## by itself cause the resulting work to be covered by the GNU General Public
30
## License. However the source code for this file must still be made available
31
## in accordance with section (3) of the GNU General Public License.
32
##
33
## This exception does not invalidate any other reasons why a work based on
34
## this file might be covered by the GNU General Public License.
35
##
36
## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
37
## at http://sources.redhat.com/ecos/ecos-license/
38
## -------------------------------------------
39
#####ECOSGPLCOPYRIGHTEND####
40
# ====================================================================
41
######DESCRIPTIONBEGIN####
42
#
43
# Author(s):      jlarmour
44
# Contributors:
45
# Date:           2000-04-14
46
#
47
#####DESCRIPTIONEND####
48
#
49
# ====================================================================
50
 
51
cdl_package CYGPKG_LIBC_STDIO {
52
    display       "ISO C library standard input/output functions"
53
    description   "
54
        This package provides standard input/output functions associated
55
        with the header file  as specified by the
56
        ISO C standard - ISO/IEC 9899:1990."
57
    doc           ref/libc.html
58
    include_dir   cyg/libc/stdio
59
    parent        CYGPKG_LIBC
60
    requires      CYGPKG_IO
61
    requires      CYGPKG_IO_SERIAL_HALDIAG
62
    requires      CYGPKG_LIBC_I18N
63
    implements    CYGINT_ISO_STDIO_FILETYPES
64
    implements    CYGINT_ISO_STDIO_FILEACCESS
65
    implements    CYGINT_ISO_STDIO_FORMATTED_IO
66
    implements    CYGINT_ISO_STDIO_CHAR_IO
67
    implements    CYGINT_ISO_STDIO_DIRECT_IO
68
    implements    CYGINT_ISO_STDIO_ERROR
69
    implements    CYGINT_ISO_STDIO_STREAMS
70
    requires      { CYGBLD_ISO_STDIO_FILETYPES_HEADER == \
71
                    "" }
72
    requires      { CYGBLD_ISO_STDIO_FILEACCESS_HEADER == \
73
                    "" }
74
    requires      { CYGBLD_ISO_STDIO_FORMATTED_IO_HEADER == \
75
                    "" }
76
    requires      { CYGBLD_ISO_STDIO_CHAR_IO_HEADER == \
77
                    "" }
78
    requires      { CYGBLD_ISO_STDIO_DIRECT_IO_HEADER == \
79
                    "" }
80
    requires      { CYGBLD_ISO_STDIO_ERROR_HEADER == \
81
                    "" }
82
    requires      { CYGBLD_ISO_STDIO_STREAMS_HEADER == \
83
                    "" }
84
    requires      CYGPKG_ISOINFRA
85
    requires      CYGINT_ISO_ERRNO_CODES
86
    requires      CYGINT_ISO_ERRNO
87
    requires      CYGINT_ISO_STRERROR
88
    requires      CYGINT_ISO_STRING_STRFUNCS
89
    requires      CYGINT_ISO_STRING_MEMFUNCS
90
    # The following is for scanf only. We could express this better,
91
    # particularly since scanf is also dependent on the optional ungetc.
92
    requires      CYGINT_ISO_STDLIB_STRCONV
93
 
94
    compile       common/fclose.cxx       common/feof.cxx        \
95
                  common/fflush.cxx       common/fopen.cxx       \
96
                  common/freopen.cxx      common/setvbuf.cxx     \
97
                  common/snprintf.cxx     common/sprintf.cxx     \
98
                  common/sscanf.cxx       common/stderr.cxx      \
99
                  common/stdin.cxx        common/stdiofiles.cxx  \
100
                  common/fseek.cxx        common/stdioinlines.cxx\
101
                  common/stdiosupp.cxx    common/stdout.cxx      \
102
                  common/stream.cxx       common/streambuf.cxx   \
103
                  common/ungetc.cxx       common/vsnprintf.cxx   \
104
                  common/vsscanf.cxx                             \
105
                                                                 \
106
                  input/fgetc.cxx         input/fgets.cxx        \
107
                  input/fread.cxx         input/fscanf.cxx       \
108
                  input/gets.cxx          input/scanf.cxx        \
109
                  input/vfscanf.cxx                              \
110
                                                                 \
111
                  output/fnprintf.cxx     output/fprintf.cxx     \
112
                  output/fputc.cxx        output/fputs.cxx       \
113
                  output/fwrite.cxx       output/printf.cxx      \
114
                  output/vfnprintf.cxx
115
 
116
# ====================================================================
117
 
118
    cdl_option CYGIMP_LIBC_STDIO_INLINES {
119
        display       "Inline versions of  functions"
120
        default_value 1
121
        description   "
122
            This option chooses whether some of the
123
            particularly simple functions from
124
             are available as inline
125
            functions. This may improve performance, and as
126
            the functions are small, may even improve code
127
            size."
128
    }
129
 
130
    cdl_option FOPEN_MAX {
131
        display       "Permitted number of open files"
132
        flavor        data
133
        legal_values  3 to 0x7fffffff
134
        default_value 8
135
        description   "
136
            This option controls the guaranteed minimum
137
            number of simultaneously open files. The ISO
138
            C standard requires it to be defined (para
139
            7.9.1), and if strictly compliant, it must be
140
            at least 8 (para 7.9.3). In practice it can be
141
            as low as 3 - for stdin, stdout and stderr."
142
    }
143
 
144
    cdl_option FILENAME_MAX {
145
        display       "Maximum length of filename"
146
        flavor        data
147
        legal_values  1 to 0x7fffffff
148
        default_value 16
149
        description   "
150
            This option defines the maximum allowed size of
151
            a filename in characters. The ISO C standard
152
            requires it to be defined (para 7.9.1)."
153
    }
154
 
155
    cdl_option L_tmpnam {
156
        display       "Maximum length of filenames for temporary files"
157
        flavor        data
158
        legal_values  1 to 0x7fffffff
159
        default_value 16
160
        description   "
161
            This option defines the maximum allowed size of
162
            filenames for temporary files as generated by
163
            tmpnam(). It is measured in characters, and the
164
            ISO C standard requires it to be defined (para
165
            7.9.1)."
166
    }
167
 
168
    cdl_option TMP_MAX {
169
        display       "Unique file names generated by tmpnam()"
170
        flavor        data
171
        legal_values  0 to 0x7fffffff
172
        default_value 0
173
        description   "
174
            This option defines the minimum number of
175
            unique file names generated by tmpnam(). The
176
            ISO C standard requires it to be defined (para
177
            7.9.1)."
178
    }
179
 
180
    cdl_component CYGSEM_LIBC_STDIO_WANT_BUFFERED_IO {
181
        display       "Buffered I/O"
182
        flavor        bool
183
        default_value 1
184
        description   "
185
            This option controls whether input/output
186
            through the  functions is buffered.
187
            This may save some memory per file. It
188
            is equivalent to putting every file into
189
            non-buffered mode (_IONBF) through setvbuf(),
190
            except now it can never be altered back to
191
            buffered mode. Disabling buffering is strictly
192
            non-compliant with the ISO C standard."
193
 
194
        cdl_option CYGNUM_LIBC_STDIO_BUFSIZE {
195
            display        "Default buffer size"
196
            flavor         data
197
            legal_values   1 to 0x7fffffff
198
            default_value  256
199
            description    "
200
                This option defines the default size of buffer
201
                used with calls to setbuf(), and is the default
202
                size for buffered streams that have not had
203
                either setbuf() or setvbuf() invoked on them.
204
                It is exactly equivalent to the standard
205
                constant BUFSIZ, except that it is 0 if
206
                CYGSEM_LIBC_STDIO_WANT_BUFFERED_IO is disabled.
207
                The ISO C standard requires this to be defined
208
                (para 7.9.1), and says it must be at least 256
209
                (para 7.9.2)."
210
        }
211
 
212
        cdl_option CYGSEM_LIBC_STDIO_DYNAMIC_SETVBUF {
213
            display       "setbuf()/setvbuf() allows dynamic setting"
214
            default_value 1
215
            description   "
216
                This option controls whether I/O buffers are
217
                implemented dynamically within the stdio
218
                implementation. Otherwise they will be static,
219
                and cannot be changed by setbuf()/setvbuf(). If
220
                they are static (i.e. this option is disabled),
221
                any attempt to use an arbitrary buffer size, or
222
                to pass a user-supplied buffer to setbuf() or
223
                setvbuf() will fail - the buffer is implemented
224
                internally as a static array taking the size
225
                of the configuration option BUFSIZ. The only
226
                exception is if a user buffer is not supplied,
227
                and the buffer size requested is less than
228
                BUFSIZ. In this case, the buffer will
229
                be configured to only use that amount of
230
                buffering. However the unused memory left over
231
                will NOT be freed. If this option is enabled,
232
                then setvbuf() can be used to assign a user supplied
233
                buffer to the stream.
234
                Either setting can be considered to
235
                be compliant with the ISO C standard."
236
        }
237
 
238
        cdl_option CYGSEM_LIBC_STDIO_SETVBUF_MALLOC {
239
            display       "setbuf()/setvbuf() uses malloc()"
240
            requires      CYGINT_ISO_MALLOC
241
            requires      CYGSEM_LIBC_STDIO_DYNAMIC_SETVBUF
242
            default_value { 0 != CYGINT_ISO_MALLOC }
243
            description   "
244
                This option controls whether buffers set by setbuf() and
245
                setvbuf() may be allocated using malloc()."
246
        }
247
 
248
    }
249
    # Define BUFSIZ with same value as ..._BUFSIZE or 0
250
    cdl_option BUFSIZ {
251
        display       "Default buffer size (BUFSIZ)"
252
        flavor        data
253
        calculated    CYGSEM_LIBC_STDIO_WANT_BUFFERED_IO \
254
                       ? "CYGNUM_LIBC_STDIO_BUFSIZE" : 0
255
    }
256
 
257
    cdl_option CYGFUN_LIBC_STDIO_ungetc {
258
        display       "Support for ungetc()"
259
        default_value   1
260
        description   "
261
            This option controls whether ungetc() is
262
            supported. If not, then some space can be
263
            saved, and speed is improved. Note that you
264
            MUST have this defined if you want to use the
265
            scanf() family of functions."
266
    }
267
 
268
    cdl_option CYGPKG_LIBC_STDIO_OPEN {
269
        display       "Dynamic opening/closing of files"
270
        requires      CYGINT_ISO_MALLOC
271
        implements    CYGINT_ISO_STDIO_POSIX_FDFUNCS
272
        default_value { 0 != CYGINT_ISO_MALLOC }
273
        description   "
274
            fopen() and fclose() use dynamic memory
275
            allocation routines to allocate memory for
276
            new FILE structure pointers. If a malloc
277
            implementation is available, this option
278
            may be enabled to use
279
            fopen() and fclose(). If disabled, only the
280
            default console streams - stdin, stdout and
281
            stderr - will be available."
282
    }
283
 
284
    cdl_option CYGDAT_LIBC_STDIO_DEFAULT_CONSOLE {
285
        display       "Default console device"
286
        flavor        data
287
        default_value CYGDAT_IO_SERIAL_TTY_CONSOLE
288
        description   "
289
            This option allows you to choose the
290
            default console device. In the current
291
            implementation, all these devices begin
292
            with the prefix /dev/ and are followed by
293
            the name of a device. The name of the device
294
            depends on the device drivers you have
295
            configured in your system. For example,
296
            /dev/ttydiag could be the HAL diagnostic output
297
            pseudo-device, or /dev/tty0 could be your
298
            first serial driver, depending on your
299
            configuration."
300
    }
301
 
302
    cdl_component CYGPKG_LIBC_STDIO_FLOATING_POINT {
303
        display       "Floating point support"
304
        flavor        none
305
        description   "
306
            This component allows floating point support
307
            to be enabled in certain standard I/O
308
            functions."
309
 
310
        cdl_option CYGSEM_LIBC_STDIO_PRINTF_FLOATING_POINT {
311
            display       "printf() family"
312
            requires      CYGPKG_LIBM
313
            default_value { 0 != CYGPKG_LIBM }
314
            description   "
315
                This option enables the use of floating point
316
                number output in the printf() family (i.e.
317
                printf(), sprintf(), vprintf(), etc.) of
318
                functions. A substantial amount of code space
319
                can be saved if this option is disabled. If it
320
                is disabled then floating point specifiers
321
                (%e, %f, %g) are ignored, and nothing is
322
                output."
323
        }
324
 
325
        cdl_option CYGSEM_LIBC_STDIO_SCANF_FLOATING_POINT {
326
            display       "scanf() family"
327
            requires      CYGPKG_LIBM
328
            requires      CYGINT_ISO_STDLIB_STRCONV_FLOAT
329
            default_value { 0 != CYGPKG_LIBM &&
330
 
331
            description   "
332
                This option enables the use of floating point
333
                number conversion in the scanf() family (i.e.
334
                scanf(), sscanf(), vscanf(), etc.) of
335
                functions. A substantial amount of code space
336
                can be saved if this option is disabled. If it
337
                is disabled then floating point specifiers
338
                (%e, %f, %g) are ignored, and nothing is
339
                converted."
340
        }
341
    }
342
 
343
    cdl_option CYGSEM_LIBC_STDIO_THREAD_SAFE_STREAMS {
344
        display       "Thread safe I/O streams"
345
        doc           ref/libc-thread-safety.html
346
        requires      CYGPKG_KERNEL
347
        default_value { 0 != CYGPKG_KERNEL }
348
        description   "
349
            This option controls whether standard I/O streams
350
            are thread-safe. Having this option set allows
351
            the streams to be locked when accessed by
352
            multiple threads simultaneously."
353
    }
354
 
355
 
356
# ====================================================================
357
 
358
    cdl_component CYGPKG_LIBC_STDIO_OPTIONS {
359
        display "C library stdio functions build options"
360
        flavor  none
361
        no_define
362
        description   "
363
            Package specific build options including control over
364
            compiler flags used only in building this package,
365
            and details of which tests are built."
366
 
367
 
368
        cdl_option CYGPKG_LIBC_STDIO_CFLAGS_ADD {
369
            display "Additional compiler flags"
370
            flavor  data
371
            no_define
372
            default_value { "" }
373
            description   "
374
                This option modifies the set of compiler flags for
375
                building the C library. These flags are used in addition
376
                to the set of global flags."
377
        }
378
 
379
        cdl_option CYGPKG_LIBC_STDIO_CFLAGS_REMOVE {
380
            display "Suppressed compiler flags"
381
            flavor  data
382
            no_define
383
            default_value { "" }
384
            description   "
385
                This option modifies the set of compiler flags for
386
                building the C library. These flags are removed from
387
                the set of global flags if present."
388
        }
389
 
390
        cdl_option CYGPKG_LIBC_STDIO_TESTS {
391
            display "C library stdio function tests"
392
            flavor  data
393
            no_define
394
            calculated { "tests/sprintf1 tests/sprintf2 tests/sscanf tests/stdiooutput" }
395
            description   "
396
                This option specifies the set of tests for the C library
397
                stdio functions."
398
        }
399
    }
400
 
401
# ====================================================================
402
 
403
    cdl_option CYGPKG_LIBC_STDIO_FILEIO {
404
        display "Enable use of FILEIO package for IO operations."
405
        active_if CYGPKG_IO_FILEIO
406
        requires CYGSEM_LIBC_STDIO_WANT_BUFFERED_IO
407
        calculated 1
408
    }
409
}
410
 
411
# ====================================================================
412
# EOF stdio.cdl

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.