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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [ecos-3.0/] [packages/] [compat/] [posix/] [current/] [cdl/] [posix.cdl] - Blame information for rev 786

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 786 skrzyp
# ====================================================================
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, 2008 Free Software Foundation, 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
16
## version.
17
##
18
## eCos is distributed in the hope that it will be useful, but WITHOUT
19
## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
20
## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
21
## for more details.
22
##
23
## You should have received a copy of the GNU General Public License
24
## along with eCos; if not, write to the Free Software Foundation, Inc.,
25
## 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
26
##
27
## As a special exception, if other files instantiate templates or use
28
## macros or inline functions from this file, or you compile this file
29
## and link it with other works to produce a work based on this file,
30
## this file does not by itself cause the resulting work to be covered by
31
## the GNU General Public License. However the source code for this file
32
## must still be made available in accordance with section (3) of the GNU
33
## General Public License v2.
34
##
35
## This exception does not invalidate any other reasons why a work based
36
## on this file might be covered by the GNU General Public License.
37
## -------------------------------------------
38
## ####ECOSGPLCOPYRIGHTEND####
39
# ====================================================================
40
######DESCRIPTIONBEGIN####
41
#
42
# Author(s):      nickg
43
# Contributors:
44
# Date:           2000-3-28
45
#
46
#####DESCRIPTIONEND####
47
#
48
# ====================================================================
49
 
50
cdl_package CYGPKG_POSIX {
51
    display        "POSIX compatibility layer"
52
    description    "This package enables the POSIX compatibility
53
                    layer that implements IEEE 1003.1."
54
 
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_POSIX_LIMITS
66
    requires       { CYGBLD_ISO_POSIX_LIMITS_HEADER == \
67
                         "" }
68
    requires       { CYGBLD_ISO_PMUTEXTYPES_HEADER == \
69
                         "" }
70
    requires       { CYGBLD_ISO_PTHREAD_MUTEX_HEADER == \
71
                         "" }
72
 
73
    compile        misc.cxx
74
    compile       -library=libextras.a startup.cxx
75
 
76
    cdl_component CYGPKG_POSIX_PTHREAD_MUTEX {
77
 
78
        display          "POSIX pthread mutexes"
79
        flavor           bool
80
        default_value    1
81
        implements       CYGINT_ISO_PMUTEXTYPES
82
        implements       CYGINT_ISO_PTHREAD_MUTEX
83
        description      "
84
            This component provides support for POSIX pthreads
85
            mutexes."
86
 
87
        compile          mutex.cxx
88
 
89
        cdl_option _POSIX_THREAD_PRIO_INHERIT {
90
            display       "POSIX mutex priority inheritance feature test macro"
91
            flavor        bool
92
            default_value 1
93
            requires      CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_INHERIT
94
            description   "
95
                This option defines the POSIX feature test macro for
96
                supporting priority inheritance protocol in mutexes."
97
        }
98
 
99
        cdl_option _POSIX_THREAD_PRIO_PROTECT {
100
            display       "POSIX mutex priority ceiling feature test macro"
101
            flavor        bool
102
            default_value 1
103
            requires      CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_CEILING
104
            description   "
105
                This option defines the POSIX feature test macro for
106
                supporting priority ceiling protocol in mutexes."
107
        }
108
    }
109
 
110
    # ----------------------------------------------------------------
111
    # Scheduling component
112
 
113
    cdl_component CYGPKG_POSIX_SCHED {
114
        display          "POSIX scheduling configuration"
115
        flavor           bool
116
        default_value    1
117
        implements       CYGINT_ISO_SCHED_IMPL
118
        requires         CYGPKG_POSIX_CLOCKS
119
 
120
        description      "
121
            This component provides controls over scheduling in POSIX."
122
 
123
        compile          sched.cxx
124
 
125
        cdl_option _POSIX_PRIORITY_SCHEDULING {
126
            display       "POSIX priority scheduling feature test macro"
127
            flavor        bool
128
            calculated    1
129
            requires      CYGSEM_KERNEL_SCHED_MLQUEUE
130
            description   "
131
                This option defines the POSIX feature test macro that
132
                indicates that priority scheduling is present. This
133
                should not be undefined."
134
        }
135
    }
136
 
137
    # ----------------------------------------------------------------
138
    # Pthreads component
139
 
140
    cdl_component CYGPKG_POSIX_PTHREAD {
141
        display          "POSIX pthread configuration"
142
        flavor           bool
143
        default_value    1
144
        description      "
145
            This component provides configuration controls for the
146
            POSIX pthreads package."
147
 
148
        script           pthread.cdl
149
        compile          pthread.cxx
150
 
151
    }
152
 
153
    # ----------------------------------------------------------------
154
    # Clock component
155
 
156
    cdl_option CYGPKG_POSIX_CLOCKS {
157
        display          "POSIX clocks"
158
        flavor           bool
159
        default_value    1
160
        implements       CYGINT_ISO_POSIX_CLOCK_TYPES
161
        implements       CYGINT_ISO_POSIX_CLOCKS
162
        implements       CYGINT_ISO_POSIX_SLEEP
163
        requires         { CYGBLD_ISO_POSIX_CLOCK_TYPES_HEADER == \
164
                             "" }
165
        requires         { CYGBLD_ISO_POSIX_CLOCKS_HEADER == \
166
                             "" }
167
        requires         { CYGBLD_ISO_STRUCTTIMEVAL_HEADER == \
168
                             "" }
169
        requires         CYGPKG_KERNEL
170
        requires         CYGVAR_KERNEL_COUNTERS_CLOCK
171
 
172
        description      "
173
            This component provides configuration controls for
174
            the POSIX clocks and the sleep(), nanosleep() and
175
            gettimeofday() functions."
176
 
177
        compile          time.cxx
178
 
179
    }
180
 
181
    # ----------------------------------------------------------------
182
    # Timers component
183
 
184
    cdl_option CYGPKG_POSIX_TIMERS {
185
        display          "POSIX timers"
186
        flavor           bool
187
        default_value    1
188
        implements       CYGINT_ISO_POSIX_TIMER_TYPES
189
        implements       CYGINT_ISO_POSIX_TIMERS
190
        implements       CYGINT_ISO_POSIX_TIMER_OPS
191
        requires         { CYGBLD_ISO_POSIX_TIMER_TYPES_HEADER == \
192
                             "" }
193
        requires         { CYGBLD_ISO_POSIX_TIMERS_HEADER == \
194
                             "" }
195
        requires         CYGPKG_KERNEL
196
        requires         CYGVAR_KERNEL_COUNTERS_CLOCK
197
        requires         CYGPKG_POSIX_PTHREAD
198
        requires         CYGPKG_POSIX_SIGNALS
199
        requires         CYGINT_ISO_POSIX_CLOCKS
200
        description      "
201
             This component provides configuration controls for
202
             the POSIX timers."
203
    }
204
 
205
    # ----------------------------------------------------------------
206
    # Semaphores component
207
 
208
    cdl_option CYGPKG_POSIX_SEMAPHORES {
209
        display          "POSIX semaphores"
210
        flavor           bool
211
        default_value    1
212
        implements       CYGINT_ISO_SEMAPHORES
213
        requires         { CYGBLD_ISO_SEMAPHORES_HEADER == \
214
                             "" }
215
        description      "This component provides configuration controls for
216
                          POSIX semaphores."
217
 
218
        compile          sem.cxx
219
    }
220
 
221
    # ----------------------------------------------------------------
222
    # Message queues component
223
 
224
    cdl_component CYGPKG_POSIX_MQUEUES {
225
        display          "POSIX message queues"
226
        flavor           bool
227
        default_value    1
228
        compile          mqueue.cxx
229
        implements       CYGINT_ISO_MQUEUE
230
        requires         CYGPKG_KERNEL
231
        requires         CYGINT_ISO_MALLOC
232
        requires         CYGINT_ISO_ERRNO
233
        requires         CYGINT_ISO_STRING_STRFUNCS
234
        requires         CYGINT_ISO_PTHREAD_MUTEX
235
        requires         CYGPKG_POSIX_CLOCKS
236
        description      "This component provides configuration controls for
237
                          POSIX message queues."
238
 
239
        cdl_option CYGNUM_POSIX_MQUEUE_OPEN_MAX {
240
            display          "Maximum number of message queues"
241
            flavor           data
242
            default_value    8
243
            legal_values     1 to 999999
244
        }
245
 
246
        cdl_option CYGIMP_POSIX_MQUEUE_VALIDATE_DESCRIPTOR {
247
            display          "Validate queue descriptors"
248
            flavor           bool
249
            default_value    1
250
            description      "
251
                This option turns on checking that message queue descriptors
252
                (of type mqd_t) passed into mq_* functions are valid. If so,
253
                the functions will fail with EBADF, as POSIX 1003.1 mandates.
254
                If this option is disabled, if an invalid descriptor is used,
255
                random corruption may occur, or the system may crash. If
256
                you are confident invalid descriptors will not be used,
257
                you may wish to be disable this to save some per-instance
258
                memory and execution time."
259
        }
260
 
261
        cdl_option CYGFUN_POSIX_MQUEUE_NOTIFY {
262
            display          "Allow empty queue notification"
263
            flavor           bool
264
            requires         CYGPKG_POSIX_SIGNALS
265
            default_value    CYGPKG_POSIX_SIGNALS
266
            description      "
267
                Enabling this option adds the function mq_notify() to the
268
                API. Without it, some code and per-message queue descriptor
269
                space is saved, as well as no longer requiring POSIX realtime
270
                signal support."
271
        }
272
    }
273
 
274
    # ----------------------------------------------------------------
275
    # Signals component
276
 
277
    cdl_component CYGPKG_POSIX_SIGNALS {
278
        display          "POSIX signals configuration"
279
        flavor           bool
280
        default_value    1
281
        requires         CYGPKG_KERNEL_EXCEPTIONS
282
        requires         CYGPKG_POSIX_PTHREAD
283
        requires         CYGPKG_POSIX_TIMERS
284
        implements       CYGINT_POSIX_REALTIME_SIGNALS
285
        implements       CYGINT_ISO_SIGSETJMP
286
        requires         { CYGBLD_ISO_SIGSETJMP_HEADER == \
287
                             "" }
288
        implements       CYGINT_ISO_SIGNAL_NUMBERS
289
        implements       CYGINT_ISO_SIGNAL_IMPL
290
        requires         { CYGBLD_ISO_SIGNAL_NUMBERS_HEADER == \
291
                             "" }
292
        requires         { CYGBLD_ISO_SIGNAL_IMPL_HEADER == \
293
                             "" }
294
        description      "
295
            This component provides configuration controls for
296
            the POSIX signals."
297
 
298
        compile          signal.cxx except.cxx
299
    }
300
 
301
    # ----------------------------------------------------------------
302
    # uname structure component
303
 
304
    cdl_component CYGPKG_POSIX_UTSNAME {
305
        display           "POSIX utsname configuration"
306
        flavor            bool
307
        default_value     1
308
        requires          { CYGBLD_ISO_UTSNAME_HEADER == \
309
                            "" }
310
        description       "
311
            This component provides configuration controls for
312
            the POSIX utsname structure and the uname() function."
313
 
314
        cdl_option CYG_POSIX_UTSNAME_LENGTH {
315
            display          "Length of name strings in utsname structure"
316
            flavor           data
317
            default_value    65
318
            legal_values     1 to 99999999
319
        }
320
 
321
        cdl_option CYG_POSIX_UTSNAME_NODENAME_LENGTH {
322
            display          "Length of nodename string in utsname structure"
323
            flavor           data
324
            default_value    { CYG_POSIX_UTSNAME_LENGTH }
325
            legal_values     1 to 99999999
326
        }
327
 
328
    }
329
 
330
    # ----------------------------------------------------------------
331
    # Tests
332
 
333
    cdl_option CYGPKG_POSIX_TESTS {
334
        display "POSIX tests"
335
        flavor  data
336
        no_define
337
        calculated {
338
            (CYGPKG_POSIX_PTHREAD ? "tests/pthread1 tests/pthread2 tests/pthread3 "
339
                                  : "") .
340
            (CYGPKG_POSIX_PTHREAD_MUTEX ? "tests/pmutex3 " : "") .
341
            (CYGPKG_POSIX_MQUEUES ? "tests/pmqueue1 tests/pmqueue2 " : "") .
342
            (CYGPKG_POSIX_SIGNALS ? "tests/signal1 tests/signal2 tests/signal3 \
343
                                     tests/sigsetjmp " : "") .
344
            ((CYGPKG_POSIX_SIGNALS &&
345
              CYGPKG_POSIX_TIMERS &&
346
              CYGPKG_POSIX_SEMAPHORES) ? "tests/timer1 " : "") .
347
            ((CYGPKG_POSIX_SIGNALS &&
348
              CYGPKG_POSIX_TIMERS &&
349
              CYGPKG_POSIX_PTHREAD &&
350
              CYGPKG_POSIX_SEMAPHORES) ? "tests/tm_posix " : "")
351
            }
352
            description   "
353
                This option specifies the set of tests for the POSIX package."
354
        }
355
 
356
}
357
 
358
# ====================================================================
359
# End of posix.cdl
360
 
361
 

powered by: WebSVN 2.1.0

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