]> git.karo-electronics.de Git - karo-tx-redboot.git/blob - packages/isoinfra/v2_0/cdl/isoinfra.cdl
0ca4f74fb7574ad29a7bf3386610c4da375b876e
[karo-tx-redboot.git] / packages / isoinfra / v2_0 / cdl / isoinfra.cdl
1 # ====================================================================
2 #
3 #      isoinfra.cdl
4 #
5 #      ISO C and POSIX standards infrastructure package 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-07
46 #
47 #####DESCRIPTIONEND####
48 #
49 # ====================================================================
50
51 cdl_package CYGPKG_ISOINFRA {
52     display       "ISO C and POSIX infrastructure"
53     description   "
54         eCos supports implementations of ISO C libraries and POSIX
55         implementations. This package provides infrastructure used by
56         all such implementations."
57
58
59 # ====================================================================
60
61     cdl_component CYGPKG_ISO_STARTUP {
62         display       "Startup and termination"
63         flavor        none
64         no_define
65
66         cdl_interface CYGINT_ISO_MAIN_STARTUP {
67             display       "main() startup implementations"
68             description   "
69                 Implementations of this interface arrange for a user-supplied
70                 main() to be called in an ISO compatible environment."
71             requires      { 1 >= CYGINT_ISO_MAIN_STARTUP }
72         }
73
74         cdl_interface CYGINT_ISO_ENVIRON {
75             display       "environ implementations"
76             description   "
77                 Implementations of this interface provide the environ
78                 variable required by POSIX."
79             requires      { 1 >= CYGINT_ISO_ENVIRON }
80         }
81     }
82
83 # ====================================================================
84
85     cdl_component CYGPKG_ISO_CTYPE_H {
86         display       "ctype.h functions"
87         flavor        none
88         no_define
89
90         cdl_interface CYGINT_ISO_CTYPE {
91             display       "Number of implementations of ctype functions"
92             requires      { 1 >= CYGINT_ISO_CTYPE }
93         }
94     
95         cdl_option CYGBLD_ISO_CTYPE_HEADER {
96             display       "Ctype implementation header"
97             flavor        booldata
98             default_value 0
99         }
100     }
101
102 # ====================================================================
103
104     cdl_component CYGPKG_ISO_ERRNO {
105         display       "Error handling"
106         flavor        none
107         no_define
108
109         cdl_interface CYGINT_ISO_ERRNO_CODES {
110             display       "Number of implementations of error codes"
111             requires      { 1 >= CYGINT_ISO_ERRNO_CODES }
112         }
113     
114         cdl_option CYGBLD_ISO_ERRNO_CODES_HEADER {
115             display       "Error codes implementation header"
116             flavor        booldata
117             default_value 0
118         }
119     
120         cdl_interface CYGINT_ISO_ERRNO {
121             display       "Number of implementations of errno variable"
122             requires      { 1 >= CYGINT_ISO_ERRNO }
123         }
124     
125         cdl_option CYGBLD_ISO_ERRNO_HEADER {
126             display       "errno variable implementation header"
127             flavor        booldata
128             default_value 0
129         }
130     
131     }
132
133 # ====================================================================
134
135     cdl_component CYGPKG_ISO_LOCALE {
136         display       "Locale-related functions"
137         flavor        none
138         no_define
139
140         cdl_interface CYGINT_ISO_LOCALE {
141             display       "Number of implementations of locale functions"
142             requires      { 1 >= CYGINT_ISO_LOCALE }
143         }
144     
145         cdl_option CYGBLD_ISO_LOCALE_HEADER {
146             display       "Locale implementation header"
147             flavor        booldata
148             default_value 0
149         }
150     }
151
152 # ====================================================================
153
154     cdl_component CYGPKG_ISO_STDIO {
155         display       "Standard I/O-related functionality"
156         flavor        none
157         no_define
158
159         cdl_interface CYGINT_ISO_STDIO_FILETYPES {
160             display       "Number of implementations of stdio file types"
161             flavor        booldata
162             requires      { 1 >= CYGINT_ISO_STDIO_FILETYPES }
163         }
164
165         cdl_option CYGBLD_ISO_STDIO_FILETYPES_HEADER {
166             display       "Stdio file types implementation header"
167             flavor        booldata
168             default_value 0
169         }
170
171         cdl_interface CYGINT_ISO_STDIO_STREAMS {
172             display       "Stdio standard streams implementations"
173             flavor        booldata
174             requires      { 1 >= CYGINT_ISO_STDIO_STREAMS }
175         }
176
177         cdl_option CYGBLD_ISO_STDIO_STREAMS_HEADER {
178             display       "Stdio standard streams implementation header"
179             description   "This header file must define stdin, stdout
180                            and stderr."
181             flavor        booldata
182             default_value 0
183         }
184
185         cdl_interface CYGINT_ISO_STDIO_FILEOPS {
186             display       "Number of implementations of stdio file operations"
187             flavor        booldata
188             requires      { 1 >= CYGINT_ISO_STDIO_FILEOPS }
189         }
190     
191         cdl_option CYGBLD_ISO_STDIO_FILEOPS_HEADER {
192             display       "Stdio file operations implementation header"
193             description   "
194                 This header controls the file system operations on a file
195                 such as remove(), rename(), tmpfile(), tmpnam() and associated
196                 constants."
197             flavor        booldata
198             default_value 0
199         }
200
201         cdl_interface CYGINT_ISO_STDIO_FILEACCESS {
202             display       "Number of implementations of stdio file access \
203                           functionals"
204             flavor        booldata
205             requires      { 1 >= CYGINT_ISO_STDIO_FILEACCESS }
206         }
207     
208         cdl_option CYGBLD_ISO_STDIO_FILEACCESS_HEADER {
209             display       "Stdio file access implementation header"
210             description   "
211                 This header controls the file access operations
212                 such as fclose(), fflush(), fopen(), freopen(), setbuf(),
213                 setvbuf(), and associated constants."
214             flavor        booldata
215             default_value 0
216         }
217
218         cdl_interface CYGINT_ISO_STDIO_FORMATTED_IO {
219             display       "Number of implementations of stdio formatted I/O"
220             flavor        booldata
221             requires      { 1 >= CYGINT_ISO_STDIO_FORMATTED_IO }
222         }
223     
224         cdl_option CYGBLD_ISO_STDIO_FORMATTED_IO_HEADER {
225             display       "Stdio formatted I/O implementation header"
226             flavor        booldata
227             default_value 0
228         }
229
230         cdl_interface CYGINT_ISO_STDIO_CHAR_IO {
231             display       "Number of implementations of stdio character I/O"
232             flavor        booldata
233             requires      { 1 >= CYGINT_ISO_STDIO_CHAR_IO }
234         }
235     
236         cdl_option CYGBLD_ISO_STDIO_CHAR_IO_HEADER {
237             display       "Stdio character I/O implementation header"
238             flavor        booldata
239             default_value 0
240         }
241
242         cdl_interface CYGINT_ISO_STDIO_DIRECT_IO {
243             display       "Number of implementations of stdio direct I/O"
244             flavor        booldata
245             requires      { 1 >= CYGINT_ISO_STDIO_DIRECT_IO }
246         }
247     
248         cdl_option CYGBLD_ISO_STDIO_DIRECT_IO_HEADER {
249             display       "Stdio direct I/O implementation header"
250             flavor        booldata
251             default_value 0
252         }
253
254         cdl_interface CYGINT_ISO_STDIO_FILEPOS {
255             display       "Number of implementations of stdio file positioning"
256             flavor        booldata
257             requires      { 1 >= CYGINT_ISO_STDIO_FILEPOS }
258         }
259     
260         cdl_option CYGBLD_ISO_STDIO_FILEPOS_HEADER {
261             display       "Stdio file positioning implementation header"
262             flavor        booldata
263             default_value 0
264         }
265
266         cdl_interface CYGINT_ISO_STDIO_ERROR {
267             display       "Number of implementations of stdio error handling"
268             flavor        booldata
269             requires      { 1 >= CYGINT_ISO_STDIO_ERROR }
270         }
271     
272         cdl_option CYGBLD_ISO_STDIO_ERROR_HEADER {
273             display       "Stdio error handling implementation header"
274             flavor        booldata
275             default_value 0
276         }
277
278         cdl_interface CYGINT_ISO_STDIO_POSIX_FDFUNCS {
279             display       "POSIX fd-related function implementations"
280             flavor        booldata
281             requires      { 1 >=  CYGINT_ISO_STDIO_POSIX_FDFUNCS }
282         }
283     
284         cdl_option CYGBLD_ISO_STDIO_POSIX_FDFUNCS_HEADER {
285             display       "POSIX fd-related function implementation header"
286             flavor        booldata
287             default_value 0
288         }
289
290     }
291
292 # ====================================================================
293
294     cdl_component CYGPKG_ISO_STDLIB {
295         display       "Standard general utility functions"
296         flavor        none
297         no_define
298
299         cdl_interface CYGINT_ISO_STDLIB_STRCONV {
300             display       "String conversion function implementations"
301             requires      { 1 >= CYGINT_ISO_STDLIB_STRCONV }
302         }
303     
304         cdl_option CYGBLD_ISO_STDLIB_STRCONV_HEADER {
305             display       "String conversion function implementation header"
306             flavor        booldata
307             default_value 0
308         }
309
310         cdl_interface CYGINT_ISO_STDLIB_STRCONV_FLOAT {
311             display       "String to FP conversion function implementations"
312             requires      { 1 >= CYGINT_ISO_STDLIB_STRCONV_FLOAT }
313         }
314     
315         cdl_option CYGBLD_ISO_STDLIB_STRCONV_FLOAT_HEADER {
316             display       "String to FP conversion function implementation header"
317             flavor        booldata
318             default_value 0
319         }
320
321         cdl_interface CYGINT_ISO_RAND {
322             display       "Random number generator implementations"
323             requires      { 1 >= CYGINT_ISO_RAND }
324         }
325     
326         cdl_option CYGBLD_ISO_RAND_HEADER {
327             display       "Random number generator implementation header"
328             flavor        booldata
329             default_value 0
330         }
331
332         cdl_interface CYGINT_ISO_MALLOC {
333             display       "Malloc implementations"
334             requires      { 1 >= CYGINT_ISO_MALLOC }
335         }
336     
337         cdl_option CYGBLD_ISO_MALLOC_HEADER {
338             display       "Malloc implementation header"
339             flavor        booldata
340             default_value 0
341         }
342
343         cdl_interface CYGINT_ISO_MALLINFO {
344             display       "Mallinfo() implementations"
345             requires      { 1 >= CYGINT_ISO_MALLINFO }
346         }
347     
348         cdl_option CYGBLD_ISO_MALLINFO_HEADER {
349             display       "Mallinfo() implementation header"
350             flavor        booldata
351             default_value 0
352         }
353
354         cdl_interface CYGINT_ISO_EXIT {
355             display       "Program exit functionality implementations"
356             requires      { 1 >= CYGINT_ISO_EXIT }
357         }
358     
359         cdl_option CYGBLD_ISO_EXIT_HEADER {
360             display       "Program exit functionality implementation header"
361             flavor        booldata
362             default_value 0
363         }
364
365         cdl_interface CYGINT_ISO_STDLIB_ENVIRON {
366             display       "Program environment implementations"
367             requires      { 1 >= CYGINT_ISO_STDLIB_ENVIRON }
368         }
369     
370         cdl_option CYGBLD_ISO_STDLIB_ENVIRON_HEADER {
371             display       "Program environment implementation header"
372             flavor        booldata
373             default_value 0
374         }
375
376         cdl_interface CYGINT_ISO_STDLIB_SYSTEM {
377             display       "system() implementations"
378             requires      { 1 >= CYGINT_ISO_STDLIB_SYSTEM }
379         }
380     
381         cdl_option CYGBLD_ISO_STDLIB_SYSTEM_HEADER {
382             display       "system() implementation header"
383             flavor        booldata
384             default_value 0
385         }
386
387         cdl_interface CYGINT_ISO_BSEARCH {
388             display       "bsearch() implementations"
389             requires      { 1 >= CYGINT_ISO_BSEARCH }
390         }
391     
392         cdl_option CYGBLD_ISO_BSEARCH_HEADER {
393             display       "bsearch() implementation header"
394             flavor        booldata
395             default_value 0
396         }
397
398         cdl_interface CYGINT_ISO_QSORT {
399             display       "qsort() implementations"
400             requires      { 1 >= CYGINT_ISO_STDLIB_QSORT }
401         }
402     
403         cdl_option CYGBLD_ISO_QSORT_HEADER {
404             display       "qsort() implementation header"
405             flavor        booldata
406             default_value 0
407         }
408
409         cdl_interface CYGINT_ISO_ABS {
410             display       "abs()/labs() implementations"
411             requires      { 1 >= CYGINT_ISO_STDLIB_ABS }
412         }
413     
414         cdl_option CYGBLD_ISO_STDLIB_ABS_HEADER {
415             display       "abs()/labs() implementation header"
416             flavor        booldata
417             default_value 0
418         }
419
420         cdl_interface CYGINT_ISO_DIV {
421             display       "div()/ldiv() implementations"
422             requires      { 1 >= CYGINT_ISO_STDLIB_DIV }
423         }
424     
425         cdl_option CYGBLD_ISO_STDLIB_DIV_HEADER {
426             display       "div()/ldiv() implementation header"
427             flavor        booldata
428             default_value 0
429         }
430
431         cdl_option CYGBLD_ISO_STDLIB_MB_CUR_MAX_HEADER {
432             display       "Header defining the implementation's MB_CUR_MAX"
433             flavor        booldata
434             default_value 0
435         }
436
437         cdl_interface CYGINT_ISO_STDLIB_MULTIBYTE {
438             display       "Multibyte character implementations"
439             requires      { 1 >= CYGINT_ISO_STDLIB_MULTIBYTE }
440         }
441     
442         cdl_option CYGBLD_ISO_STDLIB_MULTIBYTE_HEADER {
443             display       "Multibyte character implementation header"
444             flavor        booldata
445             default_value 0
446         }
447     }
448
449 # ====================================================================
450
451     cdl_component CYGPKG_ISO_STRING {
452         display       "String functions"
453         flavor        none
454         no_define
455
456         cdl_interface CYGINT_ISO_STRERROR {
457             display       "Number of implementations of strerror() function"
458             requires      { 1 >= CYGINT_ISO_STRERROR }
459             flavor        booldata
460         }
461     
462         cdl_option CYGBLD_ISO_STRERROR_HEADER {
463             display       "strerror() implementation header"
464             flavor        booldata
465             default_value 0
466         }
467
468         cdl_option CYGBLD_ISO_MEMCPY_HEADER {
469             display       "memcpy() implementation header"
470             flavor        booldata
471             default_value 0
472         }
473
474         cdl_option CYGBLD_ISO_MEMSET_HEADER {
475             display       "memset() implementation header"
476             flavor        booldata
477             default_value 0
478         }
479
480         cdl_interface CYGINT_ISO_STRTOK_R {
481             display       "Number of implementations of strtok_r() function"
482             requires      { 1 >= CYGINT_ISO_STRTOK_R }
483             flavor        booldata
484         }
485     
486         cdl_option CYGBLD_ISO_STRTOK_R_HEADER {
487             display       "strtok_r() implementation header"
488             flavor        booldata
489             default_value 0
490         }
491
492         cdl_interface CYGINT_ISO_STRING_LOCALE_FUNCS {
493             display       "Number of implementations of locale-specific string \
494                            functions"
495             description   "
496                 This covers locale-dependent string functions such as strcoll()
497                 and strxfrm()."
498             requires      { 1 >= CYGINT_ISO_STRING_LOCALE_FUNCS }
499             flavor        booldata
500         }
501     
502         cdl_option CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER {
503             display       "Locale-specific string functions' implementation \
504                            header"
505             description   "
506                 This covers locale-dependent string functions such as strcoll()
507                 and strxfrm()."
508             flavor        booldata
509             default_value 0
510         }
511
512         cdl_interface CYGINT_ISO_STRING_BSD_FUNCS {
513             display       "Number of implementations of BSD string functions"
514             requires      { 1 >= CYGINT_ISO_STRING_BSD_FUNCS }
515             flavor        booldata
516         }
517     
518         cdl_option CYGBLD_ISO_STRING_BSD_FUNCS_HEADER {
519             display       "BSD string functions' implementation header"
520             flavor        booldata
521             default_value 0
522         }
523
524         cdl_interface CYGINT_ISO_STRING_MEMFUNCS {
525             display       "Number of implementations of other mem*() functions"
526             requires      { 1 >= CYGINT_ISO_STRING_MEMFUNCS }
527             flavor        booldata
528         }
529     
530         cdl_option CYGBLD_ISO_STRING_MEMFUNCS_HEADER {
531             display       "Other mem*() functions' implementation header"
532             flavor        booldata
533             default_value 0
534         }
535
536         cdl_interface CYGINT_ISO_STRING_STRFUNCS {
537             display       "Number of implementations of other ISO C str*() \
538                            functions"
539             description   "
540                 This covers the other str*() functions defined by ISO C."
541             requires      { 1 >= CYGINT_ISO_STRING_STRFUNCS }
542             flavor        booldata
543         }
544     
545         cdl_option CYGBLD_ISO_STRING_STRFUNCS_HEADER {
546             display       "Other ISO C str*() functions' implementation \
547                            header"
548             description   "
549                 This covers the other str*() functions defined by ISO C."
550             flavor        booldata
551             default_value 0
552         }
553     }
554
555 # ====================================================================
556
557     cdl_component CYGPKG_ISO_TIME {
558         display       "Clock and time functionality"
559         flavor        none
560         no_define
561
562         cdl_option CYGBLD_ISO_TIME_T_HEADER {
563             display       "time_t implementation header"
564             flavor        booldata
565             default_value 0
566         }
567
568         cdl_option CYGBLD_ISO_CLOCK_T_HEADER {
569             display       "clock_t implementation header"
570             flavor        booldata
571             default_value 0
572         }
573
574         cdl_option CYGBLD_ISO_STRUCTTIMEVAL_HEADER {
575             display       "struct timeval implementation header"
576             flavor        booldata
577             default_value 0
578         }
579
580         cdl_interface CYGINT_ISO_POSIX_TIMER_TYPES {
581             display       "Number of implementations of POSIX timer types"
582             requires      { 1 >= CYGINT_ISO_POSIX_TIMER_TYPES }
583             flavor        booldata
584         }
585     
586         cdl_option CYGBLD_ISO_POSIX_TIMER_TYPES_HEADER {
587             display       "POSIX timer types implementation header"
588             flavor        booldata
589             default_value 0
590         }
591
592         cdl_interface CYGINT_ISO_POSIX_CLOCK_TYPES {
593             display       "Number of implementations of POSIX clock types"
594             requires      { 1 >= CYGINT_ISO_POSIX_CLOCK_TYPES }
595             flavor        booldata
596         }
597     
598         cdl_option CYGBLD_ISO_POSIX_CLOCK_TYPES_HEADER {
599             display       "POSIX clock types implementation header"
600             flavor        booldata
601             default_value 0
602         }
603
604         cdl_interface CYGINT_ISO_C_TIME_TYPES {
605             display       "Number of implementations of ISO C types"
606             requires      { 1 >= CYGINT_ISO_C_TIME_TYPES }
607             flavor        booldata
608         }
609     
610         cdl_option CYGBLD_ISO_C_TIME_TYPES_HEADER {
611             display       "ISO C time types implementation header"
612             flavor        booldata
613             default_value 0
614         }
615
616         cdl_interface CYGINT_ISO_POSIX_TIMERS {
617             display       "Number of implementations of POSIX timers"
618             requires      { 1 >= CYGINT_ISO_POSIX_TIMERS }
619             define        _POSIX_TIMERS
620             flavor        booldata
621         }
622     
623         cdl_option CYGBLD_ISO_POSIX_TIMERS_HEADER {
624             display       "POSIX timer implementation header"
625             flavor        booldata
626             default_value 0
627         }
628
629         cdl_interface CYGINT_ISO_POSIX_CLOCKS {
630             display       "Number of implementations of POSIX clocks"
631             requires      { 1 >= CYGINT_ISO_POSIX_CLOCKS }
632             flavor        booldata
633         }
634     
635         cdl_option CYGBLD_ISO_POSIX_CLOCKS_HEADER {
636             display       "POSIX clocks implementation header"
637             flavor        booldata
638             default_value 0
639         }
640
641         cdl_interface CYGINT_ISO_C_CLOCK_FUNCS {
642             display       "Number of implementations of ISO C clock functions"
643             requires      { 1 >= CYGINT_ISO_C_CLOCK_FUNCS }
644             flavor        booldata
645         }
646     
647         cdl_option CYGBLD_ISO_C_CLOCK_FUNCS_HEADER {
648             display       "ISO C clock functions' implementation header"
649             flavor        booldata
650             default_value 0
651         }
652
653         cdl_interface CYGINT_ISO_TZSET {
654             display       "Number of implementations of tzset() function"
655             requires      { 1 >= CYGINT_ISO_TZSET }
656             flavor        booldata
657         }
658     
659         cdl_option CYGBLD_ISO_TZSET_HEADER {
660             display       "tzset() implementation header"
661             flavor        booldata
662             default_value 0
663         }
664     }
665
666
667 # ====================================================================
668
669     cdl_component CYGPKG_ISO_SIGNAL {
670         display       "Signal functionality"
671         flavor        none
672         no_define
673
674         cdl_interface CYGINT_ISO_SIGNAL_NUMBERS {
675             display       "Number of implementations of signal numbers"
676             requires      { 1 >= CYGINT_ISO_SIGNAL_NUMBERS }
677         }
678     
679         cdl_option CYGBLD_ISO_SIGNAL_NUMBERS_HEADER {
680             display       "Signal numbering implementation header"
681             description   "This header provides the mapping of signal
682                            names (e.g. SIGBUS) to numbers."
683             flavor        booldata
684             default_value 0
685         }
686
687         cdl_interface CYGINT_ISO_SIGNAL_IMPL {
688             display       "Number of signal implementations"
689             requires      { 1 >= CYGINT_ISO_SIGNAL_IMPL }
690         }
691     
692         cdl_option CYGBLD_ISO_SIGNAL_IMPL_HEADER {
693             display       "Signals implementation header"
694             flavor        booldata
695             default_value 0
696         }
697
698         cdl_interface CYGINT_POSIX_REALTIME_SIGNALS {
699             display       "POSIX real time signals feature test macro"
700             description   "This defines the POSIX feature test macro
701                            that indicates that the POSIX real time signals
702                            are present."
703             requires { 1 >= CYGINT_POSIX_REALTIME_SIGNALS }
704 # FIXME  should use this:           define        _POSIX_REALTIME_SIGNALS
705             define_proc {
706                 puts $::cdl_header "#if CYGINT_POSIX_REALTIME_SIGNALS"
707                 puts $::cdl_header "# define _POSIX_REALTIME_SIGNALS 1"
708                 puts $::cdl_header "#endif"
709             }
710         }
711
712     }
713
714 # ====================================================================
715
716     cdl_component CYGPKG_ISO_SETJMP {
717         display       "Non-local jumps functionality"
718         flavor        none
719         no_define
720
721         cdl_interface CYGINT_ISO_SETJMP {
722             display       "setjmp() / longjmp() implementations"
723             requires      { 1 >= CYGINT_ISO_SETJMP }
724         }
725     
726         cdl_option CYGBLD_ISO_SETJMP_HEADER {
727             display       "setjmp() / longjmp() implementation header"
728             flavor        booldata
729             default_value 0
730         }
731
732         cdl_interface CYGINT_ISO_SIGSETJMP {
733             display       "sigsetjmp() / siglongjmp() implementations"
734             requires      { 1 >= CYGINT_ISO_SIGSETJMP }
735         }
736     
737         cdl_option CYGBLD_ISO_SIGSETJMP_HEADER {
738             display       "sigsetjmp() / siglongjmp() implementation header"
739             flavor        booldata
740             default_value 0
741         }
742     }
743
744
745 # ====================================================================
746
747     cdl_option CYGBLD_ISO_ASSERT_HEADER {
748         display       "Assertions implementation header"
749         flavor        booldata
750         default_value 0
751     }
752
753
754 # ====================================================================
755
756     cdl_component CYGPKG_ISO_POSIX_FCNTL {
757         display       "POSIX file control"
758         description   "This covers the POSIX file control definitions,
759                        normally found in <fcntl.h>"
760         flavor        none
761         no_define
762
763         cdl_option CYGBLD_ISO_OFLAG_HEADER {
764             display       "POSIX open flags implementation header"
765             flavor        booldata
766             default_value 0
767         }
768
769         cdl_interface CYGINT_ISO_FCNTL {
770             display       "POSIX fcntl() implementations"
771             requires      { 1 >= CYGINT_ISO_FCNTL }
772         }
773     
774         cdl_option CYGBLD_ISO_FCNTL_HEADER {
775             display       "POSIX fcntl() implementation header"
776             flavor        booldata
777             default_value 0
778         }
779
780         cdl_interface CYGINT_ISO_OPEN {
781             display       "POSIX file open implementations"
782             requires      { 1 >= CYGINT_ISO_OPEN }
783         }
784     
785         cdl_option CYGBLD_ISO_OPEN_HEADER {
786             display       "POSIX file open implementation header"
787             flavor        booldata
788             default_value 0
789         }
790     }
791
792 # ====================================================================
793
794     cdl_option CYGBLD_ISO_STAT_DEFS_HEADER {
795         display       "<sys/stat.h> definitions implementation header"
796         flavor        booldata
797         default_value 0
798     }
799
800
801 # ====================================================================
802
803     cdl_interface CYGINT_ISO_DIRENT {
804             display       "POSIX directory reading implementation"
805             requires      { 1 >= CYGINT_ISO_DIRENT }
806     }
807
808     cdl_option CYGBLD_ISO_DIRENT_HEADER {
809         display       "<dirent.h> definitions implementation header"
810         flavor        booldata
811         default_value 0
812     }
813
814 # ====================================================================
815
816     cdl_component CYGPKG_ISO_POSIX_TYPES {
817         display       "POSIX <sys/types.h> contents"
818         description   "This covers the types required by POSIX to be in
819                        <sys/types.h>"
820         flavor        none
821         no_define
822
823         cdl_interface CYGINT_ISO_PTHREADTYPES {
824             display       "POSIX thread types implementations"
825             requires      { 1 >= CYGINT_ISO_PTHREADTYPES }
826         }
827     
828         cdl_option CYGBLD_ISO_PTHREADTYPES_HEADER {
829             display       "POSIX thread types implementation header"
830             flavor        booldata
831             default_value 0
832         }
833
834         cdl_interface CYGINT_ISO_PMUTEXTYPES {
835             display       "POSIX mutex types implementations"
836             requires      { 1 >= CYGINT_ISO_PTHREADTYPES }
837         }
838     
839         cdl_option CYGBLD_ISO_PMUTEXTYPES_HEADER {
840             display       "POSIX mutex types implementation header"
841             flavor        booldata
842             default_value 0
843         }
844
845         cdl_option CYGBLD_ISO_SSIZE_T_HEADER {
846             display       "ssize_t implementation header"
847             flavor        booldata
848             default_value 0
849         }
850         cdl_option CYGBLD_ISO_FSTYPES_HEADER {
851             display       "Filesystem types implementation header"
852             flavor        booldata
853             default_value 0
854         }
855         cdl_option CYGBLD_ISO_SCHEDTYPES_HEADER {
856             display       "gid_t, pid_t, uid_t implementation header"
857             flavor        booldata
858             default_value 0
859         }
860     }
861
862
863 # ====================================================================
864
865     cdl_component CYGPKG_ISO_EXTRA_TYPES {
866         display       "Non-POSIX <sys/types.h> contents"
867         description   "This covers the extra types required by non-POSIX
868                        packages to be in <sys/types.h>. These would normally
869                        only be visible if _POSIX_SOURCE is not defined."
870         flavor        none
871         no_define
872
873         cdl_interface CYGINT_ISO_BSDTYPES {
874             display   "BSD compatible types"
875             requires  { 1 >= CYGINT_ISO_BSDTYPES }
876         }
877
878         cdl_option CYGBLD_ISO_BSDTYPES_HEADER {
879             display       "BSD types header"
880             flavor        booldata
881             default_value 0
882         }
883     }
884
885 # ====================================================================
886
887     cdl_component CYGPKG_ISO_UTSNAME {
888         display       "Utsname structure"
889         flavor        none
890         no_define
891
892         cdl_option CYGBLD_ISO_UTSNAME_HEADER {
893             display    "Utsname header"
894             flavor     booldata
895             default_value 0
896         }
897     }
898
899 # ====================================================================
900
901     cdl_component CYGPKG_ISO_SCHED {
902         display       "POSIX scheduler"
903         flavor        none
904         no_define
905
906         cdl_interface CYGINT_ISO_SCHED_IMPL {
907             display       "POSIX scheduler implementations"
908             requires      { 1 >= CYGINT_ISO_SCHED_IMPL }
909         }
910     
911         cdl_option CYGBLD_ISO_SCHED_IMPL_HEADER {
912             display       "POSIX scheduler implementation header"
913             flavor        booldata
914             default_value 0
915         }
916     }
917
918 # ====================================================================
919
920     cdl_component CYGPKG_ISO_SEMAPHORES {
921         display       "POSIX semaphores"
922         flavor        none
923         no_define
924
925         cdl_interface CYGINT_ISO_SEMAPHORES {
926             display       "POSIX semaphore implementations"
927             requires      { 1 >= CYGINT_ISO_SEMAPHORES }
928 # FIXME  should use this:           define        _POSIX_SEMAPHORES
929             define_proc {
930                 puts $::cdl_header "#if CYGINT_ISO_SEMAPHORES"
931                 puts $::cdl_header "# define _POSIX_SEMAPHORES 1"
932                 puts $::cdl_header "#endif"
933             }
934         }
935     
936         cdl_option CYGBLD_ISO_SEMAPHORES_HEADER {
937             display       "POSIX semaphore implementation header"
938             flavor        booldata
939             default_value 0
940         }
941     }
942
943 # ====================================================================
944
945     cdl_component CYGPKG_ISO_MQUEUE {
946         display       "POSIX message queues"
947         flavor        none
948         no_define
949
950         cdl_interface CYGINT_ISO_MQUEUE {
951             display       "Implementations"
952             requires      { 1 >= CYGINT_ISO_MQUEUE }
953 # FIXME should use this:            define        _POSIX_MESSAGE_PASSING
954             define_proc {
955                 puts $::cdl_header "#if CYGINT_ISO_MQUEUE"
956                 puts $::cdl_header "# define _POSIX_MESSAGE_PASSING 1"
957                 puts $::cdl_header "#endif"
958             }
959         }
960
961         cdl_option CYGBLD_ISO_MQUEUE_HEADER {
962             display       "Implementation header"
963             flavor        booldata
964             default_value 0
965         }
966
967         cdl_option CYGNUM_ISO_MQUEUE_OPEN_MAX {
968             display       "Maximum number of open message queues"
969             flavor        booldata
970             active_if     CYGINT_ISO_MQUEUE
971             define MQ_OPEN_MAX
972 # FIXME: shouldn't be specific to the implementation, see CR
973             default_value { CYGNUM_POSIX_MQUEUE_OPEN_MAX > 0 ? CYGNUM_POSIX_MQUEUE_OPEN_MAX : 0 }
974         }
975         
976         cdl_option CYGNUM_ISO_MQUEUE_PRIO_MAX {
977             display       "Maximum number of message priorities"
978             flavor        booldata
979 # FIXME: again like CYGNUM_ISO_MQUEUE_OPEN_MAX, should be able to be set by
980 # the implementation
981             default_value 65535
982             active_if     CYGINT_ISO_MQUEUE
983             define        MQ_PRIO_MAX
984         }
985         
986
987     }
988
989 # ====================================================================
990
991     cdl_component CYGPKG_ISO_PTHREAD {
992         display       "POSIX threads"
993         flavor        none
994         no_define
995
996         cdl_interface CYGINT_ISO_PTHREAD_IMPL {
997             display       "POSIX pthread implementations"
998             requires      { 1 >= CYGINT_ISO_PTHREAD_IMPL }
999             flavor        booldata
1000         }
1001     
1002         cdl_option CYGBLD_ISO_PTHREAD_IMPL_HEADER {
1003             display       "POSIX pthread implementation header"
1004             flavor        booldata
1005             default_value 0
1006         }
1007
1008         cdl_interface CYGINT_ISO_PTHREAD_MUTEX {
1009             display       "POSIX mutex/cond var implementations"
1010             requires      { 1 >= CYGINT_ISO_PTHREAD_MUTEX }
1011             flavor booldata
1012         }
1013     
1014         cdl_option CYGBLD_ISO_PTHREAD_MUTEX_HEADER {
1015             display       "POSIX mutex/cond var implementation header"
1016             flavor        booldata
1017             default_value 0
1018         }
1019     }
1020
1021 # ====================================================================
1022
1023     cdl_component CYGPKG_ISO_LIMITS {
1024         display       "Limits"
1025         flavor        none
1026         no_define
1027
1028         cdl_interface CYGINT_ISO_POSIX_LIMITS {
1029             display       "POSIX pthread limits implementations"
1030             requires      { 1 >= CYGINT_ISO_POSIX_LIMITS }
1031         }
1032     
1033         cdl_option CYGBLD_ISO_POSIX_LIMITS_HEADER {
1034             display       "POSIX pthread limits implementation header"
1035             flavor        booldata
1036             default_value 0
1037         }
1038
1039         cdl_option CYGBLD_ISO_OPEN_MAX_HEADER {
1040             display       "OPEN_MAX implementation header"
1041             flavor        booldata
1042             default_value 0
1043         }
1044         cdl_option CYGBLD_ISO_LINK_MAX_HEADER {
1045             display       "LINK_MAX implementation header"
1046             flavor        booldata
1047             default_value 0
1048         }
1049         cdl_option CYGBLD_ISO_NAME_MAX_HEADER {
1050             display       "NAME_MAX implementation header"
1051             flavor        booldata
1052             default_value 0
1053         }
1054         cdl_option CYGBLD_ISO_PATH_MAX_HEADER {
1055             display       "PATH_MAX implementation header"
1056             flavor        booldata
1057             default_value 0
1058         }
1059     }
1060
1061 # ====================================================================
1062
1063     cdl_component CYGPKG_ISO_TERMIOS {
1064         display       "POSIX termios"
1065         flavor        none
1066         no_define
1067
1068         cdl_interface CYGINT_ISO_TERMIOS {
1069             display       "POSIX termios implementations"
1070             requires      { 1 >= CYGINT_ISO_TERMIOS }
1071         }
1072     
1073         cdl_option CYGBLD_ISO_TERMIOS_HEADER {
1074             display       "POSIX termios implementation header"
1075             flavor        booldata
1076             default_value 0
1077         }
1078     }
1079
1080 # ====================================================================
1081
1082     cdl_component CYGPKG_ISO_DLFCN {
1083         display       "Dynamic load API"
1084         flavor        none
1085         no_define
1086
1087         cdl_interface CYGINT_ISO_DLFCN {
1088             display       "Dynamic load implementations"
1089             requires      { 1 >= CYGINT_ISO_DLFCN }
1090         }
1091     
1092         cdl_option CYGBLD_ISO_DLFCN_HEADER {
1093             display       "Dynamic load implementation header"
1094             flavor        booldata
1095             default_value 0
1096         }
1097     }
1098     
1099 # ====================================================================
1100
1101     cdl_component CYGPKG_ISO_UNISTD {
1102         display       "UNIX standard functions"
1103         flavor        none
1104         no_define
1105
1106         cdl_interface CYGINT_ISO_POSIX_TIMER_OPS {
1107             display       "POSIX timer operations implementations"
1108             flavor        booldata
1109             requires      { 1 >= CYGINT_ISO_POSIX_TIMER_OPS }
1110         }
1111     
1112         cdl_option CYGBLD_ISO_POSIX_TIMER_OPS_HEADER {
1113             display       "POSIX timer operations implementation header"
1114             flavor        booldata
1115             default_value 0
1116         }
1117
1118         cdl_interface CYGINT_ISO_POSIX_SLEEP {
1119             display       "POSIX sleep() implementations"
1120             flavor        booldata
1121             requires      { 1 >= CYGINT_ISO_POSIX_SLEEP }
1122         }
1123     
1124         cdl_option CYGBLD_ISO_POSIX_SLEEP_HEADER {
1125             display       "POSIX sleep() implementation header"
1126             flavor        booldata
1127             default_value 0
1128         }
1129     }
1130
1131 # ====================================================================
1132
1133     cdl_component CYGPKG_ISO_SELECT {
1134         display       "select()/poll() functions"
1135         flavor        none
1136         no_define
1137
1138         cdl_interface CYGINT_ISO_SELECT {
1139             display       "select() implementations"
1140             flavor        booldata
1141             requires      { 1 >= CYGINT_ISO_SELECT }
1142         }
1143     
1144         cdl_option CYGBLD_ISO_SELECT_HEADER {
1145             display       "select() implementation header"
1146             flavor        booldata
1147             default_value 0
1148         }
1149
1150         cdl_interface CYGINT_ISO_POLL {
1151             display       "poll() implementations"
1152             flavor        booldata
1153             requires      { 1 >= CYGINT_ISO_POLL }
1154         }
1155     
1156         cdl_option CYGBLD_ISO_POLL_HEADER {
1157             display       "poll() implementation header"
1158             flavor        booldata
1159             default_value 0
1160         }
1161     }
1162
1163 # ====================================================================
1164
1165     cdl_component CYGPKG_ISO_NETDB {
1166         display       "NetDB utility functions"
1167         flavor        none
1168         no_define
1169
1170         cdl_interface CYGINT_ISO_DNS {
1171             display       "DNS implementations"
1172             flavor        bool
1173             requires      { 1 >= CYGINT_ISO_DNS }
1174         }
1175     
1176         cdl_option CYGBLD_ISO_DNS_HEADER {
1177             display       "DNS implementation header"
1178             flavor        booldata
1179             default_value 0
1180         }
1181         
1182         cdl_interface CYGINT_ISO_NETDB_PROTO {
1183             display       "Protocol network database implementations"
1184             flavor        bool
1185             requires      { 1 >= CYGINT_ISO_NETDB_PROTO }
1186         }
1187     
1188         cdl_option CYGBLD_ISO_NETDB_PROTO_HEADER {
1189             display       "Protocol network database implementation header"
1190             flavor        booldata
1191             default_value 0
1192         }
1193         
1194         cdl_interface CYGINT_ISO_NETDB_SERV {
1195             display       "Services network database implementations"
1196             flavor        bool
1197             requires      { 1 >= CYGINT_ISO_NETDB_SERV }
1198         }
1199     
1200         cdl_option CYGBLD_ISO_NETDB_SERV_HEADER {
1201             display       "Services network database implementation header"
1202             flavor        booldata
1203             default_value 0
1204         }
1205         
1206     }
1207
1208 # ====================================================================
1209     
1210         cdl_component CYGPKG_ISOINFRA_OPTIONS {
1211         display "Build options"
1212         flavor  none
1213         no_define
1214         description   "
1215             Package specific build options including control over
1216             compiler flags used only in building this package,
1217             and details of which tests are built."
1218
1219
1220         cdl_option CYGPKG_ISOINFRA_CFLAGS_ADD {
1221             display "Additional compiler flags"
1222             flavor  data
1223             no_define
1224             default_value { "" }
1225             description   "
1226                 This option modifies the set of compiler flags for
1227                 building the ISO C and POSIX infrastructure package.
1228                 These flags are used in addition to the set of global flags."
1229         }
1230
1231         cdl_option CYGPKG_ISOINFRA_CFLAGS_REMOVE {
1232             display "Suppressed compiler flags"
1233             flavor  data
1234             no_define
1235             default_value { "" }
1236             description   "
1237                 This option modifies the set of compiler flags for
1238                 building the ISO C and POSIX infrastructure package.
1239                 These flags are removed from the set of global flags
1240                 if present."
1241         }
1242     }
1243 }
1244
1245 # ====================================================================
1246 # End of isoinfra.cdl