OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [ecos-2.0/] [packages/] [compat/] [posix/] [v2_0/] [cdl/] [posix.cdl] - Blame information for rev 631

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 27 unneback
# ====================================================================
2
#
3
#      posix.cdl
4
#
5
#      POSIX layer 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):      nickg
44
# Contributors:
45
# Date:           2000-3-28
46
#
47
#####DESCRIPTIONEND####
48
#
49
# ====================================================================
50
 
51
cdl_package CYGPKG_POSIX {
52
    display        "POSIX compatibility layer"
53
    description    "This package enables the POSIX compatibility
54
                    layer that implements IEEE 1003.1."
55
    doc            ref/posix-compatibility.html
56
    include_dir    cyg/posix
57
 
58
    requires       CYGPKG_KERNEL
59
    requires       CYGPKG_ISOINFRA
60
    requires       CYGPKG_ERROR
61
    requires       CYGINT_ISO_ERRNO
62
    requires       CYGINT_ISO_ERRNO_CODES
63
    requires       CYGIMP_KERNEL_SCHED_SORTED_QUEUES
64
 
65
    implements     CYGINT_ISO_SCHED_IMPL
66
    implements     CYGINT_ISO_POSIX_LIMITS
67
    implements     CYGINT_ISO_PMUTEXTYPES
68
    implements     CYGINT_ISO_PTHREAD_MUTEX
69
    requires       { CYGBLD_ISO_POSIX_LIMITS_HEADER == \
70
                         "" }
71
    requires       { CYGBLD_ISO_PMUTEXTYPES_HEADER == \
72
                         "" }
73
    requires       { CYGBLD_ISO_PTHREAD_MUTEX_HEADER == \
74
                         "" }
75
 
76
    compile        mqueue.cxx mutex.cxx misc.cxx
77
    compile       -library=libextras.a startup.cxx
78
 
79
    cdl_option _POSIX_THREAD_PRIO_INHERIT {
80
        display         "POSIX mutex priority inheritance feature test macro"
81
        flavor          bool
82
        default_value   1
83
        requires        CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_INHERIT
84
        description     "This option defines the POSIX feature test macro
85
                         for supporting priority inheritance protocol in
86
                         mutexes."
87
    }
88
 
89
    cdl_option _POSIX_THREAD_PRIO_PROTECT {
90
        display         "POSIX mutex priority ceiling feature test macro"
91
        flavor          bool
92
        default_value   1
93
        requires        CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_CEILING
94
        description     "This option defines the POSIX feature test macro
95
                         for supporting priority ceiling protocol in mutexes."
96
    }
97
 
98
    # ----------------------------------------------------------------
99
    # Scheduling component
100
 
101
    cdl_component CYGPKG_POSIX_SCHED {
102
        display          "POSIX scheduling configuration"
103
        flavor           bool
104
        default_value    1
105
        description      "This component provides controls over scheduling
106
                          in POSIX."
107
        requires         CYGPKG_POSIX_CLOCKS
108
        compile          sched.cxx
109
 
110
        cdl_option _POSIX_PRIORITY_SCHEDULING {
111
            display       "POSIX priority scheduling feature test macro"
112
            flavor        bool
113
            calculated    1
114
            requires      CYGSEM_KERNEL_SCHED_MLQUEUE
115
            description   "This option defines the POSIX feature test macro
116
                           that indicates that priority scheduling is present.
117
                           This should not be undefined."
118
        }
119
    }
120
 
121
    # ----------------------------------------------------------------
122
    # Pthreads component
123
 
124
    cdl_component CYGPKG_POSIX_PTHREAD {
125
        display          "POSIX pthread configuration"
126
        flavor           bool
127
        default_value    1
128
        description      "This component provides configuration controls for
129
                          the POSIX pthreads package."
130
        compile          pthread.cxx
131
        script           pthread.cdl
132
    }
133
 
134
    # ----------------------------------------------------------------
135
    # Timers component
136
 
137
    cdl_option CYGPKG_POSIX_CLOCKS {
138
        display          "POSIX clocks"
139
        flavor           bool
140
        default_value    1
141
        implements       CYGINT_ISO_POSIX_CLOCK_TYPES
142
        implements       CYGINT_ISO_POSIX_CLOCKS
143
        implements       CYGINT_ISO_POSIX_SLEEP
144
        requires         { CYGBLD_ISO_POSIX_CLOCK_TYPES_HEADER == \
145
                             "" }
146
        requires         { CYGBLD_ISO_POSIX_CLOCKS_HEADER == \
147
                             "" }
148
        requires         CYGPKG_KERNEL
149
        requires         CYGVAR_KERNEL_COUNTERS_CLOCK
150
        compile          time.cxx
151
        description      "This component provides configuration controls for
152
                          the POSIX clocks."
153
    }
154
 
155
    # ----------------------------------------------------------------
156
    # Timers component
157
 
158
    cdl_option CYGPKG_POSIX_TIMERS {
159
        display          "POSIX timers"
160
        flavor           bool
161
        default_value    1
162
        implements       CYGINT_ISO_POSIX_TIMER_TYPES
163
        implements       CYGINT_ISO_POSIX_TIMERS
164
        implements       CYGINT_ISO_POSIX_TIMER_OPS
165
        requires         { CYGBLD_ISO_POSIX_TIMER_TYPES_HEADER == \
166
                             "" }
167
        requires         { CYGBLD_ISO_POSIX_TIMERS_HEADER == \
168
                             "" }
169
        requires         CYGPKG_KERNEL
170
        requires         CYGVAR_KERNEL_COUNTERS_CLOCK
171
        requires         CYGPKG_POSIX_PTHREAD
172
        requires         CYGPKG_POSIX_CLOCKS
173
        requires         CYGPKG_POSIX_SIGNALS
174
        description      "This component provides configuration controls for
175
                          the POSIX timers."
176
    }
177
 
178
    # ----------------------------------------------------------------
179
    # Semaphores component
180
 
181
    cdl_option CYGPKG_POSIX_SEMAPHORES {
182
        display          "POSIX semaphores"
183
        flavor           bool
184
        default_value    1
185
        implements       CYGINT_ISO_SEMAPHORES
186
        requires         { CYGBLD_ISO_SEMAPHORES_HEADER == \
187
                             "" }
188
        description      "This component provides configuration controls for
189
                          POSIX semaphores."
190
 
191
        compile          sem.cxx
192
    }
193
 
194
    # ----------------------------------------------------------------
195
    # Message queues component
196
 
197
    cdl_component CYGPKG_POSIX_MQUEUES {
198
        display          "POSIX message queues"
199
        flavor           bool
200
        default_value    1
201
        implements       CYGINT_ISO_MQUEUE
202
        requires         CYGPKG_KERNEL
203
        requires         CYGINT_ISO_MALLOC
204
        requires         CYGINT_ISO_ERRNO
205
        requires         CYGINT_ISO_STRING_STRFUNCS
206
        description      "This component provides configuration controls for
207
                          POSIX message queues."
208
 
209
        cdl_option CYGNUM_POSIX_MQUEUE_OPEN_MAX {
210
            display          "Maximum number of message queues"
211
            flavor           data
212
            default_value    8
213
            legal_values     1 to 999999
214
        }
215
 
216
        cdl_option CYGIMP_POSIX_MQUEUE_VALIDATE_DESCRIPTOR {
217
            display          "Validate queue descriptors"
218
            flavor           bool
219
            default_value    1
220
            description      "
221
                This option turns on checking that message queue descriptors
222
                (of type mqd_t) passed into mq_* functions are valid. If so,
223
                the functions will fail with EBADF, as POSIX 1003.1 mandates.
224
                If this option is disabled, if an invalid descriptor is used,
225
                random corruption may occur, or the system may crash. If
226
                you are confident invalid descriptors will not be used,
227
                you may wish to be disable this to save some per-instance
228
                memory and execution time."
229
        }
230
 
231
        cdl_option CYGFUN_POSIX_MQUEUE_NOTIFY {
232
            display          "Allow empty queue notification"
233
            flavor           bool
234
            requires         CYGPKG_POSIX_SIGNALS
235
            default_value    CYGPKG_POSIX_SIGNALS
236
            description      "
237
                Enabling this option adds the function mq_notify() to the
238
                API. Without it, some code and per-message queue descriptor
239
                space is saved, as well as no longer requiring POSIX realtime
240
                signal support."
241
        }
242
    }
243
 
244
    # ----------------------------------------------------------------
245
    # Signals component
246
 
247
    cdl_component CYGPKG_POSIX_SIGNALS {
248
        display          "POSIX signals configuration"
249
        flavor           bool
250
        default_value    1
251
        requires         CYGPKG_KERNEL_EXCEPTIONS
252
        requires         CYGPKG_POSIX_PTHREAD
253
        requires         CYGPKG_POSIX_TIMERS
254
        implements       CYGINT_POSIX_REALTIME_SIGNALS
255
        implements       CYGINT_ISO_SIGSETJMP
256
        requires         { CYGBLD_ISO_SIGSETJMP_HEADER == \
257
                             "" }
258
        implements       CYGINT_ISO_SIGNAL_NUMBERS
259
        implements       CYGINT_ISO_SIGNAL_IMPL
260
        requires         { CYGBLD_ISO_SIGNAL_NUMBERS_HEADER == \
261
                             "" }
262
        requires         { CYGBLD_ISO_SIGNAL_IMPL_HEADER == \
263
                             "" }
264
        description      "This component provides configuration controls for
265
                          the POSIX signals."
266
        compile          signal.cxx except.cxx
267
    }
268
 
269
    # ----------------------------------------------------------------
270
    # uname structure component
271
 
272
    cdl_component CYGPKG_POSIX_UTSNAME {
273
        display           "POSIX utsname configuration"
274
        flavor            bool
275
        default_value     1
276
        requires          { CYGBLD_ISO_UTSNAME_HEADER == \
277
                            "" }
278
        description       "This component provides configuration controls for
279
                           the POSIX utsname structure and the uname() function."
280
 
281
        cdl_option CYG_POSIX_UTSNAME_LENGTH {
282
            display          "Length of name strings in utsname structure"
283
            flavor           data
284
            default_value    65
285
            legal_values     1 to 99999999
286
        }
287
 
288
        cdl_option CYG_POSIX_UTSNAME_NODENAME_LENGTH {
289
            display          "Length of nodename string in utsname structure"
290
            flavor           data
291
            default_value    { CYG_POSIX_UTSNAME_LENGTH }
292
            legal_values     1 to 99999999
293
        }
294
 
295
    }
296
 
297
    # ----------------------------------------------------------------
298
    # Tests
299
 
300
        cdl_option CYGPKG_POSIX_TESTS {
301
            display "POSIX tests"
302
            flavor  data
303
            no_define
304
            calculated {
305
                "tests/pthread1 tests/pthread2 tests/pthread3 tests/mutex3 tests/mqueue2"
306
                . ((CYGPKG_POSIX_SIGNALS) ? " tests/mqueue1 tests/signal1 tests/signal2 tests/signal3 tests/sigsetjmp tests/timer1 tests/tm_basic" : "")
307
            }
308
            description   "
309
                This option specifies the set of tests for the POSIX package."
310
        }
311
 
312
}
313
 
314
# ====================================================================
315
# End of posix.cdl
316
 
317
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.