diff options
Diffstat (limited to 'modules/fdlibm/src/moz.build')
-rw-r--r-- | modules/fdlibm/src/moz.build | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/modules/fdlibm/src/moz.build b/modules/fdlibm/src/moz.build new file mode 100644 index 0000000000..438d862e71 --- /dev/null +++ b/modules/fdlibm/src/moz.build @@ -0,0 +1,92 @@ +# -*- 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', +] + +FINAL_LIBRARY = 'js' + +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_log.cpp', + 'e_log10.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', +] |