aboutsummaryrefslogtreecommitdiff
path: root/lib/libc/tests/stdlib/Makefile
blob: e4c0cfea73fe59aa4486225641fb0773cb7dc5d0 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
# $FreeBSD$

.include <src.opts.mk>

ATF_TESTS_C+=		clearenv_test
ATF_TESTS_C+=		dynthr_test
ATF_TESTS_C+=		heapsort_test
ATF_TESTS_C+=		mergesort_test
ATF_TESTS_C+=		qsort_test
.if ${COMPILER_TYPE} == "clang"
ATF_TESTS_C+=		qsort_b_test
.endif
ATF_TESTS_C+=		qsort_r_compat_test
ATF_TESTS_C+=		qsort_r_test
ATF_TESTS_C+=		qsort_s_test
ATF_TESTS_C+=		set_constraint_handler_s_test
ATF_TESTS_C+=		strfmon_test
ATF_TESTS_C+=		tsearch_test
ATF_TESTS_CXX+=		cxa_thread_atexit_test
ATF_TESTS_CXX+=		cxa_thread_atexit_nothr_test

# All architectures on FreeBSD have fenv.h
CFLAGS+=	-D__HAVE_FENV

# Define __HAVE_LONG_DOUBLE for architectures whose long double has greater
# precision than their double.
.if ${MACHINE_CPUARCH} == "aarch64" || \
    ${MACHINE_CPUARCH} == "amd64" || \
    ${MACHINE_CPUARCH} == "i386" || \
    ${MACHINE_CPUARCH} == "riscv"
CFLAGS+=	-D__HAVE_LONG_DOUBLE
.endif

# TODO: t_getenv_thread, t_mi_vector_hash, t_strtoi
NETBSD_ATF_TESTS_C+=	abs_test
NETBSD_ATF_TESTS_C+=	atoi_test
NETBSD_ATF_TESTS_C+=	div_test
NETBSD_ATF_TESTS_C+=	getenv_test
NETBSD_ATF_TESTS_C+=	exit_test
NETBSD_ATF_TESTS_C+=	hsearch_test
NETBSD_ATF_TESTS_C+=	posix_memalign_test
NETBSD_ATF_TESTS_C+=	random_test
NETBSD_ATF_TESTS_C+=	strtod_test
NETBSD_ATF_TESTS_C+=	strtol_test
NETBSD_ATF_TESTS_C+=	system_test

# TODO: need to come up with a correct explanation of what the patch pho does
# with h_atexit
#ATF_TESTS_SH=	atexit_test
NETBSD_ATF_TESTS_SH=	getopt_test

.include "../Makefile.netbsd-tests"

BINDIR=		${TESTSDIR}

# TODO: see comment above
#PROGS+=		h_atexit
PROGS+=		h_getopt h_getopt_long

CFLAGS+=	-I${.CURDIR}

CXXSTD.cxa_thread_atexit_test=	c++11
CXXSTD.cxa_thread_atexit_nothr_test=	c++11
LIBADD.cxa_thread_atexit_test+=		pthread

# Tests that requires Blocks feature
.for t in qsort_b_test
CFLAGS.${t}.c+=		-fblocks
LIBADD.${t}+=		BlocksRuntime
.endfor

.for t in h_getopt h_getopt_long
CFLAGS.$t+=	-I${LIBNETBSD_SRCDIR} -I${SRCTOP}/contrib/netbsd-tests
LDFLAGS.$t+=	-L${LIBNETBSD_OBJDIR}

LIBADD.${t}+=	netbsd util
.endfor

LIBADD.strtod_test+=		m

SUBDIR+=	dynthr_mod

.include <bsd.test.mk>