xref: /freebsd/lib/msun/tests/Makefile (revision a4e5e0106ac7145f56eb39a691e302cabb4635be)
1
2.include <bsd.own.mk>
3
4TESTSRC=	${SRCTOP}/contrib/netbsd-tests/lib/libm
5
6# All architectures on FreeBSD have fenv.h
7CFLAGS+=	-DHAVE_FENV_H
8
9# For isqemu.h
10CFLAGS+=	-I${TESTSRC:H}/libc/gen
11
12# Define __HAVE_LONG_DOUBLE for architectures whose long double has greater
13# precision than their double.
14.if ${MACHINE_CPUARCH} == "aarch64" || \
15    ${MACHINE_CPUARCH} == "amd64" || \
16    ${MACHINE_CPUARCH} == "i386" || \
17    ${MACHINE_CPUARCH} == "riscv"
18CFLAGS+=	-D__HAVE_LONG_DOUBLE
19.endif
20
21# Avoid builtins, to force the compiler to emit calls to the libm
22# functions, and not calculate any results in advance.
23CFLAGS+=        -fno-builtin
24
25NETBSD_ATF_TESTS_C=	acos_test
26NETBSD_ATF_TESTS_C+=	asin_test
27NETBSD_ATF_TESTS_C+=	atan_test
28NETBSD_ATF_TESTS_C+=	bit_test
29# TODO: NETBSD_ATF_TESTS_CXX+=	cabsl_test
30NETBSD_ATF_TESTS_C+=	cbrt_test
31NETBSD_ATF_TESTS_C+=	ceil_test
32NETBSD_ATF_TESTS_C+=	casinh_test
33NETBSD_ATF_TESTS_C+=	cos_test
34NETBSD_ATF_TESTS_C+=	cosh_test
35NETBSD_ATF_TESTS_C+=	erf_test
36NETBSD_ATF_TESTS_C+=	exp_test
37NETBSD_ATF_TESTS_C+=	fmod_test
38NETBSD_ATF_TESTS_C+=	fe_round_test
39NETBSD_ATF_TESTS_C+=	hypot_test
40NETBSD_ATF_TESTS_C+=	infinity_test
41NETBSD_ATF_TESTS_C+=	ilogb_test
42NETBSD_ATF_TESTS_C+=	ldexp_test
43NETBSD_ATF_TESTS_C+=	log_test
44NETBSD_ATF_TESTS_C+=	pow_test
45NETBSD_ATF_TESTS_C+=	precision_test
46NETBSD_ATF_TESTS_C+=	round_test
47NETBSD_ATF_TESTS_C+=	scalbn_test
48NETBSD_ATF_TESTS_C+=	sin_test
49NETBSD_ATF_TESTS_C+=	sinh_test
50NETBSD_ATF_TESTS_C+=	sqrt_test
51NETBSD_ATF_TESTS_C+=	tan_test
52NETBSD_ATF_TESTS_C+=	tanh_test
53
54ATF_TESTS_C+=	cexp_test
55ATF_TESTS_C+=	conj_test
56ATF_TESTS_C+=	csqrt_test
57ATF_TESTS_C+=	ctrig_test
58ATF_TESTS_C+=	exponential_test
59ATF_TESTS_C+=	fenv_test
60ATF_TESTS_C+=	fma_test
61ATF_TESTS_C+=	fmaxmin_test
62ATF_TESTS_C+=	ilogb2_test
63ATF_TESTS_C+=	invtrig_test
64ATF_TESTS_C+=	invctrig_test
65ATF_TESTS_C+=	logarithm_test
66ATF_TESTS_C+=	lrint_test
67ATF_TESTS_C+=	lround_test
68ATF_TESTS_C+=	nan_test
69ATF_TESTS_C+=	nearbyint_test
70ATF_TESTS_C+=	next_test
71ATF_TESTS_C+=	rem_test
72ATF_TESTS_C+=	trig_test
73
74.if !empty(PROG) && !empty(TAP_TESTS_C:M${PROG})
75CFLAGS+=	-O0
76.endif
77
78#COPTS+=	-Wfloat-equal
79
80IGNORE_PRAGMA=
81
82SRCS.ilogb2_test=	ilogb_test.c
83
84LIBADD.fenv_test+=	util
85LIBADD+=	m
86
87# Copied from lib/msun/Makefile
88.if ${MACHINE_CPUARCH} == "i386"
89ARCH_SUBDIR= i387
90.else
91ARCH_SUBDIR= ${MACHINE_CPUARCH}
92.endif
93
94.include "../${ARCH_SUBDIR}/Makefile.inc"
95
96# XXX: for some odd reason float.h doesn't tell the full story about what the
97# precision is.
98CFLAGS+=	-DLDBL_PREC=${LDBL_PREC}
99
100CFLAGS.fe_round_test+=	-D__HAVE_FENV
101
102.include <bsd.compiler.mk>
103.if ${COMPILER_TYPE} == "clang" && ${COMPILER_VERSION} >= 120000
104# Silence '#pragma FENV_ACCESS' is not supported on this target - ignored
105CWARNFLAGS+=	-Wno-error=ignored-pragmas
106.endif
107
108.include <netbsd-tests.test.mk>
109
110.include <bsd.test.mk>
111