diff options
author | Colin Cross <ccross@android.com> | 2017-09-11 23:32:49 +0000 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2017-09-11 23:32:49 +0000 |
commit | 5040a043cab771039ed7581d5dca03808d8adc21 (patch) | |
tree | 81544928442c84790a5eec17080c5f437715163d | |
parent | a1f7bc486364f434d6372d30ca0c8adbcb301436 (diff) | |
parent | 539e6d3b142ac68f850c86cc90bad379c7981b7e (diff) | |
download | fdlibm-5040a043cab771039ed7581d5dca03808d8adc21.tar.gz |
Merge "Convert external/fdlibm to Android.bp" am: 5a2abfb2d7 am: 4e6306a392
am: 539e6d3b14
Change-Id: I00299849466c3cb82ce2ae0efa964fe91fc727c0
-rw-r--r-- | Android.bp | 130 | ||||
-rw-r--r-- | Android.mk | 86 |
2 files changed, 130 insertions, 86 deletions
diff --git a/Android.bp b/Android.bp new file mode 100644 index 0000000..0e75a44 --- /dev/null +++ b/Android.bp @@ -0,0 +1,130 @@ +// Copyright (C) 2007 The Android Open Source Project +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +cc_library_static { + name: "libfdlibm", + host_supported: true, + + srcs: [ + "k_standard.c", + "k_rem_pio2.c", + "k_cos.c", + "k_sin.c", + "k_tan.c", + "e_acos.c", + "e_acosh.c", + "e_asin.c", + "e_atan2.c", + "e_atanh.c", + "e_cosh.c", + "e_exp.c", + "e_fmod.c", + "e_gamma.c", + "e_gamma_r.c", + "e_hypot.c", + "e_j0.c", + "e_j1.c", + "e_jn.c", + "e_lgamma.c", + "e_lgamma_r.c", + "e_log.c", + "e_log10.c", + "e_pow.c", + "e_rem_pio2.c", + "e_remainder.c", + "e_scalb.c", + "e_sinh.c", + "e_sqrt.c", + "w_acos.c", + "w_acosh.c", + "w_asin.c", + "w_atan2.c", + "w_atanh.c", + "w_cosh.c", + "w_exp.c", + "w_fmod.c", + "w_gamma.c", + "w_gamma_r.c", + "w_hypot.c", + "w_j0.c", + "w_j1.c", + "w_jn.c", + "w_lgamma.c", + "w_lgamma_r.c", + "w_log.c", + "w_log10.c", + "w_pow.c", + "w_remainder.c", + "w_scalb.c", + "w_sinh.c", + "w_sqrt.c", + "s_asinh.c", + "s_atan.c", + "s_cbrt.c", + "s_ceil.c", + "s_copysign.c", + "s_cos.c", + "s_erf.c", + "s_expm1.c", + "s_fabs.c", + "s_finite.c", + "s_floor.c", + "s_frexp.c", + "s_ilogb.c", + "s_isnan.c", + "s_ldexp.c", + "s_lib_version.c", + "s_log1p.c", + "s_logb.c", + "s_matherr.c", + "s_modf.c", + "s_nextafter.c", + "s_rint.c", + "s_scalbn.c", + "s_signgam.c", + "s_significand.c", + "s_sin.c", + "s_tan.c", + "s_tanh.c", + ], + + // c99 specifies a less relaxed floating point model that does not + // enable floating point expession contraction (e.g: fused multiply-add + // operations). + c_std: "c99", + + cflags: [ + // This is necessary to guarantee that the FDLIBM functions are in + // "IEEE spirit", i.e. to guarantee that the IEEE 754 core functions + // are used. + "-D_IEEE_LIBM", + + // Android only supports little-endian. + "-D__LITTLE_ENDIAN", + + // Disable compiler optimizations that interact badly with this crufty + // library (see their own admission in 'readme'). Without this, we + // fail StrictMath tests on x86. + "-fno-strict-aliasing", + + // Disable warnings. We need a specific version of fdlibm and can't fix this upstream. + "-Wno-sign-compare", + "-Wno-dangling-else", + "-Wno-unknown-pragmas", + + "-Wno-dangling-else", + "-Wno-logical-op-parentheses", + "-Wno-sometimes-uninitialized", + ], +} diff --git a/Android.mk b/Android.mk deleted file mode 100644 index 716259b..0000000 --- a/Android.mk +++ /dev/null @@ -1,86 +0,0 @@ -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -LOCAL_PATH:= $(call my-dir) - -# -# Common definitions for host and device. -# - -src_files := \ - k_standard.c k_rem_pio2.c \ - k_cos.c k_sin.c k_tan.c \ - e_acos.c e_acosh.c e_asin.c e_atan2.c \ - e_atanh.c e_cosh.c e_exp.c e_fmod.c \ - e_gamma.c e_gamma_r.c e_hypot.c e_j0.c \ - e_j1.c e_jn.c e_lgamma.c e_lgamma_r.c \ - e_log.c e_log10.c e_pow.c e_rem_pio2.c e_remainder.c \ - e_scalb.c e_sinh.c e_sqrt.c \ - w_acos.c w_acosh.c w_asin.c w_atan2.c \ - w_atanh.c w_cosh.c w_exp.c w_fmod.c \ - w_gamma.c w_gamma_r.c w_hypot.c w_j0.c \ - w_j1.c w_jn.c w_lgamma.c w_lgamma_r.c \ - w_log.c w_log10.c w_pow.c w_remainder.c \ - w_scalb.c w_sinh.c w_sqrt.c \ - s_asinh.c s_atan.c s_cbrt.c s_ceil.c s_copysign.c \ - s_cos.c s_erf.c s_expm1.c s_fabs.c s_finite.c s_floor.c \ - s_frexp.c s_ilogb.c s_isnan.c s_ldexp.c s_lib_version.c \ - s_log1p.c s_logb.c s_matherr.c s_modf.c s_nextafter.c \ - s_rint.c s_scalbn.c s_signgam.c s_significand.c s_sin.c \ - s_tan.c s_tanh.c - -# This is necessary to guarantee that the FDLIBM functions are in -# "IEEE spirit", i.e. to guarantee that the IEEE 754 core functions -# are used. -cflags := -D_IEEE_LIBM - -# Android only supports little-endian. -cflags += -D__LITTLE_ENDIAN - -# Disable compiler optimizations that interact badly with this crufty -# library (see their own admission in 'readme'). Without this, we -# fail StrictMath tests on x86. -cflags += -fno-strict-aliasing - -# c99 specifies a less relaxed floating point model that does not enable -# floating point expession contraction (e.g: fused multiply-add operations). -cflags += -std=c99 - -# Disable warnings. We need a specific version of fdlibm and can't fix this upstream. -cflags += -Wno-sign-compare -Wno-dangling-else -Wno-unknown-pragmas -clang_cflags := -Wno-dangling-else -Wno-logical-op-parentheses -Wno-sometimes-uninitialized - -# -# Build for the target (device). -# - -include $(CLEAR_VARS) -LOCAL_CFLAGS := $(cflags) -LOCAL_CLANG_CFLAGS := $(clang_cflags) -LOCAL_MODULE := libfdlibm -LOCAL_SRC_FILES:= $(src_files) -include $(BUILD_STATIC_LIBRARY) - - -# -# Build for the host. -# - -include $(CLEAR_VARS) -LOCAL_CFLAGS := $(cflags) -LOCAL_CLANG_CFLAGS := $(clang_cflags) -LOCAL_MODULE := libfdlibm -LOCAL_MULTILIB := both -LOCAL_SRC_FILES:= $(src_files) -include $(BUILD_HOST_STATIC_LIBRARY) |