]> git.kernelconcepts.de Git - karo-tx-redboot.git/blob - packages/language/c/libc/string/v2_0/cdl/string.cdl
unified MX27, MX25, MX37 trees
[karo-tx-redboot.git] / packages / language / c / libc / string / v2_0 / cdl / string.cdl
1 # ====================================================================
2 #
3 #      string.cdl
4 #
5 #      C library string related configuration data
6 #
7 # ====================================================================
8 #####ECOSGPLCOPYRIGHTBEGIN####
9 ## -------------------------------------------
10 ## This file is part of eCos, the Embedded Configurable Operating System.
11 ## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
12 ##
13 ## eCos is free software; you can redistribute it and/or modify it under
14 ## the terms of the GNU General Public License as published by the Free
15 ## Software Foundation; either version 2 or (at your option) any later version.
16 ##
17 ## eCos is distributed in the hope that it will be useful, but WITHOUT ANY
18 ## WARRANTY; without even the implied warranty of MERCHANTABILITY or
19 ## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
20 ## for more details.
21 ##
22 ## You should have received a copy of the GNU General Public License along
23 ## with eCos; if not, write to the Free Software Foundation, Inc.,
24 ## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
25 ##
26 ## As a special exception, if other files instantiate templates or use macros
27 ## or inline functions from this file, or you compile this file and link it
28 ## with other works to produce a work based on this file, this file does not
29 ## by itself cause the resulting work to be covered by the GNU General Public
30 ## License. However the source code for this file must still be made available
31 ## in accordance with section (3) of the GNU General Public License.
32 ##
33 ## This exception does not invalidate any other reasons why a work based on
34 ## this file might be covered by the GNU General Public License.
35 ##
36 ## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
37 ## at http://sources.redhat.com/ecos/ecos-license/
38 ## -------------------------------------------
39 #####ECOSGPLCOPYRIGHTEND####
40 # ====================================================================
41 ######DESCRIPTIONBEGIN####
42 #
43 # Author(s):      jlarmour
44 # Contributors:
45 # Date:           2000-04-14
46 #
47 #####DESCRIPTIONEND####
48 #
49 # ====================================================================
50
51 cdl_package CYGPKG_LIBC_STRING {
52     display       "ISO C library string functions"
53     description   "
54         This package provides string functions specified by the
55         ISO C standard - ISO/IEC 9899:1990."
56     doc           ref/libc.html
57     include_dir   cyg/libc/string  
58     parent        CYGPKG_LIBC
59     implements    CYGINT_ISO_STRTOK_R
60     implements    CYGINT_ISO_STRING_LOCALE_FUNCS
61     implements    CYGINT_ISO_STRING_MEMFUNCS
62     implements    CYGINT_ISO_STRING_STRFUNCS
63     requires      { CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER == \
64                     "<cyg/libc/string/string.h>" }
65     requires      { CYGBLD_ISO_STRING_MEMFUNCS_HEADER == \
66                     "<cyg/libc/string/string.h>" }
67     requires      { CYGBLD_ISO_STRING_STRFUNCS_HEADER == \
68                     "<cyg/libc/string/string.h>" }
69     requires      { CYGBLD_ISO_STRTOK_R_HEADER == \
70                     "<cyg/libc/string/string.h>" }
71     requires      CYGPKG_ISOINFRA
72
73     compile   memchr.cxx  memcmp.cxx  memmove.cxx   \
74               strcat.cxx  strchr.cxx  strcmp.cxx    \
75               strcoll.cxx strcpy.cxx  strcspn.cxx   \
76               strlen.cxx  strncat.cxx strncmp.cxx   \
77               strncpy.cxx strpbrk.cxx strrchr.cxx   \
78               strspn.cxx  strstr.cxx  strsuppt.cxx  \
79               strtok.cxx  strxfrm.cxx
80
81
82 # ====================================================================
83
84     cdl_option CYGIMP_LIBC_STRING_INLINES {
85         display       "Inline versions of <string.h> functions"
86         default_value 1
87         description   "
88             This option chooses whether some of the
89             particularly simple string functions from
90             <string.h> are available as inline
91             functions. This may improve performance, and as
92             the functions are small, may even improve code
93             size."
94     }
95     
96     cdl_option CYGIMP_LIBC_STRING_PREFER_SMALL_TO_FAST {
97         display       "Optimize string functions for code size"
98         flavor bool
99         default_value 0
100         description   "
101             This option tries to reduce string function
102             code size at the expense of execution speed. The
103             same effect can be produced if the code is
104             compiled with the -Os option to the compiler."
105     }
106
107     cdl_option CYGFUN_LIBC_STRING_BSD_FUNCS {
108         display       "Provide BSD compatibility functions"
109         flavor        bool
110         default_value 1
111         implements    CYGINT_ISO_STRING_BSD_FUNCS
112         requires      { CYGBLD_ISO_STRING_BSD_FUNCS_HEADER == \
113                         "<cyg/libc/string/bsdstring.h>" }
114         requires      CYGINT_ISO_CTYPE
115         compile       bsdstring.cxx
116         description   "
117             Enabling this option causes various compatibility functions
118             commonly found in the BSD UNIX operating system to be included.
119             These are functions such as bzero, bcmp, bcopy, bzero, strcasecmp,
120             strncasecmp, index, rindex and swab."
121     }
122     
123     cdl_component CYGPKG_LIBC_STRING_STRTOK {
124         display       "strtok"
125         flavor        none
126         description   "
127             These options control the behaviour of the
128             strtok() and strtok_r() string tokenization
129             functions."
130     
131         cdl_option CYGSEM_LIBC_STRING_PER_THREAD_STRTOK {
132             display       "Per-thread strtok()"
133             active_if     CYGPKG_KERNEL
134             requires      CYGVAR_KERNEL_THREADS_DATA
135             default_value CYGVAR_KERNEL_THREADS_DATA
136             description   "
137                 This option controls whether the string function
138                 strtok() has its state recorded on a per-thread
139                 basis rather than global. If this option is
140                 disabled, some per-thread space can be saved.
141                 Note there is also a POSIX-standard strtok_r()
142                 function to achieve a similar effect with user
143                 support. Enabling this option will use one slot
144                 of kernel per-thread data. You should ensure you
145                 have enough slots configured for all your
146                 per-thread data."
147         }
148     
149         cdl_option CYGNUM_LIBC_STRING_STRTOK_TRACE_LEVEL {
150             display       "Tracing level"
151             flavor        data
152             legal_values  0 to 1
153             default_value 0
154             description   "
155                 Trace verbosity level for debugging the <string.h>
156                 functions strtok() and strtok_r(). Increase this
157                 value to get additional trace output."
158         }
159     }
160
161     cdl_option CYGFUN_LIBC_STRING_STRDUP {
162         display       "strdup"
163         active_if     CYGINT_ISO_MALLOC
164         calculated    1
165         compile       strdup.cxx
166         description   "
167                 This option indicates whether strdup() is to be supported."
168     }
169
170     cdl_component CYGPKG_LIBC_STRING_OPTIONS {
171         display "C library string functions build options"
172         flavor  none
173         no_define
174         description   "
175             Package specific build options including control over
176             compiler flags used only in building this package,
177             and details of which tests are built."
178
179
180         cdl_option CYGPKG_LIBC_STRING_CFLAGS_ADD {
181             display "Additional compiler flags"
182             flavor  data
183             no_define
184             default_value { "-fno-rtti -Woverloaded-virtual" }
185             description   "
186                 This option modifies the set of compiler flags for
187                 building the C library. These flags are used in addition
188                 to the set of global flags."
189         }
190
191         cdl_option CYGPKG_LIBC_STRING_CFLAGS_REMOVE {
192             display "Suppressed compiler flags"
193             flavor  data
194             no_define
195             default_value { "-Wno-pointer-sign" }
196             description   "
197                 This option modifies the set of compiler flags for
198                 building the C library. These flags are removed from
199                 the set of global flags if present."
200         }
201
202         cdl_option CYGPKG_LIBC_STRING_TESTS {
203             display "C library string function tests"
204             flavor  data
205             no_define
206             calculated { "tests/memchr tests/memcmp1 tests/memcmp2 tests/memcpy1 tests/memcpy2 tests/memmove1 tests/memmove2 tests/memset tests/strcat1 tests/strcat2 tests/strchr tests/strcmp1 tests/strcmp2 tests/strcoll1 tests/strcoll2 tests/strcpy1 tests/strcpy2 tests/strcspn tests/strcspn tests/strlen tests/strncat1 tests/strncat2 tests/strncpy1 tests/strncpy2 tests/strpbrk tests/strrchr tests/strspn tests/strstr tests/strtok tests/strxfrm1 tests/strxfrm2" }
207             description   "
208                 This option specifies the set of tests for the C library
209                 string functions."
210         }
211     }
212 }
213
214 # ====================================================================
215 # EOF string.cdl
216