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 22*cf97d2a1SDimitry Andric# Avoid builtins, to force the compiler to emit calls to the libm 23*cf97d2a1SDimitry Andric# functions, and not calculate any results in advance. 24*cf97d2a1SDimitry AndricCFLAGS+= -fno-builtin 25*cf97d2a1SDimitry 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 554dc607e7SEnji CooperTAP_TESTS_C+= cexp_test 564dc607e7SEnji CooperTAP_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 604dc607e7SEnji CooperTAP_TESTS_C+= csqrt_test 611637b164SAndrew Turner.endif 625c472818SEnji CooperATF_TESTS_C+= ctrig_test 638a7d0e8cSEnji CooperTAP_TESTS_C+= exponential_test 644dc607e7SEnji CooperTAP_TESTS_C+= fenv_test 658a7d0e8cSEnji CooperTAP_TESTS_C+= fma_test 662af16ec8SBryan DreweryTAP_TESTS_C+= fmaxmin_test 67cdebaff8SEnji CooperTAP_TESTS_C+= ilogb2_test 688a7d0e8cSEnji CooperTAP_TESTS_C+= invtrig_test 694dc607e7SEnji CooperTAP_TESTS_C+= invctrig_test 704dc607e7SEnji CooperTAP_TESTS_C+= logarithm_test 714dc607e7SEnji CooperTAP_TESTS_C+= lrint_test 728a7d0e8cSEnji Cooper# XXX: the testcase crashes on all platforms, but only on head 738a7d0e8cSEnji Cooper# (bug 205451) 748a7d0e8cSEnji Cooper#TAP_TESTS_C+= lround_test 754dc607e7SEnji CooperTAP_TESTS_C+= nan_test 764dc607e7SEnji CooperTAP_TESTS_C+= nearbyint_test 774dc607e7SEnji CooperTAP_TESTS_C+= next_test 784dc607e7SEnji CooperTAP_TESTS_C+= rem_test 794580a78eSEnji CooperATF_TESTS_C+= trig_test 804dc607e7SEnji Cooper 81306c3c4dSEnji Cooper.if !empty(PROG) && !empty(TAP_TESTS_C:M${PROG}) 82306c3c4dSEnji CooperCFLAGS+= -O0 83306c3c4dSEnji Cooper.endif 844dc607e7SEnji Cooper 854cef7be5SEnji Cooper#COPTS+= -Wfloat-equal 864cef7be5SEnji Cooper 874dc607e7SEnji CooperIGNORE_PRAGMA= 884dc607e7SEnji Cooper 89cdebaff8SEnji CooperSRCS.ilogb2_test= ilogb_test.c 90cdebaff8SEnji Cooper 914dc607e7SEnji CooperLIBADD+= m 924dc607e7SEnji Cooper 93fd5e9c33SEnji CooperWARNS?= 1 94fd5e9c33SEnji Cooper 954cef7be5SEnji Cooper# Copied from lib/msun/Makefile 964cef7be5SEnji Cooper.if ${MACHINE_CPUARCH} == "i386" 974cef7be5SEnji CooperARCH_SUBDIR= i387 984cef7be5SEnji Cooper.else 994cef7be5SEnji CooperARCH_SUBDIR= ${MACHINE_CPUARCH} 1004cef7be5SEnji Cooper.endif 1014cef7be5SEnji Cooper 1024cef7be5SEnji Cooper.include "../${ARCH_SUBDIR}/Makefile.inc" 1034cef7be5SEnji Cooper 1044cef7be5SEnji Cooper# XXX: for some odd reason float.h doesn't tell the full story about what the 1054cef7be5SEnji Cooper# precision is. 1064cef7be5SEnji CooperCFLAGS+= -DLDBL_PREC=${LDBL_PREC} 1074cef7be5SEnji Cooper 10824612bfdSLi-Wen HsuCFLAGS.fe_round_test+= -D__HAVE_FENV 10924612bfdSLi-Wen Hsu 1104cef7be5SEnji Cooper.include <netbsd-tests.test.mk> 1114cef7be5SEnji Cooper 1124cef7be5SEnji Cooper.include <bsd.test.mk> 113