summaryrefslogtreecommitdiffstats
path: root/modules/fdlibm/src/moz.build
blob: 08b76b572a00c0813ff868ad785f5ce6bb56906c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.

EXPORTS += [
    'fdlibm.h',
]

Library('fdlibm')

if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
    CXXFLAGS += [
        '-Wno-parentheses',
        '-Wno-sign-compare',
    ]

if CONFIG['CC_TYPE'] == 'clang':
    CXXFLAGS += [
        '-Wno-dangling-else',
    ]

if CONFIG['CC_TYPE'] == 'clang-cl':
    CXXFLAGS += [
        '-Wno-sign-compare',
        '-wd4146', # unary minus operator applied to unsigned type
        '-wd4305', # truncation from 'double' to 'const float'
        '-wd4723', # potential divide by 0
        '-wd4756', # overflow in constant arithmetic
    ]

# These sources can't be unified because there are too many conflicting global
# variables (e.g. almost every source file defines a `one` and a `huge`).
SOURCES += [
    'e_acos.cpp',
    'e_acosf.cpp',
    'e_acosh.cpp',
    'e_asin.cpp',
    'e_asinf.cpp',
    'e_atan2.cpp',
    'e_atanh.cpp',
    'e_cosh.cpp',
    'e_exp.cpp',
    'e_expf.cpp',
    'e_hypot.cpp',
    'e_hypotf.cpp',
    'e_log.cpp',
    'e_log10.cpp',
    'e_log10f.cpp',
    'e_log2.cpp',
    'e_logf.cpp',
    'e_pow.cpp',
    'e_powf.cpp',
    'e_sinh.cpp',
    'e_sqrtf.cpp',
    'k_cos.cpp',
    'k_cosf.cpp',
    'k_exp.cpp',
    'k_expf.cpp',
    'k_rem_pio2.cpp',
    'k_sin.cpp',
    'k_sinf.cpp',
    'k_tan.cpp',
    'k_tanf.cpp',
    's_asinh.cpp',
    's_atan.cpp',
    's_atanf.cpp',
    's_cbrt.cpp',
    's_ceil.cpp',
    's_ceilf.cpp',
    # 's_copysign.cpp', # Unused file.
    's_cos.cpp',
    's_cosf.cpp',
    's_exp2.cpp',
    's_exp2f.cpp',
    's_expm1.cpp',
    's_fabs.cpp',
    's_fabsf.cpp',
    's_floor.cpp',
    's_floorf.cpp',
    's_log1p.cpp',
    's_nearbyint.cpp',
    's_rint.cpp',
    's_rintf.cpp',
    's_scalbn.cpp',
    's_sin.cpp',
    's_sinf.cpp',
    's_tan.cpp',
    's_tanf.cpp',
    's_tanh.cpp',
    's_trunc.cpp',
    's_truncf.cpp',
]