Source code
Revision control
Copy as Markdown
Other Tools
# -*- 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
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',
]