14cef7be5SEnji Cooper# $FreeBSD$ 24cef7be5SEnji Cooper 347754aa2SEnji Cooper.include <bsd.own.mk> 447754aa2SEnji Cooper 54cef7be5SEnji CooperTESTSRC= ${SRCTOP}/contrib/netbsd-tests/lib/libm 64cef7be5SEnji Cooper 7b18bade8SEnji Cooper# All architectures on FreeBSD have fenv.h 84cef7be5SEnji CooperCFLAGS+= -DHAVE_FENV_H 94cef7be5SEnji Cooper 1009797f9dSEnji Cooper# For isqemu.h 1109797f9dSEnji CooperCFLAGS+= -I${TESTSRC:H}/libc/gen 1209797f9dSEnji Cooper 132d143336SMitchell Horne# Define __HAVE_LONG_DOUBLE for architectures whose long double has greater 142d143336SMitchell Horne# precision than their double. 152dac22dcSAndrew Turner.if ${MACHINE_CPUARCH} == "aarch64" || \ 162dac22dcSAndrew Turner ${MACHINE_CPUARCH} == "amd64" || \ 172d143336SMitchell Horne ${MACHINE_CPUARCH} == "i386" || \ 182d143336SMitchell Horne ${MACHINE_CPUARCH} == "riscv" 194cef7be5SEnji CooperCFLAGS+= -D__HAVE_LONG_DOUBLE 204cef7be5SEnji Cooper.endif 214cef7be5SEnji Cooper 22cf97d2a1SDimitry Andric# Avoid builtins, to force the compiler to emit calls to the libm 23cf97d2a1SDimitry Andric# functions, and not calculate any results in advance. 24cf97d2a1SDimitry AndricCFLAGS+= -fno-builtin 25cf97d2a1SDimitry Andric 264cef7be5SEnji CooperNETBSD_ATF_TESTS_C= acos_test 274cef7be5SEnji CooperNETBSD_ATF_TESTS_C+= asin_test 284cef7be5SEnji CooperNETBSD_ATF_TESTS_C+= atan_test 291ec3feb6SAlex RichardsonNETBSD_ATF_TESTS_C+= bit_test 301ec3feb6SAlex Richardson# TODO: NETBSD_ATF_TESTS_CXX+= cabsl_test 314cef7be5SEnji CooperNETBSD_ATF_TESTS_C+= cbrt_test 324cef7be5SEnji CooperNETBSD_ATF_TESTS_C+= ceil_test 33cdebaff8SEnji CooperNETBSD_ATF_TESTS_C+= casinh_test 344cef7be5SEnji CooperNETBSD_ATF_TESTS_C+= cos_test 354cef7be5SEnji CooperNETBSD_ATF_TESTS_C+= cosh_test 364cef7be5SEnji CooperNETBSD_ATF_TESTS_C+= erf_test 374cef7be5SEnji CooperNETBSD_ATF_TESTS_C+= exp_test 384cef7be5SEnji CooperNETBSD_ATF_TESTS_C+= fmod_test 39cdebaff8SEnji CooperNETBSD_ATF_TESTS_C+= fe_round_test 40d3338f33SDimitry AndricNETBSD_ATF_TESTS_C+= hypot_test 414cef7be5SEnji CooperNETBSD_ATF_TESTS_C+= infinity_test 42cdebaff8SEnji CooperNETBSD_ATF_TESTS_C+= ilogb_test 434cef7be5SEnji CooperNETBSD_ATF_TESTS_C+= ldexp_test 444cef7be5SEnji CooperNETBSD_ATF_TESTS_C+= log_test 454cef7be5SEnji CooperNETBSD_ATF_TESTS_C+= pow_test 464cef7be5SEnji CooperNETBSD_ATF_TESTS_C+= precision_test 474cef7be5SEnji CooperNETBSD_ATF_TESTS_C+= round_test 484cef7be5SEnji CooperNETBSD_ATF_TESTS_C+= scalbn_test 494cef7be5SEnji CooperNETBSD_ATF_TESTS_C+= sin_test 504cef7be5SEnji CooperNETBSD_ATF_TESTS_C+= sinh_test 514cef7be5SEnji CooperNETBSD_ATF_TESTS_C+= sqrt_test 524cef7be5SEnji CooperNETBSD_ATF_TESTS_C+= tan_test 534cef7be5SEnji CooperNETBSD_ATF_TESTS_C+= tanh_test 544cef7be5SEnji Cooper 55*133bc645SAlex RichardsonATF_TESTS_C+= cexp_test 56*133bc645SAlex RichardsonATF_TESTS_C+= conj_test 571637b164SAndrew Turner.if ${MACHINE_CPUARCH} != "aarch64" 581637b164SAndrew Turner# Hits an assert in llvm when building for arm64: 591637b164SAndrew Turner# https://llvm.org/bugs/show_bug.cgi?id=26081 60*133bc645SAlex RichardsonATF_TESTS_C+= csqrt_test 611637b164SAndrew Turner.endif 625c472818SEnji CooperATF_TESTS_C+= ctrig_test 63*133bc645SAlex RichardsonATF_TESTS_C+= exponential_test 64*133bc645SAlex RichardsonATF_TESTS_C+= fenv_test 65*133bc645SAlex RichardsonATF_TESTS_C+= fma_test 66*133bc645SAlex RichardsonATF_TESTS_C+= fmaxmin_test 67*133bc645SAlex RichardsonATF_TESTS_C+= ilogb2_test 68*133bc645SAlex RichardsonATF_TESTS_C+= invtrig_test 69*133bc645SAlex RichardsonATF_TESTS_C+= invctrig_test 70*133bc645SAlex RichardsonATF_TESTS_C+= logarithm_test 71*133bc645SAlex RichardsonATF_TESTS_C+= lrint_test 72*133bc645SAlex RichardsonATF_TESTS_C+= lround_test 73*133bc645SAlex RichardsonATF_TESTS_C+= nan_test 74*133bc645SAlex RichardsonATF_TESTS_C+= nearbyint_test 75*133bc645SAlex RichardsonATF_TESTS_C+= next_test 76*133bc645SAlex RichardsonATF_TESTS_C+= rem_test 774580a78eSEnji CooperATF_TESTS_C+= trig_test 784dc607e7SEnji Cooper 79306c3c4dSEnji Cooper.if !empty(PROG) && !empty(TAP_TESTS_C:M${PROG}) 80306c3c4dSEnji CooperCFLAGS+= -O0 81306c3c4dSEnji Cooper.endif 824dc607e7SEnji Cooper 834cef7be5SEnji Cooper#COPTS+= -Wfloat-equal 844cef7be5SEnji Cooper 854dc607e7SEnji CooperIGNORE_PRAGMA= 864dc607e7SEnji Cooper 87cdebaff8SEnji CooperSRCS.ilogb2_test= ilogb_test.c 88cdebaff8SEnji Cooper 894dc607e7SEnji CooperLIBADD+= m 904dc607e7SEnji Cooper 91fd5e9c33SEnji CooperWARNS?= 1 92fd5e9c33SEnji Cooper 934cef7be5SEnji Cooper# Copied from lib/msun/Makefile 944cef7be5SEnji Cooper.if ${MACHINE_CPUARCH} == "i386" 954cef7be5SEnji CooperARCH_SUBDIR= i387 964cef7be5SEnji Cooper.else 974cef7be5SEnji CooperARCH_SUBDIR= ${MACHINE_CPUARCH} 984cef7be5SEnji Cooper.endif 994cef7be5SEnji Cooper 1004cef7be5SEnji Cooper.include "../${ARCH_SUBDIR}/Makefile.inc" 1014cef7be5SEnji Cooper 1024cef7be5SEnji Cooper# XXX: for some odd reason float.h doesn't tell the full story about what the 1034cef7be5SEnji Cooper# precision is. 1044cef7be5SEnji CooperCFLAGS+= -DLDBL_PREC=${LDBL_PREC} 1054cef7be5SEnji Cooper 10624612bfdSLi-Wen HsuCFLAGS.fe_round_test+= -D__HAVE_FENV 10724612bfdSLi-Wen Hsu 1084cef7be5SEnji Cooper.include <netbsd-tests.test.mk> 1094cef7be5SEnji Cooper 1104cef7be5SEnji Cooper.include <bsd.test.mk> 111