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

Subversion Repositories openrisc

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

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 27 unneback
# ====================================================================
2
#
3
#      stdlib.cdl
4
#
5
#      C library stdlib 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_STDLIB {
52
    display       "ISO C library general utility functions"
53
    description   "
54
        This package provides general utility functions in 
55
        as specified by the ISO C standard - ISO/IEC 9899:1990."
56
    doc           ref/libc.html
57
    include_dir   cyg/libc/stdlib
58
    parent        CYGPKG_LIBC
59
    requires      CYGPKG_ISOINFRA
60
    implements    CYGINT_ISO_STDLIB_STRCONV
61
    implements    CYGINT_ISO_STDLIB_ENVIRON
62
    implements    CYGINT_ISO_STDLIB_SYSTEM
63
    implements    CYGINT_ISO_BSEARCH
64
    implements    CYGINT_ISO_QSORT
65
    implements    CYGINT_ISO_ABS
66
    implements    CYGINT_ISO_DIV
67
    requires      CYGINT_ISO_CTYPE
68
    requires      CYGINT_ISO_STRING_STRFUNCS
69
 
70
    compile       abs.cxx      atox.cxx     bsearch.cxx  \
71
                  div.cxx      getenv.cxx   qsort.cxx    \
72
                  rand.cxx     strtod.cxx   strtol.cxx   \
73
                  strtoul.cxx  system.cxx
74
 
75
# ====================================================================
76
 
77
    cdl_component CYGIMP_LIBC_STDLIB_INLINES {
78
        display       "Inline versions of  functions"
79
        flavor        none
80
        no_define
81
        description   "
82
            This option chooses whether some of the
83
            particularly simple standard utility functions
84
            from  are available as inline
85
            functions. This may improve performance, and as
86
            the functions are small, may even improve code
87
            size."
88
 
89
        cdl_option CYGIMP_LIBC_STDLIB_INLINE_ABS {
90
            display       "abs() / labs()"
91
            default_value 1
92
            no_define
93
            requires      { CYGBLD_ISO_STDLIB_ABS_HEADER == \
94
                            "" }
95
        }
96
 
97
        cdl_option CYGIMP_LIBC_STDLIB_INLINE_DIV {
98
            display       "div() / ldiv()"
99
            default_value 1
100
            no_define
101
            requires      { CYGBLD_ISO_STDLIB_DIV_HEADER == \
102
                            "" }
103
        }
104
 
105
        cdl_option CYGIMP_LIBC_STDLIB_INLINE_ATOX {
106
            display       "atof() / atoi() / atol()"
107
            default_value 1
108
            no_define
109
            requires      { CYGBLD_ISO_STDLIB_STRCONV_HEADER == \
110
                            "" }
111
        }
112
    }
113
 
114
    cdl_component CYGPKG_LIBC_RAND {
115
        display       "Random number generation"
116
        flavor        none
117
        description   "
118
            These options control the behaviour of the
119
            functions rand(), srand() and rand_r()"
120
 
121
        cdl_option CYGSEM_LIBC_PER_THREAD_RAND {
122
            display       "Per-thread random seed"
123
            doc           ref/libc-thread-safety.html
124
            requires      CYGVAR_KERNEL_THREADS_DATA
125
            default_value 0
126
            description   "
127
                This option controls whether the pseudo-random
128
                number generation functions rand() and srand()
129
                have their state recorded on a per-thread
130
                basis rather than global. If this option is
131
                disabled, some per-thread space can be saved.
132
                Note there is also a POSIX-standard rand_r()
133
                function to achieve a similar effect with user
134
                support. Enabling this option will use one slot
135
                of kernel per-thread data. You should ensure you
136
                have enough slots configured for all your
137
                per-thread data."
138
        }
139
 
140
        cdl_option CYGNUM_LIBC_RAND_SEED {
141
            display       "Random number seed"
142
            flavor        data
143
            legal_values  0 to 0x7fffffff
144
            default_value 1
145
            description   "
146
                This selects the initial random number seed for
147
                rand()'s pseudo-random number generator. For
148
                strict ISO standard compliance, this should be 1,
149
                as per section 7.10.2.2 of the standard."
150
        }
151
 
152
        cdl_option CYGNUM_LIBC_RAND_TRACE_LEVEL {
153
            display       "Tracing level"
154
            flavor        data
155
            legal_values  0 to 1
156
            default_value 0
157
            description   "
158
                Trace verbosity level for debugging the rand(),
159
                srand() and rand_r() functions. Increase this
160
                value to get additional trace output."
161
        }
162
 
163
        cdl_option CYGIMP_LIBC_RAND_SIMPLEST {
164
            display       "Simplest implementation"
165
            flavor        bool
166
            default_value 0
167
            implements    CYGINT_ISO_RAND
168
            description   "
169
                This provides a very simple implementation of rand()
170
                that does not perform well with randomness in the
171
                lower significant bits. However it is exceptionally
172
                fast. It uses the sample algorithm from the ISO C
173
                standard itself."
174
        }
175
 
176
        cdl_option CYGIMP_LIBC_RAND_SIMPLE1 {
177
            display       "Simple implementation #1"
178
            flavor        bool
179
            default_value 1
180
            implements    CYGINT_ISO_RAND
181
            description   "
182
                This provides a very simple implementation of rand()
183
                based on the simplest implementation above. However
184
                it does try to work around the lack of randomness
185
                in the lower significant bits, at the expense of a
186
                little speed."
187
        }
188
 
189
        cdl_option CYGIMP_LIBC_RAND_KNUTH1 {
190
            display       "Knuth implementation #1"
191
            flavor        bool
192
            default_value 0
193
            implements    CYGINT_ISO_RAND
194
            description   "
195
                This implements a slightly more complex algorithm
196
                published in Donald E. Knuth's Art of Computer
197
                Programming Vol.2 section 3.6 (p.185 in the 3rd ed.).
198
                This produces better random numbers than the
199
                simplest approach but is slower."
200
        }
201
    }
202
 
203
    cdl_option CYGFUN_LIBC_strtod {
204
        display       "Provides strtod()"
205
        requires      CYGPKG_LIBM
206
        default_value { 0 != CYGPKG_LIBM }
207
        implements    CYGINT_ISO_STDLIB_STRCONV_FLOAT
208
        description   "
209
            This option allows use of the utility function
210
            strtod() (and consequently atof()) to convert
211
            from string to double precision floating point
212
            numbers. Disabling this option removes the
213
            dependency on the math library package."
214
    }
215
 
216
    cdl_option CYGNUM_LIBC_BSEARCH_TRACE_LEVEL {
217
        display       "bsearch() tracing level"
218
        flavor        data
219
        legal_values  0 to 1
220
        default_value 0
221
        description   "
222
            Trace verbosity level for debugging the 
223
            binary search function bsearch(). Increase this
224
            value to get additional trace output."
225
    }
226
 
227
    cdl_option CYGNUM_LIBC_QSORT_TRACE_LEVEL {
228
        display       "qsort() tracing level"
229
        flavor        data
230
        legal_values  0 to 1
231
        default_value 0
232
        description   "
233
            Trace verbosity level for debugging the 
234
            quicksort function qsort(). Increase this value
235
            to get additional trace output."
236
    }
237
 
238
 
239
# ====================================================================
240
 
241
    cdl_component CYGPKG_LIBC_STDLIB_OPTIONS {
242
        display       "C library stdlib build options"
243
        flavor        none
244
        no_define
245
        description   "
246
            Package specific build options including control over
247
            compiler flags used only in building this package,
248
            and details of which tests are built."
249
 
250
 
251
        cdl_option CYGPKG_LIBC_STDLIB_CFLAGS_ADD {
252
            display       "Additional compiler flags"
253
            flavor        data
254
            no_define
255
            default_value { "" }
256
            description   "
257
                This option modifies the set of compiler flags for
258
                building this package. These flags are used in addition
259
                to the set of global flags."
260
        }
261
 
262
        cdl_option CYGPKG_LIBC_STDLIB_CFLAGS_REMOVE {
263
            display       "Suppressed compiler flags"
264
            flavor        data
265
            no_define
266
            default_value { "" }
267
            description   "
268
                This option modifies the set of compiler flags for
269
                building this package. These flags are removed from
270
                the set of global flags if present."
271
        }
272
 
273
        cdl_option CYGPKG_LIBC_STDLIB_TESTS {
274
            display       "C library stdlib tests"
275
            flavor        data
276
            no_define
277
            calculated    { "tests/abs tests/atoi tests/atol tests/bsearch tests/div tests/getenv tests/labs tests/ldiv tests/qsort tests/rand1 tests/rand2 tests/rand3 tests/rand4 tests/srand tests/strtol tests/strtoul" }
278
            description   "
279
                This option specifies the set of tests for this package."
280
        }
281
    }
282
}
283
 
284
# ====================================================================
285
# EOF stdlib.cdl

powered by: WebSVN 2.1.0

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