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

Subversion Repositories openrisc

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

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 786 skrzyp
# ====================================================================
2
#
3
#      compat.cdl
4
#
5
#      Maths library compatibility related 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 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):      jskov
43
# Original data:  jlarmour
44
# Contributors:
45
# Date:           1999-07-07
46
#
47
#####DESCRIPTIONEND####
48
#
49
# ====================================================================
50
 
51
cdl_interface CYGINT_LIBM_COMPAT {
52
    requires 1 == CYGINT_LIBM_COMPAT
53
}
54
 
55
cdl_option CYGSEM_LIBM_COMPAT_IEEE_ONLY {
56
    display       "IEEE-only"
57
    default_value 0
58
    implements    CYGINT_LIBM_COMPAT
59
    description   "
60
        The math library can be hard-coded to only
61
        behave in one compatibility mode - IEEE. This
62
        cannot be changed at run-time. IEEE mode is the
63
        most minimal of the compatibility modes, and so
64
        this will best help code size and speed, as well
65
        as omitting the code for other compatibility
66
        modes. If not defined, the math library can be
67
        set at run-time to any of the supported
68
        compatibility modes."
69
}
70
 
71
cdl_component CYGNUM_LIBM_COMPATIBILITY {
72
    display       "Default mode"
73
    flavor        booldata
74
    requires      CYGPKG_LIBC
75
    implements    CYGINT_LIBM_COMPAT
76
    legal_values  { "POSIX" "IEEE" "XOPEN" "SVID" }
77
    default_value { "POSIX" }
78
    define        CYGPKG_LIBM_COMPATIBILITY_DEFAULT
79
    description   "
80
        If you want to have support for more than one
81
        compatibility mode settable at run-time, rather
82
        than hard-coded IEEE mode, this component lets
83
        you choose which mode should be the default."
84
 
85
    cdl_option CYGNUM_LIBM_COMPAT_DEFAULT {
86
        display       "Numeric representation"
87
        flavor        data
88
        calculated   { \
89
            CYGNUM_LIBM_COMPATIBILITY == "POSIX" ? "CYGNUM_LIBM_COMPAT_POSIX" :\
90
            CYGNUM_LIBM_COMPATIBILITY == "IEEE"  ? "CYGNUM_LIBM_COMPAT_IEEE" :\
91
            CYGNUM_LIBM_COMPATIBILITY == "XOPEN" ? "CYGNUM_LIBM_COMPAT_XOPEN" :\
92
            CYGNUM_LIBM_COMPATIBILITY == "SVID"  ? "CYGNUM_LIBM_COMPAT_SVID" :\
93
            "" \
94
        }
95
        description     "
96
            This option automatically defines the default compatibility
97
            mode for numeric representation in terms of the values used
98
            to set that mode at run-time."
99
    }
100
}
101
 
102
cdl_option CYGFUN_LIBM_SVID3_scalb {
103
    display       "SVID3-style scalb()"
104
    default_value 1
105
    description   "
106
        SVID3 defined the scalb() function as double
107
        scalb(double, double) rather than double
108
        scalb(double, int) which is used by IBM, DEC, and
109
        probably others. Enabling this option chooses
110
        the (double, double) version. Note there is a
111
        function double scalbn(double, int) which is
112
        unaffected by this choice."
113
}
114
 
115
cdl_option CYGSYM_LIBM_NO_XOPEN_SVID_NAMESPACE_POLLUTION {
116
    display       "Reduce namespace pollution"
117
    default_value 0
118
    description   "
119
        If you do not want to use either the X/Open or
120
        SVID3 compatibility modes, you may want to define
121
        this option to reduce the chance of namespace
122
        pollution. This is particularly likely to occur
123
        here as these standards define symbols with
124
        names that often appear in applications, such as
125
        exception, DOMAIN, OVERFLOW, etc. If your
126
        application also used these names, it may cause
127
        problems."
128
}
129
 
130
cdl_option CYGSEM_LIBM_USE_STDERR {
131
    display       "Output to stderr for math errors"
132
    requires      !CYGSEM_LIBM_COMPAT_IEEE_ONLY
133
    requires      CYGPKG_LIBC_STDIO
134
    default_value 0
135
    description   "
136
        The SVID3 standard says that error
137
        messages should be output on the stderr console
138
        output stream. This option allows this ability
139
        to be explicitly controlled. However, this still
140
        only has an effect in SVID3 compatibility mode."
141
}

powered by: WebSVN 2.1.0

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