annotate packages/language/c/libc/current/include/pkgconf/libc.h @ 0:3111d98ba7b3 ecos-v1_1-release

Initial commit of eCos version 1.1
author jlarmour
date Tue, 11 May 1999 11:16:07 +0000
parents
children 443894e2e912
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1 #ifndef CYGONCE_PKGCONF_LIBC_H
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
2 #define CYGONCE_PKGCONF_LIBC_H
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
3 //========================================================================
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
4 //
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
5 // libc.h
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
6 //
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
7 // Configuration header for the ANSI standard C library
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
8 //
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
9 //========================================================================
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
10 //####COPYRIGHTBEGIN####
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
11 //
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
12 // -------------------------------------------
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
13 // The contents of this file are subject to the Cygnus eCos Public License
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
14 // Version 1.0 (the "License"); you may not use this file except in
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
15 // compliance with the License. You may obtain a copy of the License at
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
16 // http://sourceware.cygnus.com/ecos
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
17 //
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
18 // Software distributed under the License is distributed on an "AS IS"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
19 // basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
20 // License for the specific language governing rights and limitations under
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
21 // the License.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
22 //
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
23 // The Original Code is eCos - Embedded Cygnus Operating System, released
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
24 // September 30, 1998.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
25 //
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
26 // The Initial Developer of the Original Code is Cygnus. Portions created
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
27 // by Cygnus are Copyright (C) 1998 Cygnus Solutions. All Rights Reserved.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
28 // -------------------------------------------
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
29 //
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
30 //####COPYRIGHTEND####
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
31 //========================================================================
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
32 //#####DESCRIPTIONBEGIN####
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
33 //
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
34 // Author(s): jlarmour
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
35 // Contributors: jlarmour@cygnus.co.uk
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
36 // Date: 1998-02-13
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
37 // Purpose: Configuration of the ISO C library
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
38 // Description: The preprocessor defines here can be used to configure
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
39 // the ISO C library, preferably with a graphical tool,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
40 // but also manually if required.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
41 // Usage: #include <pkgconf/libc.h>
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
42 //
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
43 //
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
44 //####DESCRIPTIONEND####
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
45 //
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
46 //========================================================================
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
47
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
48 // INCLUDES
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
49
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
50 // Include system configuration file to work out whether the C library is
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
51 // to be included at all
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
52 #include <pkgconf/system.h>
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
53
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
54 // Make sure kernel config is already there for
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
55 // CYGNUM_KERNEL_THREADS_DATA_LIBC and CYGVAR_KERNEL_THREADS_DATA
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
56 #ifdef CYGPKG_KERNEL
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
57 # include <pkgconf/kernel.h>
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
58 #endif
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
59
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
60 /*
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
61 {{CFG_DATA
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
62
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
63 cdl_package CYGPKG_LIBC {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
64 display "C Library"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
65 description "This package enables compatibility with the ISO
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
66 C standard - ISO/IEC 9899:1990. This allows the
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
67 user application to use well known standard
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
68 C library functions, and in eCos starts a
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
69 thread to invoke the user function main()"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
70 type boolean
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
71 requires CYGPKG_ERROR
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
72 doc ref/ecos-ref/the-iso-standard-c-and-math-libraries.html
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
73 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
74
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
75 }}CFG_DATA
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
76 */
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
77
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
78 //========================================================================
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
79
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
80 // CTYPE CONFIGURATION OPTIONS
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
81
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
82 /*
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
83 {{CFG_DATA
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
84 cdl_option CYGIMP_LIBC_CTYPE_INLINES {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
85 display "Inline versions of <ctype.h> functions"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
86 description "This option chooses whether the simple character
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
87 classification and conversion functions (e.g.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
88 isupper(), isalpha(), toupper(), etc.)
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
89 from <ctype.h> are available as inline
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
90 functions. This may improve performance and as
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
91 the functions are small, may even improve code
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
92 size."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
93
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
94 type boolean
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
95 parent CYGPKG_LIBC
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
96 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
97 }}CFG_DATA
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
98 */
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
99
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
100 #define CYGIMP_LIBC_CTYPE_INLINES
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
101
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
102 //========================================================================
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
103
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
104 // STRING CONFIGURATION OPTIONS
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
105
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
106 /*
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
107 {{CFG_DATA
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
108 cdl_component CYGPKG_LIBC_STRING {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
109 display "String functions"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
110 description "Options associated with the standard string
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
111 functions"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
112
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
113 type dummy
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
114 parent CYGPKG_LIBC
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
115 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
116
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
117 cdl_option CYGIMP_LIBC_STRING_INLINES {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
118 display "Inline versions of <string.h> functions"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
119 description "This option chooses whether some of the
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
120 particularly simple string functions from
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
121 <string.h> are available as inline
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
122 functions. This may improve performance, and as
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
123 the functions are small, may even improve code
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
124 size."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
125
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
126 type boolean
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
127 parent CYGPKG_LIBC_STRING
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
128 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
129
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
130 cdl_option CYGFUN_LIBC_strtok {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
131 display "Provides strtok()"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
132 description "This option chooses whether the strtok() function
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
133 is to be available. Some space may be saved if
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
134 not."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
135
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
136 type boolean
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
137 parent CYGPKG_LIBC_STRING
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
138 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
139
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
140 cdl_component CYGPKG_LIBC_STRING_OPTIMIZATIONS {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
141 display "Options for string function optimization"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
142 description "This component lets you choose between different
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
143 implementations of the string functions with
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
144 different tradeoffs. Most of the string
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
145 functions can be implemented in two ways. One
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
146 approach is geared towards smaller code size,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
147 while the other tries to improve execution speed
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
148 at the expense of code size. "
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
149
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
150 type dummy
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
151 parent CYGPKG_LIBC_STRING
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
152 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
153
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
154 cdl_option CYGIMP_LIBC_STRING_PREFER_FAST {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
155 display "Fast"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
156 description "This option improves string function execution
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
157 speed at the expense of code size. This
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
158 option is overriden if the code is
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
159 compiled with the -Os option to the compiler."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
160
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
161 type radio
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
162 parent CYGPKG_LIBC_STRING_OPTIMIZATIONS
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
163 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
164
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
165 cdl_option CYGIMP_LIBC_STRING_PREFER_SMALL {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
166 display "Small"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
167 description "This option tries to reduce string function
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
168 code size at the expense of execution speed. The
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
169 same effect can be produced if the code is
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
170 compiled with the -Os option to the compiler."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
171
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
172 type radio
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
173 parent CYGPKG_LIBC_STRING_OPTIMIZATIONS
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
174 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
175
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
176 }}CFG_DATA
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
177 */
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
178
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
179 #define CYGIMP_LIBC_STRING_INLINES
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
180
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
181 #define CYGFUN_LIBC_strtok
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
182
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
183 #undef CYGIMP_LIBC_STRING_PREFER_SMALL
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
184
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
185 #define CYGIMP_LIBC_STRING_PREFER_FAST
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
186
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
187 #ifdef CYGIMP_LIBC_STRING_PREFER_SMALL
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
188 # define CYGIMP_LIBC_STRING_PREFER_SMALL_TO_FAST
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
189 #endif
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
190
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
191 //========================================================================
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
192
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
193 // SETJMP CONFIGURATION OPTIONS
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
194
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
195 /*
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
196 {{CFG_DATA
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
197 cdl_option CYGIMP_LIBC_SETJMP_INLINES {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
198 display "Inline version of the longjmp() function"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
199 description "This option chooses whether the longjmp() function
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
200 is available as an inline function. This may
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
201 improve performance, and as the function is small
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
202 may even improve code size. "
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
203
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
204 type boolean
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
205 parent CYGPKG_LIBC
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
206 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
207 }}CFG_DATA
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
208 */
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
209
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
210 #define CYGIMP_LIBC_SETJMP_INLINES
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
211
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
212 //========================================================================
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
213
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
214 // STDLIB CONFIGURATION OPTIONS
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
215
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
216
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
217 /*
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
218 {{CFG_DATA
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
219 cdl_component CYGPKG_LIBC_STDLIB {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
220 display "Standard utility functions"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
221 description "Options associated with the standard utility
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
222 functions in <stdlib.h>"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
223
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
224 type dummy
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
225 parent CYGPKG_LIBC
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
226 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
227
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
228 cdl_option CYGIMP_LIBC_STDLIB_INLINES {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
229 display "Inline versions of <stdlib.h> functions"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
230 description "This option chooses whether some of the
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
231 particularly simple standard utility functions
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
232 from <stdlib.h> are available as inline
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
233 functions. This may improve performance, and as
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
234 the functions are small, may even improve code
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
235 size."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
236
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
237 type boolean
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
238 parent CYGPKG_LIBC_STDLIB
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
239 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
240
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
241 cdl_component CYGPKG_LIBC_RAND {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
242 display "Provide rand() and srand()"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
243 description "This option chooses whether the pseudo-random
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
244 number generator functions rand() and
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
245 srand() are available. Some space may
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
246 saved if not."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
247
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
248 type boolean
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
249 parent CYGPKG_LIBC_STDLIB
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
250 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
251
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
252 cdl_option CYGNUM_LIBC_RAND_SEED {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
253 display "Random number seed"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
254 description "This selects the initial random number seed for
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
255 rand()'s pseudo-random number generator. For
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
256 strict ISO standard compliance, this should be 1,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
257 as per section 7.10.2.2 of the standard."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
258
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
259 type count
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
260 legal_values 0 to 0x7fffffff
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
261 parent CYGPKG_LIBC_RAND
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
262 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
263
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
264 cdl_component CYGPKG_LIBC_MALLOC {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
265 display "Support for dynamic memory allocation"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
266 description "This enables support for dynamic memory
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
267 allocation as supplied by the functions malloc(),
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
268 free(), calloc() and realloc(). As these
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
269 functions are often used, but can have quite an
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
270 overhead, disabling them here can ensure they
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
271 cannot even be used accidentally when static
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
272 allocation is preferred."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
273
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
274 type boolean
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
275 parent CYGPKG_LIBC_STDLIB
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
276 requires CYGPKG_KERNEL
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
277 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
278
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
279 cdl_option CYGNUM_LIBC_MALLOC_MEMPOOL_SIZE {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
280 display "Size of the dynamic memory pool in bytes"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
281 description "At this stage, dynamic memory allocation by
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
282 malloc() and calloc() must be from a fixed-size,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
283 contiguous memory pool. This option is the size
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
284 of that pool, in bytes. Note that not all of
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
285 this is available for programs to
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
286 use - some is needed for internal information
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
287 about memory regions, and some may be lost to
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
288 ensure that memory allocation only returns
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
289 memory aligned on word (or double word)
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
290 boundaries - a very common architecture
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
291 constraint."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
292
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
293 type count
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
294 legal_values 32 to 0x7fffffff
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
295 parent CYGPKG_LIBC_MALLOC
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
296 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
297
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
298 cdl_option CYGIMP_LIBC_MALLOC_CXX_DELETE_CALLS_FREE {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
299 display "Support for C++ delete operator"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
300 description "C++ new and delete operators can call
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
301 the C library's malloc() and free() implicitly.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
302 If this is what is required, enable this option.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
303 However, if enabled, the dynamic memory allocation
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
304 code is always linked in to the application,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
305 even if it is not explicitly called and new/delete
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
306 are not used.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
307 This increases code and data size needlessly."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
308
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
309 type bool
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
310 parent CYGPKG_LIBC_MALLOC
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
311 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
312
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
313 cdl_option CYGFUN_LIBC_strtod {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
314 display "Provides strtod() and atof()"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
315 description "This option allows use of the utility function
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
316 strtod() (and consequently atof()) to convert
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
317 from string to double precision floating point
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
318 numbers. Disabling this option removes the
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
319 dependency on the math library package."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
320
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
321 type boolean
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
322 parent CYGPKG_LIBC_STDLIB
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
323 requires CYGPKG_LIBM
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
324 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
325
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
326 }}CFG_DATA
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
327 */
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
328
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
329 #define CYGIMP_LIBC_STDLIB_INLINES
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
330
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
331 #define CYGPKG_LIBC_RAND
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
332
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
333 #ifdef CYGPKG_LIBC_RAND
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
334 #define CYGNUM_LIBC_RAND_SEED 1
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
335 #endif
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
336
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
337 #define CYGPKG_LIBC_MALLOC
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
338
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
339 #ifdef CYGPKG_LIBC_MALLOC
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
340
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
341 #undef CYGIMP_LIBC_MALLOC_CXX_DELETE_CALLS_FREE
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
342
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
343 #ifndef CYGPKG_KERNEL
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
344 # error You must have the Kernel enabled to use the C library dynamic \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
345 memory allocation functions
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
346 #endif
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
347
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
348 #define CYGNUM_LIBC_MALLOC_MEMPOOL_SIZE 32768
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
349
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
350 #endif // ifdef CYGPKG_LIBC_MALLOC
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
351
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
352 #define CYGFUN_LIBC_strtod
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
353
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
354 #ifdef CYGFUN_LIBC_strtod
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
355 # ifndef CYGPKG_LIBM
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
356 # error You must enable the Math library package to use strtod() or atof()
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
357 # endif
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
358 #endif
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
359
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
360 //========================================================================
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
361
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
362 // STDIO CONFIGURATION OPTIONS
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
363
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
364 /*
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
365 {{CFG_DATA
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
366 cdl_component CYGPKG_LIBC_STDIO {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
367 display "Standard Input/Output functions"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
368 description "This enables support for standard I/O functions
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
369 from <stdio.h>."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
370
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
371 type boolean
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
372 parent CYGPKG_LIBC
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
373 requires CYGPKG_DEVICES
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
374 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
375
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
376 cdl_option CYGIMP_LIBC_STDIO_INLINES {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
377 display "Inline versions of <stdio.h> functions"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
378 description "This option chooses whether some of the
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
379 particularly simple functions from
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
380 <stdio.h> are available as inline
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
381 functions. This may improve performance, and as
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
382 the functions are small, may even improve code
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
383 size."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
384
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
385 type boolean
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
386 parent CYGPKG_LIBC_STDIO
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
387 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
388
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
389 cdl_option FOPEN_MAX {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
390 display "Permitted number of open files"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
391 description "This option controls the guaranteed minimum
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
392 number of simultaneously open files. The ISO
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
393 C standard requires it to be defined (para
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
394 7.9.1), and if strictly compliant, it must be
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
395 at least 8 (para 7.9.3). In practice it can be
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
396 as low as 3 - for stdin, stdout and stderr."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
397
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
398 type count
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
399 legal_values 3 to 0x7fffffff
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
400 parent CYGPKG_LIBC_STDIO
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
401 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
402
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
403 cdl_option FILENAME_MAX {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
404 display "Maximum length of filename"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
405 description "This option defines the maximum allowed size of
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
406 a filename in characters. The ISO C standard
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
407 requires it to be defined (para 7.9.1)."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
408
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
409 type count
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
410 legal_values 1 to 0x7fffffff
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
411 parent CYGPKG_LIBC_STDIO
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
412 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
413
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
414 cdl_option L_tmpnam {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
415 display "Maximum length of filenames for temporary files"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
416 description "This option defines the maximum allowed size of
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
417 filenames for temporary files as generated by
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
418 tmpnam(). It is measured in characters, and the
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
419 ISO C standard requires it to be defined (para
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
420 7.9.1)."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
421
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
422 type count
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
423 legal_values 1 to 0x7fffffff
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
424 parent CYGPKG_LIBC_STDIO
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
425 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
426
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
427 cdl_option TMP_MAX {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
428 display "Unique file names generated by tmpnam()"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
429 description "This option defines the minimum number of
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
430 unique file names generated by tmpnam(). The
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
431 ISO C standard requires it to be defined (para
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
432 7.9.1)."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
433
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
434 type count
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
435 legal_values 0 to 0x7fffffff
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
436 parent CYGPKG_LIBC_STDIO
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
437 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
438
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
439 cdl_component CYGSEM_LIBC_STDIO_WANT_BUFFERED_IO {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
440 display "Buffered I/O"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
441 description "This option controls whether input/output
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
442 through the <stdio.h> functions is buffered.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
443 This may save some memory per file. It
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
444 is equivalent to putting every file into
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
445 non-buffered mode (_IONBF) through setvbuf(),
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
446 except now it can never be altered back to
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
447 buffered mode. Disabling buffering is strictly
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
448 non-compliant with the ISO C standard."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
449
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
450 type boolean
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
451 parent CYGPKG_LIBC_STDIO
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
452 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
453
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
454 cdl_option CYGNUM_LIBC_STDIO_BUFSIZE {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
455 display "Default buffer size"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
456 description "This option defines the default size of buffer
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
457 used with calls to setbuf(), and is the default
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
458 size for buffered streams that have not had
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
459 either setbuf() or setvbuf() invoked on them.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
460 It is exactly equivalent to the standard
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
461 constant BUFSIZE, except that it is 0 if
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
462 CYGSEM_LIBC_STDIO_WANT_BUFFERED_IO is disabled.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
463 The ISO C standard requires this to be defined
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
464 (para 7.9.1), and says it must be at least 256
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
465 (para 7.9.2)."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
466
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
467 type count
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
468 legal_values 1 to 0x7fffffff
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
469 parent CYGSEM_LIBC_STDIO_WANT_BUFFERED_IO
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
470 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
471
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
472 cdl_option CYGSEM_LIBC_STDIO_DYNAMIC_SETVBUF {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
473 display "setbuf()/setvbuf() uses malloc()"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
474 description "This option controls whether I/O buffers are
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
475 implemented dynamically within the stdio
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
476 implementation. Otherwise they will be static,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
477 and cannot be changed by setbuf()/setvbuf(). If
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
478 they are static (i.e. this option is disabled),
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
479 any attempt to use an arbitrary buffer size, or
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
480 to pass a user-supplied buffer to setbuf() or
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
481 setvbuf() will fail - the buffer is implemented
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
482 internally as a static array of taking the size
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
483 of the configuration option BUFSIZE. The only
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
484 exception is if a user buffer is not supplied,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
485 and the buffer size requested is less than
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
486 BUFSIZE. In this case, the buffer will
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
487 be configured to only use that amount of
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
488 buffering. However the unused memory left over
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
489 will NOT be freed. If this option is enabled,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
490 then CYGPKG_LIBC_MALLOC must also
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
491 be enabled. Either setting can be considered to
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
492 be compliant with the ISO C standard."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
493
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
494 type boolean
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
495 parent CYGSEM_LIBC_STDIO_WANT_BUFFERED_IO
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
496 requires CYGPKG_LIBC_MALLOC
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
497 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
498
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
499 cdl_option CYGFUN_LIBC_STDIO_ungetc {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
500 display "Support for ungetc()"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
501 description "This option controls whether ungetc() is
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
502 supported. If not, then some space can be
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
503 saved, and speed is improved. Note that you
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
504 MUST have this defined if you want to use the
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
505 scanf() family of functions."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
506
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
507 type boolean
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
508 parent CYGPKG_LIBC_STDIO
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
509 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
510
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
511 cdl_option CYGPKG_LIBC_STDIO_OPEN {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
512 display "Dynamic opening/closing of files"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
513 description "fopen() and fclose() use dynamic memory
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
514 allocation routines to allocate memory for
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
515 new FILE structure pointers. This option,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
516 along with CYGPKG_LIBC_MALLOC, should be
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
517 enabled to use
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
518 fopen() and fclose(). If disabled, only the
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
519 default console streams - stdin, stdout and
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
520 stderr - will be available."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
521
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
522 type boolean
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
523 parent CYGPKG_LIBC_STDIO
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
524 requires CYGPKG_LIBC_MALLOC
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
525 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
526
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
527 cdl_option CYGDAT_LIBC_STDIO_DEFAULT_CONSOLE {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
528 display "Default console device"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
529 description "This option allows you to choose the
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
530 default console device. In the current
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
531 implementation, all these devices begin
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
532 with the prefix /dev/ and are followed by
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
533 the name of a device as listed in the
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
534 devs/common/current/src/table.cxx file in the
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
535 source repository. Look at that file to see
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
536 list of available devices."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
537
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
538 type string
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
539 parent CYGPKG_LIBC_STDIO
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
540 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
541
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
542 cdl_component CYGPKG_LIBC_STDIO_FLOATING_POINT {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
543 display "Floating point support"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
544 description "This component allows floating point support
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
545 to be enabled in certain standard I/O
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
546 functions."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
547
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
548 type dummy
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
549 parent CYGPKG_LIBC_STDIO
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
550 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
551
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
552 cdl_option CYGSEM_LIBC_STDIO_PRINTF_FLOATING_POINT {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
553 display "printf() family"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
554 description "This option enables the use of floating point
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
555 number output in the printf() family (i.e.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
556 printf(), sprintf(), vprintf(), etc.) of
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
557 functions. A substantial amount of code space
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
558 can be saved if this option is disabled. If it
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
559 is disabled then floating point specifiers
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
560 (%e, %f, %g) are ignored, and nothing is
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
561 output."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
562
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
563 type boolean
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
564 parent CYGPKG_LIBC_STDIO_FLOATING_POINT
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
565 requires CYGPKG_LIBM
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
566 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
567
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
568 cdl_option CYGSEM_LIBC_STDIO_SCANF_FLOATING_POINT {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
569 display "scanf() family"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
570 description "This option enables the use of floating point
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
571 number conversion in the scanf() family (i.e.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
572 scanf(), sscanf(), vscanf(), etc.) of
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
573 functions. A substantial amount of code space
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
574 can be saved if this option is disabled. If it
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
575 is disabled then floating point specifiers
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
576 (%e, %f, %g) are ignored, and nothing is
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
577 converted."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
578
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
579 type boolean
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
580 parent CYGPKG_LIBC_STDIO_FLOATING_POINT
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
581 requires CYGPKG_LIBM
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
582 requires CYGFUN_LIBC_strtod
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
583 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
584
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
585 }}CFG_DATA
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
586 */
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
587
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
588 #define CYGPKG_LIBC_STDIO
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
589
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
590 #ifdef CYGPKG_LIBC_STDIO
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
591
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
592 #ifndef CYGPKG_DEVICES
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
593 # error You must have generic device driver support enabled for C library \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
594 standard I/O
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
595 #endif
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
596
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
597 #define CYGIMP_LIBC_STDIO_INLINES
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
598
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
599 #define FOPEN_MAX 8
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
600
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
601 #define FILENAME_MAX 16
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
602
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
603 #define L_tmpnam 16
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
604
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
605 #define TMP_MAX 0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
606
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
607 #define CYGSEM_LIBC_STDIO_WANT_BUFFERED_IO
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
608
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
609 #define CYGNUM_LIBC_STDIO_BUFSIZE 256
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
610
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
611 #ifdef CYGSEM_LIBC_STDIO_WANT_BUFFERED_IO
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
612 # define BUFSIZE CYGNUM_LIBC_STDIO_BUFSIZE
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
613 #else
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
614 # define BUFSIZE 0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
615 #endif
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
616
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
617 #undef CYGSEM_LIBC_STDIO_DYNAMIC_SETVBUF
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
618
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
619 #ifdef CYGSEM_LIBC_STDIO_DYNAMIC_SETVBUF
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
620 # ifndef CYGPKG_LIBC_MALLOC
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
621 # error You must have malloc() support if you want dynamic setvbuf \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
622 support in the C library
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
623 # endif
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
624 #endif
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
625
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
626 #define CYGFUN_LIBC_STDIO_ungetc
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
627
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
628 #define CYGPKG_LIBC_STDIO_OPEN
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
629
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
630 #ifdef CYGPKG_LIBC_STDIO_OPEN
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
631 # ifndef CYGPKG_LIBC_MALLOC
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
632 # error You must have malloc() support if you want to use fopen()
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
633 # endif
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
634 #endif
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
635
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
636 // We define a default console so that the console is defined
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
637 // statically, to prevent the requirement of dynamic memory allocation, and
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
638 // since there is generally only one relevant console which exists for the
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
639 // lifetime of the system. See the device driver documentation and examine
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
640 // your configuration to find out which device names are available. The
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
641 // device names should be prefixed with "/dev/".
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
642 //
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
643 // So what is the name of the device that is the default console device
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
644 #define CYGDAT_LIBC_STDIO_DEFAULT_CONSOLE "/dev/haldiag"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
645
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
646 #define CYGSEM_LIBC_STDIO_PRINTF_FLOATING_POINT
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
647
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
648 #ifdef CYGSEM_LIBC_STDIO_PRINTF_FLOATING_POINT
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
649 # ifndef CYGPKG_LIBM
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
650 # error You must enable the Math library to use floating point in the \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
651 *printf() functions
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
652 # endif
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
653 #endif
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
654
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
655 #define CYGSEM_LIBC_STDIO_SCANF_FLOATING_POINT
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
656
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
657 #ifdef CYGSEM_LIBC_STDIO_SCANF_FLOATING_POINT
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
658 # ifndef CYGFUN_LIBC_strtod // libm is implicit with this
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
659 # error You must enable the use of strtod and the math library to use \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
660 floating point in the *scanf() functions
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
661 # endif
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
662 #endif
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
663
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
664 #endif // ifdef CYGPKG_LIBC_STDIO
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
665
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
666 //========================================================================
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
667
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
668 // THREAD SAFETY CONFIGURATION OPTIONS
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
669
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
670 /*
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
671
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
672 {{CFG_DATA
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
673
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
674 cdl_component CYGSEM_LIBC_THREAD_SAFETY {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
675 display "Thread safety"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
676 description "This option controls whether the C library has
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
677 support for thread safe operation in general.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
678 This requires eCos kernel support for per-thread
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
679 data, and adjustment of the stack limit."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
680 doc ref/ecos-ref/c-and-math-library-overview-thread-safety.html
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
681 type boolean
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
682 parent CYGPKG_LIBC
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
683 requires CYGPKG_KERNEL
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
684 requires CYGVAR_KERNEL_THREADS_DATA
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
685 requires CYGFUN_KERNEL_THREADS_STACK_LIMIT
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
686 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
687
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
688 cdl_option CYGSEM_LIBC_PER_THREAD_ERRNO {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
689 display "Per-thread errno"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
690 description "This option controls whether the standard error
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
691 code reporting variable errno is a per-thread
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
692 variable, rather than global."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
693 type boolean
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
694 parent CYGSEM_LIBC_THREAD_SAFETY
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
695 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
696
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
697 cdl_option CYGSEM_LIBC_PER_THREAD_STRTOK {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
698 display "Per-thread strtok()"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
699 description "This option controls whether the string function
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
700 strtok() has its state recorded on a per-thread
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
701 basis rather than global. If this option is
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
702 disabled, some per-thread space can be saved.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
703 Note there is also a POSIX-standard strtok_r()
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
704 function to achieve a similar effect with user
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
705 support."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
706 type boolean
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
707 parent CYGSEM_LIBC_THREAD_SAFETY
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
708 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
709
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
710 cdl_option CYGSEM_LIBC_PER_THREAD_RAND {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
711 display "Per-thread rand()"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
712 description "This option controls whether the pseudo-random
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
713 number generation functions rand() and srand()
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
714 have their state recorded on a per-thread
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
715 basis rather than global. If this option is
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
716 disabled, some per-thread space can be saved.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
717 Note there is also a POSIX-standard rand_r()
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
718 function to achieve a similar effect with user
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
719 support."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
720 type boolean
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
721 parent CYGSEM_LIBC_THREAD_SAFETY
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
722 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
723
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
724 cdl_option CYGSEM_LIBC_STDIO_THREAD_SAFE_STREAMS {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
725 display "Thread safe I/O streams"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
726 description "This option controls whether standard I/O streams
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
727 are thread-safe. Having this option set allows
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
728 the streams to be locked when accessed by
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
729 multiple threads simultaneously."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
730 type boolean
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
731 parent CYGSEM_LIBC_THREAD_SAFETY
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
732 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
733
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
734
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
735
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
736 }}CFG_DATA
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
737
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
738 */
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
739
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
740 #undef CYGSEM_LIBC_THREAD_SAFETY
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
741
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
742 #ifdef CYGSEM_LIBC_THREAD_SAFETY
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
743
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
744 #define CYGSEM_LIBC_PER_THREAD_ERRNO
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
745
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
746 #define CYGSEM_LIBC_PER_THREAD_STRTOK
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
747
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
748 #define CYGSEM_LIBC_PER_THREAD_RAND
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
749
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
750 #define CYGSEM_LIBC_STDIO_THREAD_SAFE_STREAMS
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
751
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
752 // Consistency check for kernel support
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
753 # if !defined(CYGVAR_KERNEL_THREADS_DATA) || !defined(CYGFUN_KERNEL_THREADS_STACK_LIMIT)
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
754
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
755 # error Sorry, the kernel must have per-thread data and stack limit \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
756 support configured to allow a thread-safe C library
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
757
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
758 # endif // if !defined(CYGVAR_KERNEL_THREADS_DATA) ||
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
759 // !defined(CYGFUN_KERNEL_THREADS_STACK_LIMIT)
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
760
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
761 #endif // ifdef CYGSEM_LIBC_THREAD_SAFETY
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
762
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
763 //========================================================================
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
764
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
765 // INTERNATIONALIZATION AND LOCALIZATION OPTIONS
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
766
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
767 /*
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
768
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
769 {{CFG_DATA
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
770
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
771 cdl_option CYGNUM_LIBC_MAX_LOCALE_NAME_SIZE {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
772 display "Size of locale name strings"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
773 description "This option controls the maximum size of
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
774 locale names and is used, among other things
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
775 to instantiate a static string used
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
776 as a return value from the
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
777 setlocale() function. When requesting the
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
778 current locale settings with LC_ALL, a string
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
779 must be constructed to contain this data, rather
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
780 than just returning a constant string. This
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
781 string data is stored in the static string.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
782 This depends on the length of locale names,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
783 hence this option. If just the C locale is
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
784 present, this option can be set as low as 2."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
785
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
786 type count
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
787 legal_values 2 to 0x7fffffff
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
788 parent CYGPKG_LIBC
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
789 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
790
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
791 }}CFG_DATA
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
792
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
793 */
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
794
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
795 #define CYGNUM_LIBC_MAX_LOCALE_NAME_SIZE 16
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
796
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
797 //========================================================================
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
798
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
799 // STARTUP OPTIONS
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
800
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
801 /*
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
802 {{CFG_DATA
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
803
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
804 cdl_component CYGPKG_LIBC_STARTUP {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
805 display "ISO C startup/termination"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
806 description "This component manages the control of the
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
807 environment (in the general sense) that the
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
808 C library provides for use for full ISO C
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
809 compatibility, including a main() entry point
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
810 supplied with arguments and an environment
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
811 (as retrievable by the getenv() function).
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
812 It also includes at the other end of things,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
813 what happens when main() returns or exit() is
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
814 called."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
815 doc ref/ecos-ref/c-library-startup.html.html
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
816 type dummy
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
817 parent CYGPKG_LIBC
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
818 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
819
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
820 cdl_option CYGDAT_LIBC_ARGUMENTS {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
821 display "Arguments to main()"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
822 description "This option allows the setting of the arguments
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
823 to the main function. This only has any effect
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
824 when cyg_iso_c_start() is used to start the
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
825 ISO C compatibility. This will automatically
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
826 invoke main() in an ISO C compatible fashion.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
827 This option is in fact used as argv, and so is
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
828 an n-tuple of string constants. The final
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
829 entry must be NULL. Conventionally if argv[0]
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
830 is supplied, it is used to inform the program
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
831 of its name."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
832
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
833 type string
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
834 parent CYGPKG_LIBC_STARTUP
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
835 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
836
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
837 cdl_option CYGNUM_LIBC_MAIN_STACK_SIZE {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
838 display "main()'s thread stack size"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
839 description "With an eCos kernel, when the cyg_iso_c_start()
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
840 function is used to invoke the user-supplied
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
841 main() function in an ISO C compatible fashion,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
842 a separate thread is created to call main().
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
843 This option controls the size of that thread's
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
844 stack, which is allocated in the BSS. It
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
845 must be a multiple of 8."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
846
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
847 type count
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
848 legal_values 16 to 0x7fffffff
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
849 parent CYGPKG_LIBC_STARTUP
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
850 #requires CYGPKG_KERNEL
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
851 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
852
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
853 cdl_option CYGNUM_LIBC_ATEXIT_HANDLERS {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
854 display "Number of functions atexit() supports"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
855 description "This option sets the number of functions
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
856 that atexit() has room for. In other words,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
857 the number of separate atexit() calls that
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
858 can be made before calling exit() or returning
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
859 from main() ( in an environment controlled by
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
860 cyg_iso_c_start() ). For strict compliance
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
861 with the ISO C standard this should be at
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
862 least 32."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
863
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
864 type count
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
865 parent CYGPKG_LIBC_STARTUP
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
866 legal_values 1 to 0x7fffffff
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
867 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
868
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
869 cdl_option CYGSEM_LIBC_EXIT_STOPS_SYSTEM {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
870 display "_exit() stops all threads"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
871 description "If this option is enabled then _exit(),
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
872 which is called from exit() which itself is
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
873 called on return from main(), stops the eCos
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
874 scheduler. For strict POSIX 1003.1
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
875 compatibility this would be the normal
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
876 behaviour. To allow the thread to simply
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
877 exit, without affecting other threads, simply
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
878 disable this option. If there is no eCos
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
879 scheduler, then _exit() simply loops
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
880 irrespective of the setting of this option."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
881
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
882 type boolean
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
883 parent CYGPKG_LIBC_STARTUP
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
884 requires CYGPKG_KERNEL
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
885 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
886
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
887 cdl_component CYGPKG_LIBC_ENVIRONMENT {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
888 display "Provide a system environment"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
889 description "This option allows use of the getenv() function
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
890 and the global environment pointer
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
891 char **environ defined by POSIX 1003.1.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
892 Disabling this saves a small amount of space."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
893
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
894 type boolean
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
895 parent CYGPKG_LIBC_STARTUP
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
896 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
897
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
898 cdl_option CYGDAT_LIBC_DEFAULT_ENVIRONMENT {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
899 display "Default environment"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
900 description "This option allows the setting of the default
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
901 contents of the environment. This is in fact
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
902 the contents of the global environment pointer
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
903 char **environ defined by POSIX 1003.1. Strings
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
904 must be of the form NAME=VALUE, and the final
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
905 entry must be NULL."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
906
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
907 type string
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
908 parent CYGPKG_LIBC_ENVIRONMENT
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
909 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
910
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
911 }}CFG_DATA
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
912 */
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
913
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
914 #define CYGDAT_LIBC_ARGUMENTS { "", NULL }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
915
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
916 #define CYGNUM_LIBC_MAIN_STACK_SIZE 32768
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
917
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
918 #define CYGNUM_LIBC_ATEXIT_HANDLERS 32
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
919
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
920 #undef CYGSEM_LIBC_EXIT_STOPS_SYSTEM
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
921
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
922 #define CYGPKG_LIBC_ENVIRONMENT
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
923
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
924 #define CYGDAT_LIBC_DEFAULT_ENVIRONMENT { NULL }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
925
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
926
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
927 //========================================================================
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
928
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
929 // TRACING OPTIONS
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
930
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
931 /*
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
932 {{CFG_DATA
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
933
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
934 cdl_component CYGPKG_LIBC_TRACE {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
935 display "Tracing output levels in C library"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
936 description "Tracing support is useful for debugging. Some
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
937 C library modules can be configured with
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
938 different levels of tracing verbosity. These
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
939 levels can be configured here."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
940
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
941 type boolean
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
942 requires CYGDBG_USE_TRACING
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
943 parent CYGPKG_LIBC
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
944 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
945
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
946 cdl_option CYGNUM_LIBC_RAND_TRACE_LEVEL {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
947 display "rand(), srand() and rand_r()"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
948 description "Trace level for debugging the rand(), srand()
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
949 and rand_r() functions."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
950
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
951 type count
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
952 legal_values 0 to 1
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
953 parent CYGPKG_LIBC_TRACE
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
954 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
955
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
956 cdl_option CYGNUM_LIBC_ERRNO_TRACE_LEVEL {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
957 display "errno"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
958 description "Trace level for debugging the errno retrieval
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
959 mechanism in errno.cxx."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
960
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
961 type count
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
962 legal_values 0 to 1
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
963 parent CYGPKG_LIBC_TRACE
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
964 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
965
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
966 cdl_option CYGNUM_LIBC_BSEARCH_TRACE_LEVEL {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
967 display "bsearch()"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
968 description "Trace level for debugging the <stdlib.h> binary
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
969 search function bsearch()."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
970
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
971 type count
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
972 legal_values 0 to 1
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
973 parent CYGPKG_LIBC_TRACE
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
974 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
975
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
976 cdl_option CYGNUM_LIBC_QSORT_TRACE_LEVEL {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
977 display "qsort()"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
978 description "Trace level for debugging the <stdlib.h>
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
979 quicksort function qsort()."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
980
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
981 type count
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
982 legal_values 0 to 1
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
983 parent CYGPKG_LIBC_TRACE
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
984 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
985
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
986 cdl_option CYGNUM_LIBC_CLOCK_TRACE_LEVEL {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
987 display "clock()"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
988 description "Trace level for debugging the <time.h> function
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
989 clock()."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
990
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
991 type count
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
992 legal_values 0 to 1
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
993 parent CYGPKG_LIBC_TRACE
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
994 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
995
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
996 cdl_option CYGNUM_LIBC_STRTOK_TRACE_LEVEL {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
997 display "strtok() and strtok_r()"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
998 description "Trace level for debugging the <string.h>
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
999 functions strtok() and strtok_r()."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1000
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1001 type count
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1002 legal_values 0 to 1
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1003 parent CYGPKG_LIBC_TRACE
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1004 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1005
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1006 }}CFG_DATA
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1007 */
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1008
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1009 #undef CYGPKG_LIBC_TRACE
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1010
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1011 #ifdef CYGPKG_LIBC_TRACE
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1012
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1013 #define CYGNUM_LIBC_RAND_TRACE_LEVEL 0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1014
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1015 #define CYGNUM_LIBC_ERRNO_TRACE_LEVEL 0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1016
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1017 #define CYGNUM_LIBC_BSEARCH_TRACE_LEVEL 0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1018
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1019 #define CYGNUM_LIBC_QSORT_TRACE_LEVEL 0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1020
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1021 #define CYGNUM_LIBC_CLOCK_TRACE_LEVEL 0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1022
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1023 #define CYGNUM_LIBC_STRTOK_TRACE_LEVEL 0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1024
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1025 #endif // ifdef CYGPKG_LIBC_TRACE
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1026
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1027 //========================================================================
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1028
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1029 // MISCELLANEOUS CONFIGURATION OPTIONS
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1030
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1031 // These are not really adjustable by the user. Do not change these unless
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1032 // you know what you are doing!
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1033
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1034 // How to define inline functions
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1035 #define CYGPRI_LIBC_INLINE extern __inline__
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1036
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1037 // How to define weak symbols - may disappear as this is only relevant for
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1038 // ELF and a.out
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1039 #define CYGPRI_LIBC_WEAK __attribute__ ((weak))
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1040
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1041 // How to define aliases
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1042 #define CYGPRI_LIBC_ALIAS(X) __attribute__ ((alias (X)))
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1043
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1044 // How to define weak aliases or an equivalent hack if not available
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1045
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1046 #define CYGPRI_LIBC_WEAK_ALIAS(X) __attribute__ ((weak, alias (X)))
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1047
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1048 // How to define functions that don't return
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1049 #define CYGPRI_LIBC_NORETURN __attribute__ ((noreturn))
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1050
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1051 #endif // CYGONCE_PKGCONF_LIBC_H multiple inclusion protection
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1052
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1053 // EOF libc.h