xref: /freebsd/lib/msun/tests/Makefile (revision cf97d2a1dab8f2cddc4466fe64d37818339c73be)
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