Mercurial > flash_v2
diff packages/compat/posix/current/cdl/posix.cdl @ 115:6ed91473a1cd ecos-sw-2000-08-21
Merge from eCos master repository on 2000-08-21-22:40:54-BST
| author | jlarmour |
|---|---|
| date | Fri, 25 Aug 2000 17:32:38 +0000 |
| parents | |
| children | eb9fd8c04db3 |
line wrap: on
line diff
new file mode 100644 --- /dev/null +++ b/packages/compat/posix/current/cdl/posix.cdl @@ -0,0 +1,244 @@ +# ==================================================================== +# +# posix.cdl +# +# POSIX layer configuration data +# +# ==================================================================== +#####COPYRIGHTBEGIN#### +# +# ------------------------------------------- +# The contents of this file are subject to the Red Hat eCos Public License +# Version 1.1 (the "License"); you may not use this file except in +# compliance with the License. You may obtain a copy of the License at +# http://www.redhat.com/ +# +# Software distributed under the License is distributed on an "AS IS" +# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the +# License for the specific language governing rights and limitations under +# the License. +# +# The Original Code is eCos - Embedded Configurable Operating System, +# released September 30, 1998. +# +# The Initial Developer of the Original Code is Red Hat. +# Portions created by Red Hat are +# Copyright (C) 1998, 1999, 2000 Red Hat, Inc. +# All Rights Reserved. +# ------------------------------------------- +# +#####COPYRIGHTEND#### +# ==================================================================== +######DESCRIPTIONBEGIN#### +# +# Author(s): nickg +# Contributors: +# Date: 2000-3-28 +# +#####DESCRIPTIONEND#### +# +# ==================================================================== + +cdl_package CYGPKG_POSIX { + display "POSIX compatibility layer" + description "This package enables the POSIX compatibility + layer that implements IEEE 1003.1." + include_dir cyg/posix + + requires CYGPKG_KERNEL + requires CYGPKG_ISOINFRA + requires CYGPKG_ERROR + requires CYGINT_ISO_ERRNO + requires CYGINT_ISO_ERRNO_CODES + requires CYGIMP_KERNEL_SCHED_SORTED_QUEUES + + implements CYGINT_ISO_SCHED_IMPL + implements CYGINT_ISO_SIGNAL_NUMBERS + implements CYGINT_ISO_SIGNAL_IMPL + implements CYGINT_ISO_POSIX_LIMITS + requires { CYGBLD_ISO_SIGNAL_NUMBERS_HEADER == \ + "<cyg/posix/signal.h>" } + requires { CYGBLD_ISO_SIGNAL_IMPL_HEADER == \ + "<cyg/posix/signal.h>" } + requires { CYGBLD_ISO_POSIX_LIMITS_HEADER == \ + "<cyg/posix/limits.h>" } + + compile pthread.cxx mqueue.cxx sem.cxx time.cxx signal.cxx \ + sched.cxx except.cxx misc.cxx + compile -library=libextras.a startup.cxx + + # ---------------------------------------------------------------- + # Scheduling component + + cdl_component CYGPKG_POSIX_SCHED { + display "POSIX scheduling configuration" + flavor bool + default_value 1 + description "This component provides controls over scheduling + in POSIX." + + cdl_option _POSIX_PRIORITY_SCHEDULING { + display "POSIX priority scheduling feature test macro" + flavor bool + calculated 1 + requires CYGSEM_KERNEL_SCHED_MLQUEUE + description "This option defines the POSIX feature test macro + that indicates that priority scheduling is present. + This should not be undefined." + } + } + + # ---------------------------------------------------------------- + # Pthreads component + + cdl_component CYGPKG_POSIX_PTHREAD { + display "POSIX pthread configuration" + flavor bool + default_value 1 + requires CYGPKG_POSIX_SCHED + description "This component provides configuration controls for + the POSIX pthreads package." + + script pthread.cdl + } + + # ---------------------------------------------------------------- + # Timers component + + cdl_option CYGPKG_POSIX_TIMERS { + display "POSIX timers" + flavor bool + default_value 1 + implements CYGINT_ISO_POSIX_TIMER_TYPES + implements CYGINT_ISO_POSIX_TIMERS + requires { CYGBLD_ISO_POSIX_TIMER_TYPES_HEADER == \ + "<cyg/posix/time.h>" } + requires { CYGBLD_ISO_POSIX_TIMERS_HEADER == \ + "<cyg/posix/time.h>" } + description "This component provides configuration controls for + the POSIX timers." + } + + # ---------------------------------------------------------------- + # Semaphores component + + cdl_option CYGPKG_POSIX_SEMAPHORES { + display "POSIX semaphores" + flavor bool + default_value 1 + implements CYGINT_ISO_SEMAPHORES + requires { CYGBLD_ISO_SEMAPHORES_HEADER == \ + "<cyg/posix/semaphore.h>" } + description "This component provides configuration controls for + POSIX semaphores." + } + + # ---------------------------------------------------------------- + # Message queues component + + cdl_component CYGPKG_POSIX_MQUEUES { + display "POSIX message queues" + flavor bool + default_value 1 + implements CYGINT_ISO_MQUEUE + requires CYGPKG_KERNEL + requires CYGINT_ISO_MALLOC + requires CYGINT_ISO_ERRNO + requires CYGINT_ISO_STRING_STRFUNCS + description "This component provides configuration controls for + POSIX message queues." + + cdl_option CYGNUM_POSIX_MQUEUE_OPEN_MAX { + display "Maximum number of message queues" + flavor data + default_value 8 + legal_values 1 to 999999 + } + + cdl_option CYGIMP_POSIX_MQUEUE_VALIDATE_DESCRIPTOR { + display "Validate queue descriptors" + flavor bool + default_value 1 + description " + This option turns on checking that message queue descriptors + (of type mqd_t) passed into mq_* functions are valid. If so, + the functions will fail with EBADF, as POSIX 1003.1 mandates. + If this option is disabled, if an invalid descriptor is used, + random corruption may occur, or the system may crash. If + you are confident invalid descriptors will not be used, + you may wish to be disable this to save some per-instance + memory and execution time." + } + + cdl_option CYGFUN_POSIX_MQUEUE_NOTIFY { + display "Allow empty queue notification" + flavor bool + requires CYGPKG_POSIX_SIGNALS + default_value CYGPKG_POSIX_SIGNALS + description " + Enabling this option adds the function mq_notify() to the + API. Without it, some code and per-message queue descriptor + space is saved, as well as no longer requiring POSIX realtime + signal support." + } + } + + # ---------------------------------------------------------------- + # Signals component + + cdl_component CYGPKG_POSIX_SIGNALS { + display "POSIX signals configuration" + flavor bool + default_value 1 + requires CYGPKG_KERNEL_EXCEPTIONS + implements CYGINT_POSIX_REALTIME_SIGNALS + description "This component provides configuration controls for + the POSIX signals." + } + + # ---------------------------------------------------------------- + # uname structure component + + cdl_component CYGPKG_POSIX_UTSNAME { + display "POSIX utsname configuration" + flavor bool + default_value 1 + requires { CYGBLD_ISO_UTSNAME_HEADER == \ + "<cyg/posix/utsname.h>" } + description "This component provides configuration controls for + the POSIX utsname structure and the uname() function." + + cdl_option CYG_POSIX_UTSNAME_LENGTH { + display "Length of name strings in utsname structure" + flavor data + default_value 65 + legal_values 1 to 99999999 + } + + cdl_option CYG_POSIX_UTSNAME_NODENAME_LENGTH { + display "Length of nodename string in utsname structure" + flavor data + default_value { CYG_POSIX_UTSNAME_LENGTH } + legal_values 1 to 99999999 + } + + } + + # ---------------------------------------------------------------- + # Tests + + cdl_option CYGPKG_POSIX_TESTS { + display "POSIX tests" + flavor data + no_define + calculated { "tests/pthread1 tests/pthread2 tests/pthread3 tests/mutex3 tests/signal1 tests/timer1 tests/tm_basic tests/signal2 tests/mqueue1 tests/mqueue2" } + description " + This option specifies the set of tests for the POSIX package." + } + +} + +# ==================================================================== +# End of posix.cdl + +
