Mercurial > flash_v2
comparison packages/language/c/libc/current/cdl/libc.cdl @ 76:435cced73e2f ecos-v1_3_1-release
eCos v1.3.1 merged from eCos master repository on 2000-03-27-23:22:51-BST
| author | jlarmour |
|---|---|
| date | Tue, 28 Mar 2000 14:10:45 +0000 |
| parents | |
| children | 6736c52df507 |
comparison
equal
deleted
inserted
replaced
| 75:41bf073c0c32 | 76:435cced73e2f |
|---|---|
| 1 # ==================================================================== | |
| 2 # | |
| 3 # libc.cdl | |
| 4 # | |
| 5 # C library configuration data | |
| 6 # | |
| 7 # ==================================================================== | |
| 8 #####COPYRIGHTBEGIN#### | |
| 9 # | |
| 10 # ------------------------------------------- | |
| 11 # The contents of this file are subject to the Red Hat eCos Public License | |
| 12 # Version 1.1 (the "License"); you may not use this file except in | |
| 13 # compliance with the License. You may obtain a copy of the License at | |
| 14 # http://www.redhat.com/ | |
| 15 # | |
| 16 # Software distributed under the License is distributed on an "AS IS" | |
| 17 # basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the | |
| 18 # License for the specific language governing rights and limitations under | |
| 19 # the License. | |
| 20 # | |
| 21 # The Original Code is eCos - Embedded Configurable Operating System, | |
| 22 # released September 30, 1998. | |
| 23 # | |
| 24 # The Initial Developer of the Original Code is Red Hat. | |
| 25 # Portions created by Red Hat are | |
| 26 # Copyright (C) 1998, 1999, 2000 Red Hat, Inc. | |
| 27 # All Rights Reserved. | |
| 28 # ------------------------------------------- | |
| 29 # | |
| 30 #####COPYRIGHTEND#### | |
| 31 # ==================================================================== | |
| 32 ######DESCRIPTIONBEGIN#### | |
| 33 # | |
| 34 # Author(s): bartv | |
| 35 # Original data: jlarmour | |
| 36 # Contributors: | |
| 37 # Date: 1999-06-13 | |
| 38 # | |
| 39 #####DESCRIPTIONEND#### | |
| 40 # | |
| 41 # ==================================================================== | |
| 42 | |
| 43 cdl_package CYGPKG_LIBC { | |
| 44 display "C library" | |
| 45 description " | |
| 46 This package enables compatibility with the ISO | |
| 47 C standard - ISO/IEC 9899:1990. This allows the | |
| 48 user application to use well known standard | |
| 49 C library functions, and in eCos starts a | |
| 50 thread to invoke the user function main()" | |
| 51 doc redirect/the-iso-standard-c-and-math-libraries.html | |
| 52 compile ctype/isalnum.cxx ctype/isalpha.cxx ctype/iscntrl.cxx \ | |
| 53 ctype/isdigit.cxx ctype/isgraph.cxx ctype/islower.cxx \ | |
| 54 ctype/isprint.cxx ctype/ispunct.cxx ctype/isspace.cxx \ | |
| 55 ctype/isupper.cxx ctype/isxdigit.cxx ctype/tolower.cxx \ | |
| 56 ctype/toupper.cxx \ | |
| 57 \ | |
| 58 errno/errno.cxx \ | |
| 59 \ | |
| 60 i18n/locale.cxx \ | |
| 61 \ | |
| 62 setjmp/longjmp.cxx \ | |
| 63 \ | |
| 64 signal/raise.cxx signal/siginit.cxx \ | |
| 65 signal/signal.cxx \ | |
| 66 \ | |
| 67 stdio/common/fclose.cxx stdio/common/fflush.cxx \ | |
| 68 stdio/common/fopen.cxx stdio/common/freopen.cxx \ | |
| 69 stdio/common/setvbuf.cxx stdio/common/snprintf.cxx \ | |
| 70 stdio/common/sprintf.cxx stdio/common/sscanf.cxx \ | |
| 71 stdio/common/stderr.cxx stdio/common/stdin.cxx \ | |
| 72 stdio/common/stdiofiles.cxx \ | |
| 73 stdio/common/stdioinlines.cxx stdio/common/stdiosupp.cxx \ | |
| 74 stdio/common/stdout.cxx stdio/common/stream.cxx \ | |
| 75 stdio/common/streambuf.cxx stdio/common/ungetc.cxx \ | |
| 76 stdio/common/vsnprintf.cxx stdio/common/vsscanf.cxx \ | |
| 77 stdio/input/fgetc.cxx stdio/input/fgets.cxx \ | |
| 78 stdio/input/fread.cxx stdio/input/fscanf.cxx \ | |
| 79 stdio/input/gets.cxx stdio/input/scanf.cxx \ | |
| 80 stdio/input/vfscanf.cxx stdio/output/fnprintf.cxx \ | |
| 81 stdio/output/fprintf.cxx stdio/output/fputc.cxx \ | |
| 82 stdio/output/fputs.cxx stdio/output/fwrite.cxx \ | |
| 83 stdio/output/printf.cxx stdio/output/vfnprintf.cxx \ | |
| 84 \ | |
| 85 stdlib/_exit.cxx stdlib/abort.cxx stdlib/abs.cxx \ | |
| 86 stdlib/atexit.cxx stdlib/atof.cxx stdlib/atoi.cxx \ | |
| 87 stdlib/atol.cxx stdlib/bsearch.cxx stdlib/div.cxx \ | |
| 88 stdlib/exit.cxx stdlib/getenv.cxx stdlib/itoa.cxx \ | |
| 89 stdlib/labs.cxx stdlib/ldiv.cxx stdlib/malloc.cxx \ | |
| 90 stdlib/qsort.cxx stdlib/rand.cxx stdlib/strtod.cxx \ | |
| 91 stdlib/strtol.cxx stdlib/strtoul.cxx stdlib/system.cxx \ | |
| 92 \ | |
| 93 string/memchr.cxx string/memcmp.cxx string/memmove.cxx \ | |
| 94 string/strcat.cxx string/strchr.cxx string/strcmp.cxx \ | |
| 95 string/strcoll.cxx string/strcpy.cxx string/strcspn.cxx \ | |
| 96 string/strlen.cxx string/strncat.cxx string/strncmp.cxx \ | |
| 97 string/strncpy.cxx string/strpbrk.cxx string/strrchr.cxx \ | |
| 98 string/strspn.cxx string/strstr.cxx string/strsuppt.cxx \ | |
| 99 string/strtok.cxx string/strxfrm.cxx \ | |
| 100 \ | |
| 101 support/cstartup.cxx support/environ.cxx \ | |
| 102 support/invokemain.cxx support/main.cxx \ | |
| 103 support/mainthread.cxx \ | |
| 104 \ | |
| 105 time/asctime.cxx time/asctime_r.cxx time/clock.cxx \ | |
| 106 time/ctime.cxx time/ctime_r.cxx time/difftime.cxx \ | |
| 107 time/gmtime.cxx time/gmtime_r.cxx time/localtime.cxx \ | |
| 108 time/localtime_r.cxx time/mktime.cxx time/settime.cxx \ | |
| 109 time/strftime.cxx time/time.cxx time/timeutil.cxx | |
| 110 | |
| 111 | |
| 112 cdl_option CYGIMP_LIBC_CTYPE_INLINES { | |
| 113 display "Inline versions of <ctype.h> functions" | |
| 114 default_value 1 | |
| 115 description " | |
| 116 This option chooses whether the simple character | |
| 117 classification and conversion functions (e.g. | |
| 118 isupper(), isalpha(), toupper(), etc.) | |
| 119 from <ctype.h> are available as inline | |
| 120 functions. This may improve performance and as | |
| 121 the functions are small, may even improve code | |
| 122 size." | |
| 123 } | |
| 124 | |
| 125 # STRING CONFIGURATION OPTIONS | |
| 126 cdl_component CYGPKG_LIBC_STRING { | |
| 127 display "String functions" | |
| 128 flavor none | |
| 129 description " | |
| 130 Options associated with the standard string functions" | |
| 131 | |
| 132 script string.cdl | |
| 133 } | |
| 134 | |
| 135 # SETJMP CONFIGURATION OPTIONS | |
| 136 cdl_option CYGIMP_LIBC_SETJMP_INLINES { | |
| 137 display "Inline version of the longjmp() function" | |
| 138 default_value 1 | |
| 139 description " | |
| 140 This option chooses whether the longjmp() function | |
| 141 is available as an inline function. This may | |
| 142 improve performance, and as the function is small | |
| 143 may even improve code size. " | |
| 144 } | |
| 145 | |
| 146 # STDLIB CONFIGURATION OPTIONS | |
| 147 cdl_component CYGPKG_LIBC_STDLIB { | |
| 148 display "Standard utility functions" | |
| 149 flavor none | |
| 150 description " | |
| 151 Options associated with the standard utility functions in <stdlib.h>" | |
| 152 | |
| 153 script stdlib.cdl | |
| 154 } | |
| 155 | |
| 156 # STDIO CONFIGURATION OPTIONS | |
| 157 cdl_component CYGPKG_LIBC_STDIO { | |
| 158 display "Standard input/output functions" | |
| 159 flavor bool | |
| 160 requires CYGPKG_IO | |
| 161 requires CYGPKG_IO_SERIAL_HALDIAG | |
| 162 default_value 1 | |
| 163 description " | |
| 164 This enables support for standard I/O functions from <stdio.h>." | |
| 165 | |
| 166 script stdio.cdl | |
| 167 } | |
| 168 | |
| 169 | |
| 170 # INTERNATIONALIZATION AND LOCALIZATION OPTIONS | |
| 171 cdl_option CYGNUM_LIBC_MAX_LOCALE_NAME_SIZE { | |
| 172 display "Size of locale name strings" | |
| 173 flavor data | |
| 174 legal_values 2 to 0x7fffffff | |
| 175 default_value 16 | |
| 176 description " | |
| 177 This option controls the maximum size of | |
| 178 locale names and is used, among other things | |
| 179 to instantiate a static string used | |
| 180 as a return value from the | |
| 181 setlocale() function. When requesting the | |
| 182 current locale settings with LC_ALL, a string | |
| 183 must be constructed to contain this data, rather | |
| 184 than just returning a constant string. This | |
| 185 string data is stored in the static string. | |
| 186 This depends on the length of locale names, | |
| 187 hence this option. If just the C locale is | |
| 188 present, this option can be set as low as 2." | |
| 189 } | |
| 190 | |
| 191 # SIGNAL CONFIGURATION OPTIONS | |
| 192 cdl_component CYGPKG_LIBC_SIGNALS { | |
| 193 display "Signals" | |
| 194 flavor bool | |
| 195 default_value 1 | |
| 196 description " | |
| 197 This component controls signal functionality, | |
| 198 as implemented in ISO C chapter 7.7 with the | |
| 199 signal() and raise() functions. As well as | |
| 200 allowing a program to send itself signals, it is | |
| 201 also possible to cause hardware exceptions to | |
| 202 be signalled to the program in a similar way." | |
| 203 | |
| 204 script signals.cdl | |
| 205 } | |
| 206 | |
| 207 | |
| 208 # STARTUP OPTIONS | |
| 209 cdl_component CYGPKG_LIBC_STARTUP { | |
| 210 display "ISO C startup/termination" | |
| 211 flavor none | |
| 212 doc redirect/c-library-startup.html | |
| 213 description " | |
| 214 This component manages the control of the | |
| 215 environment (in the general sense) that the | |
| 216 C library provides for use for full ISO C | |
| 217 compatibility, including a main() entry point | |
| 218 supplied with arguments and an environment | |
| 219 (as retrievable by the getenv() function). | |
| 220 It also includes at the other end of things, | |
| 221 what happens when main() returns or exit() is | |
| 222 called." | |
| 223 | |
| 224 script startup.cdl | |
| 225 } | |
| 226 | |
| 227 # ERRNO OPTIONS | |
| 228 cdl_component CYGPKG_LIBC_ERRNO { | |
| 229 display "errno" | |
| 230 flavor none | |
| 231 description " | |
| 232 This package controls the behaviour of the | |
| 233 errno variable (or more strictly, expression) | |
| 234 from <errno.h>." | |
| 235 | |
| 236 cdl_option CYGSEM_LIBC_PER_THREAD_ERRNO { | |
| 237 display "Per-thread errno" | |
| 238 requires CYGVAR_KERNEL_THREADS_DATA | |
| 239 default_value 1 | |
| 240 description " | |
| 241 This option controls whether the standard error | |
| 242 code reporting variable errno is a per-thread | |
| 243 variable, rather than global. Enabling this | |
| 244 option will use one slot of kernel per-thread data. | |
| 245 You should ensure you have enough slots configured | |
| 246 for all your per-thread data." | |
| 247 } | |
| 248 | |
| 249 cdl_option CYGNUM_LIBC_ERRNO_TRACE_LEVEL { | |
| 250 display "Tracing level" | |
| 251 flavor data | |
| 252 legal_values 0 to 1 | |
| 253 default_value 0 | |
| 254 description " | |
| 255 Trace verbosity level for debugging the errno | |
| 256 retrieval mechanism in errno.cxx. Increase this | |
| 257 value to get additional trace output." | |
| 258 } | |
| 259 } | |
| 260 | |
| 261 # TIME OPTIONS | |
| 262 cdl_component CYGPKG_LIBC_TIME { | |
| 263 display "Date/time" | |
| 264 flavor none | |
| 265 description " | |
| 266 Options for date and time related functions from <time.h>" | |
| 267 | |
| 268 script time.cdl | |
| 269 } | |
| 270 | |
| 271 define_proc { | |
| 272 puts $::cdl_header "/***** proc output start *****/" | |
| 273 puts $::cdl_header "#include <pkgconf/system.h>" | |
| 274 | |
| 275 # MISCELLANEOUS DEFINES | |
| 276 # These are not really adjustable by the user. Do not change these unless | |
| 277 # you know what you are doing! | |
| 278 | |
| 279 # How to define inline functions | |
| 280 puts $::cdl_header "#define CYGPRI_LIBC_INLINE extern __inline__" | |
| 281 | |
| 282 # The following isn't supported yet - I'm leaving it for now | |
| 283 puts $::cdl_header "#ifdef __GNUC__xxxxxx" | |
| 284 puts $::cdl_header "# define CYGPRI_LIBC_ATTRIB_FORMAT_STRFTIME __attribute__ ((format (strftime, 3)))" | |
| 285 puts $::cdl_header "#else" | |
| 286 puts $::cdl_header "# define CYGPRI_LIBC_ATTRIB_FORMAT_STRFTIME" | |
| 287 puts $::cdl_header "#endif" | |
| 288 | |
| 289 # The following are only for compatibility, and will | |
| 290 # eventually be removed once they are eliminated entirely from | |
| 291 # the code base | |
| 292 puts $::cdl_header "#define CYGPRI_LIBC_WEAK CYGBLD_ATTRIB_WEAK" | |
| 293 | |
| 294 # How to define aliases | |
| 295 puts $::cdl_header "#define CYGPRI_LIBC_ALIAS(__symbol__) __attribute__ ((alias (__symbol__)))" | |
| 296 | |
| 297 puts $::cdl_header "# define CYGPRI_LIBC_WEAK_ALIAS(__symbol__) CYGBLD_ATTRIB_WEAK CYGPRI_LIBC_ALIAS(__symbol__)" | |
| 298 | |
| 299 # How to define functions that don't return | |
| 300 puts $::cdl_header "#define CYGPRI_LIBC_NORETURN CYGBLD_ATTRIB_NORET" | |
| 301 puts $::cdl_header "/****** proc output end ******/" | |
| 302 } | |
| 303 | |
| 304 cdl_component CYGPKG_LIBC_OPTIONS { | |
| 305 display "C library build options" | |
| 306 flavor none | |
| 307 description " | |
| 308 Package specific build options including control over | |
| 309 compiler flags used only in building this package, | |
| 310 and details of which tests are built." | |
| 311 | |
| 312 | |
| 313 cdl_option CYGPKG_LIBC_CFLAGS_ADD { | |
| 314 display "Additional compiler flags" | |
| 315 flavor data | |
| 316 no_define | |
| 317 default_value { "" } | |
| 318 description " | |
| 319 This option modifies the set of compiler flags for | |
| 320 building the C library. These flags are used in addition | |
| 321 to the set of global flags." | |
| 322 } | |
| 323 | |
| 324 cdl_option CYGPKG_LIBC_CFLAGS_REMOVE { | |
| 325 display "Supressed compiler flags" | |
| 326 flavor data | |
| 327 no_define | |
| 328 default_value { "" } | |
| 329 description " | |
| 330 This option modifies the set of compiler flags for | |
| 331 building the C library. These flags are removed from | |
| 332 the set of global flags if present." | |
| 333 } | |
| 334 | |
| 335 cdl_option CYGPKG_LIBC_TESTS { | |
| 336 display "C library tests" | |
| 337 flavor data | |
| 338 no_define | |
| 339 calculated { "tests/ctype/ctype tests/i18n/setlocale tests/setjmp/setjmp tests/signal/signal1 tests/signal/signal2 tests/stdio/sprintf1 tests/stdio/sprintf2 tests/stdio/sscanf tests/stdio/stdiooutput tests/stdlib/abs tests/stdlib/atexit tests/stdlib/atoi tests/stdlib/atol tests/stdlib/bsearch tests/stdlib/div tests/stdlib/getenv tests/stdlib/labs tests/stdlib/ldiv tests/stdlib/qsort tests/stdlib/malloc1 tests/stdlib/malloc2 tests/stdlib/malloc3 tests/stdlib/rand1 tests/stdlib/rand2 tests/stdlib/rand3 tests/stdlib/rand4 tests/stdlib/realloc tests/stdlib/srand tests/stdlib/strtol tests/stdlib/strtoul tests/string/memchr tests/string/memcmp1 tests/string/memcmp2 tests/string/memcpy1 tests/string/memcpy2 tests/string/memmove1 tests/string/memmove2 tests/string/memset tests/string/strcat1 tests/string/strcat2 tests/string/strchr tests/string/strcmp1 tests/string/strcmp2 tests/string/strcoll1 tests/string/strcoll2 tests/string/strcpy1 tests/string/strcpy2 tests/string/strcspn tests/string/strcspn tests/string/strlen tests/string/strncat1 tests/string/strncat2 tests/string/strncpy1 tests/string/strncpy2 tests/string/strpbrk tests/string/strrchr tests/string/strspn tests/string/strstr tests/string/strtok tests/string/strxfrm1 tests/string/strxfrm2 tests/time/asctime tests/time/clock tests/time/ctime tests/time/gmtime tests/time/localtime tests/time/mktime tests/time/strftime tests/time/time" } | |
| 340 description " | |
| 341 This option specifies the set of tests for the C library." | |
| 342 } | |
| 343 } | |
| 344 } |
