]> git.karo-electronics.de Git - karo-tx-redboot.git/blob - packages/isoinfra/v2_0/cdl/isoinfra.cdl
unified MX27, MX25, MX37 trees
[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_option CYGBLD_ISO_FNMATCH_HEADER {
581             display       "fnmatch implementation header"
582             flavor        booldata
583             default_value 0
584         }
585
586         cdl_interface CYGINT_ISO_POSIX_TIMER_TYPES {
587             display       "Number of implementations of POSIX timer types"
588             requires      { 1 >= CYGINT_ISO_POSIX_TIMER_TYPES }
589             flavor        booldata
590         }
591     
592         cdl_option CYGBLD_ISO_POSIX_TIMER_TYPES_HEADER {
593             display       "POSIX timer types implementation header"
594             flavor        booldata
595             default_value 0
596         }
597
598         cdl_interface CYGINT_ISO_POSIX_CLOCK_TYPES {
599             display       "Number of implementations of POSIX clock types"
600             requires      { 1 >= CYGINT_ISO_POSIX_CLOCK_TYPES }
601             flavor        booldata
602         }
603     
604         cdl_option CYGBLD_ISO_POSIX_CLOCK_TYPES_HEADER {
605             display       "POSIX clock types implementation header"
606             flavor        booldata
607             default_value 0
608         }
609
610         cdl_interface CYGINT_ISO_C_TIME_TYPES {
611             display       "Number of implementations of ISO C types"
612             requires      { 1 >= CYGINT_ISO_C_TIME_TYPES }
613             flavor        booldata
614         }
615     
616         cdl_option CYGBLD_ISO_C_TIME_TYPES_HEADER {
617             display       "ISO C time types implementation header"
618             flavor        booldata
619             default_value 0
620         }
621
622         cdl_interface CYGINT_ISO_POSIX_TIMERS {
623             display       "Number of implementations of POSIX timers"
624             requires      { 1 >= CYGINT_ISO_POSIX_TIMERS }
625             define        _POSIX_TIMERS
626             flavor        booldata
627         }
628     
629         cdl_option CYGBLD_ISO_POSIX_TIMERS_HEADER {
630             display       "POSIX timer implementation header"
631             flavor        booldata
632             default_value 0
633         }
634
635         cdl_interface CYGINT_ISO_POSIX_CLOCKS {
636             display       "Number of implementations of POSIX clocks"
637             requires      { 1 >= CYGINT_ISO_POSIX_CLOCKS }
638             flavor        booldata
639         }
640     
641         cdl_option CYGBLD_ISO_POSIX_CLOCKS_HEADER {
642             display       "POSIX clocks implementation header"
643             flavor        booldata
644             default_value 0
645         }
646
647         cdl_interface CYGINT_ISO_C_CLOCK_FUNCS {
648             display       "Number of implementations of ISO C clock functions"
649             requires      { 1 >= CYGINT_ISO_C_CLOCK_FUNCS }
650             flavor        booldata
651         }
652     
653         cdl_option CYGBLD_ISO_C_CLOCK_FUNCS_HEADER {
654             display       "ISO C clock functions' implementation header"
655             flavor        booldata
656             default_value 0
657         }
658
659         cdl_interface CYGINT_ISO_TZSET {
660             display       "Number of implementations of tzset() function"
661             requires      { 1 >= CYGINT_ISO_TZSET }
662             flavor        booldata
663         }
664     
665         cdl_option CYGBLD_ISO_TZSET_HEADER {
666             display       "tzset() implementation header"
667             flavor        booldata
668             default_value 0
669         }
670     }
671
672
673 # ====================================================================
674
675     cdl_component CYGPKG_ISO_SIGNAL {
676         display       "Signal functionality"
677         flavor        none
678         no_define
679
680         cdl_interface CYGINT_ISO_SIGNAL_NUMBERS {
681             display       "Number of implementations of signal numbers"
682             requires      { 1 >= CYGINT_ISO_SIGNAL_NUMBERS }
683         }
684     
685         cdl_option CYGBLD_ISO_SIGNAL_NUMBERS_HEADER {
686             display       "Signal numbering implementation header"
687             description   "This header provides the mapping of signal
688                            names (e.g. SIGBUS) to numbers."
689             flavor        booldata
690             default_value 0
691         }
692
693         cdl_interface CYGINT_ISO_SIGNAL_IMPL {
694             display       "Number of signal implementations"
695             requires      { 1 >= CYGINT_ISO_SIGNAL_IMPL }
696         }
697     
698         cdl_option CYGBLD_ISO_SIGNAL_IMPL_HEADER {
699             display       "Signals implementation header"
700             flavor        booldata
701             default_value 0
702         }
703
704         cdl_interface CYGINT_POSIX_REALTIME_SIGNALS {
705             display       "POSIX real time signals feature test macro"
706             description   "This defines the POSIX feature test macro
707                            that indicates that the POSIX real time signals
708                            are present."
709             requires { 1 >= CYGINT_POSIX_REALTIME_SIGNALS }
710 # FIXME  should use this:           define        _POSIX_REALTIME_SIGNALS
711             define_proc {
712                 puts $::cdl_header "#if CYGINT_POSIX_REALTIME_SIGNALS"
713                 puts $::cdl_header "# define _POSIX_REALTIME_SIGNALS 1"
714                 puts $::cdl_header "#endif"
715             }
716         }
717
718     }
719
720 # ====================================================================
721
722     cdl_component CYGPKG_ISO_SETJMP {
723         display       "Non-local jumps functionality"
724         flavor        none
725         no_define
726
727         cdl_interface CYGINT_ISO_SETJMP {
728             display       "setjmp() / longjmp() implementations"
729             requires      { 1 >= CYGINT_ISO_SETJMP }
730         }
731     
732         cdl_option CYGBLD_ISO_SETJMP_HEADER {
733             display       "setjmp() / longjmp() implementation header"
734             flavor        booldata
735             default_value 0
736         }
737
738         cdl_interface CYGINT_ISO_SIGSETJMP {
739             display       "sigsetjmp() / siglongjmp() implementations"
740             requires      { 1 >= CYGINT_ISO_SIGSETJMP }
741         }
742     
743         cdl_option CYGBLD_ISO_SIGSETJMP_HEADER {
744             display       "sigsetjmp() / siglongjmp() implementation header"
745             flavor        booldata
746             default_value 0
747         }
748     }
749
750
751 # ====================================================================
752
753     cdl_option CYGBLD_ISO_ASSERT_HEADER {
754         display       "Assertions implementation header"
755         flavor        booldata
756         default_value 0
757     }
758
759
760 # ====================================================================
761
762     cdl_component CYGPKG_ISO_POSIX_FCNTL {
763         display       "POSIX file control"
764         description   "This covers the POSIX file control definitions,
765                        normally found in <fcntl.h>"
766         flavor        none
767         no_define
768
769         cdl_option CYGBLD_ISO_OFLAG_HEADER {
770             display       "POSIX open flags implementation header"
771             flavor        booldata
772             default_value 0
773         }
774
775         cdl_interface CYGINT_ISO_FCNTL {
776             display       "POSIX fcntl() implementations"
777             requires      { 1 >= CYGINT_ISO_FCNTL }
778         }
779     
780         cdl_option CYGBLD_ISO_FCNTL_HEADER {
781             display       "POSIX fcntl() implementation header"
782             flavor        booldata
783             default_value 0
784         }
785
786         cdl_interface CYGINT_ISO_OPEN {
787             display       "POSIX file open implementations"
788             requires      { 1 >= CYGINT_ISO_OPEN }
789         }
790     
791         cdl_option CYGBLD_ISO_OPEN_HEADER {
792             display       "POSIX file open implementation header"
793             flavor        booldata
794             default_value 0
795         }
796     }
797
798 # ====================================================================
799
800     cdl_option CYGBLD_ISO_STAT_DEFS_HEADER {
801         display       "<sys/stat.h> definitions implementation header"
802         flavor        booldata
803         default_value 0
804     }
805
806
807 # ====================================================================
808
809     cdl_interface CYGINT_ISO_DIRENT {
810             display       "POSIX directory reading implementation"
811             requires      { 1 >= CYGINT_ISO_DIRENT }
812     }
813
814     cdl_option CYGBLD_ISO_DIRENT_HEADER {
815         display       "<dirent.h> definitions implementation header"
816         flavor        booldata
817         default_value 0
818     }
819
820 # ====================================================================
821
822     cdl_component CYGPKG_ISO_POSIX_TYPES {
823         display       "POSIX <sys/types.h> contents"
824         description   "This covers the types required by POSIX to be in
825                        <sys/types.h>"
826         flavor        none
827         no_define
828
829         cdl_interface CYGINT_ISO_PTHREADTYPES {
830             display       "POSIX thread types implementations"
831             requires      { 1 >= CYGINT_ISO_PTHREADTYPES }
832         }
833     
834         cdl_option CYGBLD_ISO_PTHREADTYPES_HEADER {
835             display       "POSIX thread types implementation header"
836             flavor        booldata
837             default_value 0
838         }
839
840         cdl_interface CYGINT_ISO_PMUTEXTYPES {
841             display       "POSIX mutex types implementations"
842             requires      { 1 >= CYGINT_ISO_PTHREADTYPES }
843         }
844     
845         cdl_option CYGBLD_ISO_PMUTEXTYPES_HEADER {
846             display       "POSIX mutex types implementation header"
847             flavor        booldata
848             default_value 0
849         }
850
851         cdl_option CYGBLD_ISO_SSIZE_T_HEADER {
852             display       "ssize_t implementation header"
853             flavor        booldata
854             default_value 0
855         }
856         cdl_option CYGBLD_ISO_FSTYPES_HEADER {
857             display       "Filesystem types implementation header"
858             flavor        booldata
859             default_value 0
860         }
861         cdl_option CYGBLD_ISO_SCHEDTYPES_HEADER {
862             display       "gid_t, pid_t, uid_t implementation header"
863             flavor        booldata
864             default_value 0
865         }
866     }
867
868
869 # ====================================================================
870
871     cdl_component CYGPKG_ISO_EXTRA_TYPES {
872         display       "Non-POSIX <sys/types.h> contents"
873         description   "This covers the extra types required by non-POSIX
874                        packages to be in <sys/types.h>. These would normally
875                        only be visible if _POSIX_SOURCE is not defined."
876         flavor        none
877         no_define
878
879         cdl_interface CYGINT_ISO_BSDTYPES {
880             display   "BSD compatible types"
881             requires  { 1 >= CYGINT_ISO_BSDTYPES }
882         }
883
884         cdl_option CYGBLD_ISO_BSDTYPES_HEADER {
885             display       "BSD types header"
886             flavor        booldata
887             default_value 0
888         }
889     }
890
891 # ====================================================================
892
893     cdl_component CYGPKG_ISO_UTSNAME {
894         display       "Utsname structure"
895         flavor        none
896         no_define
897
898         cdl_option CYGBLD_ISO_UTSNAME_HEADER {
899             display    "Utsname header"
900             flavor     booldata
901             default_value 0
902         }
903     }
904
905 # ====================================================================
906
907     cdl_component CYGPKG_ISO_SCHED {
908         display       "POSIX scheduler"
909         flavor        none
910         no_define
911
912         cdl_interface CYGINT_ISO_SCHED_IMPL {
913             display       "POSIX scheduler implementations"
914             requires      { 1 >= CYGINT_ISO_SCHED_IMPL }
915         }
916     
917         cdl_option CYGBLD_ISO_SCHED_IMPL_HEADER {
918             display       "POSIX scheduler implementation header"
919             flavor        booldata
920             default_value 0
921         }
922     }
923
924 # ====================================================================
925
926     cdl_component CYGPKG_ISO_SEMAPHORES {
927         display       "POSIX semaphores"
928         flavor        none
929         no_define
930
931         cdl_interface CYGINT_ISO_SEMAPHORES {
932             display       "POSIX semaphore implementations"
933             requires      { 1 >= CYGINT_ISO_SEMAPHORES }
934 # FIXME  should use this:           define        _POSIX_SEMAPHORES
935             define_proc {
936                 puts $::cdl_header "#if CYGINT_ISO_SEMAPHORES"
937                 puts $::cdl_header "# define _POSIX_SEMAPHORES 1"
938                 puts $::cdl_header "#endif"
939             }
940         }
941     
942         cdl_option CYGBLD_ISO_SEMAPHORES_HEADER {
943             display       "POSIX semaphore implementation header"
944             flavor        booldata
945             default_value 0
946         }
947     }
948
949 # ====================================================================
950
951     cdl_component CYGPKG_ISO_MQUEUE {
952         display       "POSIX message queues"
953         flavor        none
954         no_define
955
956         cdl_interface CYGINT_ISO_MQUEUE {
957             display       "Implementations"
958             requires      { 1 >= CYGINT_ISO_MQUEUE }
959 # FIXME should use this:            define        _POSIX_MESSAGE_PASSING
960             define_proc {
961                 puts $::cdl_header "#if CYGINT_ISO_MQUEUE"
962                 puts $::cdl_header "# define _POSIX_MESSAGE_PASSING 1"
963                 puts $::cdl_header "#endif"
964             }
965         }
966
967         cdl_option CYGBLD_ISO_MQUEUE_HEADER {
968             display       "Implementation header"
969             flavor        booldata
970             default_value 0
971         }
972
973         cdl_option CYGNUM_ISO_MQUEUE_OPEN_MAX {
974             display       "Maximum number of open message queues"
975             flavor        booldata
976             active_if     CYGINT_ISO_MQUEUE
977             define MQ_OPEN_MAX
978 # FIXME: shouldn't be specific to the implementation, see CR
979             default_value { CYGNUM_POSIX_MQUEUE_OPEN_MAX > 0 ? CYGNUM_POSIX_MQUEUE_OPEN_MAX : 0 }
980         }
981         
982         cdl_option CYGNUM_ISO_MQUEUE_PRIO_MAX {
983             display       "Maximum number of message priorities"
984             flavor        booldata
985 # FIXME: again like CYGNUM_ISO_MQUEUE_OPEN_MAX, should be able to be set by
986 # the implementation
987             default_value 65535
988             active_if     CYGINT_ISO_MQUEUE
989             define        MQ_PRIO_MAX
990         }
991         
992
993     }
994
995 # ====================================================================
996
997     cdl_component CYGPKG_ISO_PTHREAD {
998         display       "POSIX threads"
999         flavor        none
1000         no_define
1001
1002         cdl_interface CYGINT_ISO_PTHREAD_IMPL {
1003             display       "POSIX pthread implementations"
1004             requires      { 1 >= CYGINT_ISO_PTHREAD_IMPL }
1005             flavor        booldata
1006         }
1007     
1008         cdl_option CYGBLD_ISO_PTHREAD_IMPL_HEADER {
1009             display       "POSIX pthread implementation header"
1010             flavor        booldata
1011             default_value 0
1012         }
1013
1014         cdl_interface CYGINT_ISO_PTHREAD_MUTEX {
1015             display       "POSIX mutex/cond var implementations"
1016             requires      { 1 >= CYGINT_ISO_PTHREAD_MUTEX }
1017             flavor booldata
1018         }
1019     
1020         cdl_option CYGBLD_ISO_PTHREAD_MUTEX_HEADER {
1021             display       "POSIX mutex/cond var implementation header"
1022             flavor        booldata
1023             default_value 0
1024         }
1025     }
1026
1027 # ====================================================================
1028
1029     cdl_component CYGPKG_ISO_LIMITS {
1030         display       "Limits"
1031         flavor        none
1032         no_define
1033
1034         cdl_interface CYGINT_ISO_POSIX_LIMITS {
1035             display       "POSIX pthread limits implementations"
1036             requires      { 1 >= CYGINT_ISO_POSIX_LIMITS }
1037         }
1038     
1039         cdl_option CYGBLD_ISO_POSIX_LIMITS_HEADER {
1040             display       "POSIX pthread limits implementation header"
1041             flavor        booldata
1042             default_value 0
1043         }
1044
1045         cdl_option CYGBLD_ISO_OPEN_MAX_HEADER {
1046             display       "OPEN_MAX implementation header"
1047             flavor        booldata
1048             default_value 0
1049         }
1050         cdl_option CYGBLD_ISO_LINK_MAX_HEADER {
1051             display       "LINK_MAX implementation header"
1052             flavor        booldata
1053             default_value 0
1054         }
1055         cdl_option CYGBLD_ISO_NAME_MAX_HEADER {
1056             display       "NAME_MAX implementation header"
1057             flavor        booldata
1058             default_value 0
1059         }
1060         cdl_option CYGBLD_ISO_PATH_MAX_HEADER {
1061             display       "PATH_MAX implementation header"
1062             flavor        booldata
1063             default_value 0
1064         }
1065     }
1066
1067 # ====================================================================
1068
1069     cdl_component CYGPKG_ISO_TERMIOS {
1070         display       "POSIX termios"
1071         flavor        none
1072         no_define
1073
1074         cdl_interface CYGINT_ISO_TERMIOS {
1075             display       "POSIX termios implementations"
1076             requires      { 1 >= CYGINT_ISO_TERMIOS }
1077         }
1078     
1079         cdl_option CYGBLD_ISO_TERMIOS_HEADER {
1080             display       "POSIX termios implementation header"
1081             flavor        booldata
1082             default_value 0
1083         }
1084     }
1085
1086 # ====================================================================
1087
1088     cdl_component CYGPKG_ISO_DLFCN {
1089         display       "Dynamic load API"
1090         flavor        none
1091         no_define
1092
1093         cdl_interface CYGINT_ISO_DLFCN {
1094             display       "Dynamic load implementations"
1095             requires      { 1 >= CYGINT_ISO_DLFCN }
1096         }
1097     
1098         cdl_option CYGBLD_ISO_DLFCN_HEADER {
1099             display       "Dynamic load implementation header"
1100             flavor        booldata
1101             default_value 0
1102         }
1103     }
1104     
1105 # ====================================================================
1106
1107     cdl_component CYGPKG_ISO_UNISTD {
1108         display       "UNIX standard functions"
1109         flavor        none
1110         no_define
1111
1112         cdl_interface CYGINT_ISO_POSIX_TIMER_OPS {
1113             display       "POSIX timer operations implementations"
1114             flavor        booldata
1115             requires      { 1 >= CYGINT_ISO_POSIX_TIMER_OPS }
1116         }
1117     
1118         cdl_option CYGBLD_ISO_POSIX_TIMER_OPS_HEADER {
1119             display       "POSIX timer operations implementation header"
1120             flavor        booldata
1121             default_value 0
1122         }
1123
1124         cdl_interface CYGINT_ISO_POSIX_SLEEP {
1125             display       "POSIX sleep() implementations"
1126             flavor        booldata
1127             requires      { 1 >= CYGINT_ISO_POSIX_SLEEP }
1128         }
1129     
1130         cdl_option CYGBLD_ISO_POSIX_SLEEP_HEADER {
1131             display       "POSIX sleep() implementation header"
1132             flavor        booldata
1133             default_value 0
1134         }
1135     }
1136
1137 # ====================================================================
1138
1139     cdl_component CYGPKG_ISO_SELECT {
1140         display       "select()/poll() functions"
1141         flavor        none
1142         no_define
1143
1144         cdl_interface CYGINT_ISO_SELECT {
1145             display       "select() implementations"
1146             flavor        booldata
1147             requires      { 1 >= CYGINT_ISO_SELECT }
1148         }
1149     
1150         cdl_option CYGBLD_ISO_SELECT_HEADER {
1151             display       "select() implementation header"
1152             flavor        booldata
1153             default_value 0
1154         }
1155
1156         cdl_interface CYGINT_ISO_POLL {
1157             display       "poll() implementations"
1158             flavor        booldata
1159             requires      { 1 >= CYGINT_ISO_POLL }
1160         }
1161     
1162         cdl_option CYGBLD_ISO_POLL_HEADER {
1163             display       "poll() implementation header"
1164             flavor        booldata
1165             default_value 0
1166         }
1167     }
1168
1169 # ====================================================================
1170
1171     cdl_component CYGPKG_ISO_NETDB {
1172         display       "NetDB utility functions"
1173         flavor        none
1174         no_define
1175
1176         cdl_interface CYGINT_ISO_DNS {
1177             display       "DNS implementations"
1178             flavor        bool
1179             requires      { 1 >= CYGINT_ISO_DNS }
1180         }
1181     
1182         cdl_option CYGBLD_ISO_DNS_HEADER {
1183             display       "DNS implementation header"
1184             flavor        booldata
1185             default_value 0
1186         }
1187         
1188         cdl_interface CYGINT_ISO_NETDB_PROTO {
1189             display       "Protocol network database implementations"
1190             flavor        bool
1191             requires      { 1 >= CYGINT_ISO_NETDB_PROTO }
1192         }
1193     
1194         cdl_option CYGBLD_ISO_NETDB_PROTO_HEADER {
1195             display       "Protocol network database implementation header"
1196             flavor        booldata
1197             default_value 0
1198         }
1199         
1200         cdl_interface CYGINT_ISO_NETDB_SERV {
1201             display       "Services network database implementations"
1202             flavor        bool
1203             requires      { 1 >= CYGINT_ISO_NETDB_SERV }
1204         }
1205     
1206         cdl_option CYGBLD_ISO_NETDB_SERV_HEADER {
1207             display       "Services network database implementation header"
1208             flavor        booldata
1209             default_value 0
1210         }
1211         
1212     }
1213
1214 # ====================================================================
1215     
1216         cdl_component CYGPKG_ISOINFRA_OPTIONS {
1217         display "Build options"
1218         flavor  none
1219         no_define
1220         description   "
1221             Package specific build options including control over
1222             compiler flags used only in building this package,
1223             and details of which tests are built."
1224
1225
1226         cdl_option CYGPKG_ISOINFRA_CFLAGS_ADD {
1227             display "Additional compiler flags"
1228             flavor  data
1229             no_define
1230             default_value { "" }
1231             description   "
1232                 This option modifies the set of compiler flags for
1233                 building the ISO C and POSIX infrastructure package.
1234                 These flags are used in addition to the set of global flags."
1235         }
1236
1237         cdl_option CYGPKG_ISOINFRA_CFLAGS_REMOVE {
1238             display "Suppressed compiler flags"
1239             flavor  data
1240             no_define
1241             default_value { "" }
1242             description   "
1243                 This option modifies the set of compiler flags for
1244                 building the ISO C and POSIX infrastructure package.
1245                 These flags are removed from the set of global flags
1246                 if present."
1247         }
1248     }
1249 }
1250
1251 # ====================================================================
1252 # End of isoinfra.cdl