summaryrefslogtreecommitdiffstats
path: root/modules/fdlibm/src/moz.build
diff options
context:
space:
mode:
Diffstat (limited to 'modules/fdlibm/src/moz.build')
-rw-r--r--modules/fdlibm/src/moz.build92
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',
+]