1 # ====================================================================
5 # C library string related configuration data
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.
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.
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
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.
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.
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.
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####
47 #####DESCRIPTIONEND####
49 # ====================================================================
51 cdl_package CYGPKG_LIBC_STRING {
52 display "ISO C library string functions"
54 This package provides string functions specified by the
55 ISO C standard - ISO/IEC 9899:1990."
57 include_dir cyg/libc/string
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
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
82 # ====================================================================
84 cdl_option CYGIMP_LIBC_STRING_INLINES {
85 display "Inline versions of <string.h> functions"
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
96 cdl_option CYGIMP_LIBC_STRING_PREFER_SMALL_TO_FAST {
97 display "Optimize string functions for code size"
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."
107 cdl_option CYGFUN_LIBC_STRING_BSD_FUNCS {
108 display "Provide BSD compatibility functions"
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
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."
123 cdl_component CYGPKG_LIBC_STRING_STRTOK {
127 These options control the behaviour of the
128 strtok() and strtok_r() string tokenization
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
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
149 cdl_option CYGNUM_LIBC_STRING_STRTOK_TRACE_LEVEL {
150 display "Tracing level"
155 Trace verbosity level for debugging the <string.h>
156 functions strtok() and strtok_r(). Increase this
157 value to get additional trace output."
161 cdl_option CYGFUN_LIBC_STRING_STRDUP {
163 active_if CYGINT_ISO_MALLOC
167 This option indicates whether strdup() is to be supported."
170 cdl_component CYGPKG_LIBC_STRING_OPTIONS {
171 display "C library string functions build options"
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."
180 cdl_option CYGPKG_LIBC_STRING_CFLAGS_ADD {
181 display "Additional compiler flags"
184 default_value { "-fno-rtti -Woverloaded-virtual" }
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."
191 cdl_option CYGPKG_LIBC_STRING_CFLAGS_REMOVE {
192 display "Suppressed compiler flags"
195 default_value { "-Wno-pointer-sign" }
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."
202 cdl_option CYGPKG_LIBC_STRING_TESTS {
203 display "C library string function tests"
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" }
208 This option specifies the set of tests for the C library
214 # ====================================================================