f0ac5e919f
This adds an `fts_open_b()` variant of `fts_open()` which takes a block instead of a function pointer. This was inspired by, and is intended to be compatible with, Apple's implementation; however, although our FTS and theirs share a common ancestor, they have diverged significantly. That and the fact that we still target compilers which don't support blocks means Apple's implementation was not directly reusable. This is the second use case for blocks in FreeBSD (the first being `qsort_b()`, which we use here). This suggest we might want to add a `COMPILER_FEATURE` for blocks to avoid hardcoding any further `COMPILER_TYPE` checks. MFC after: never Relnotes: yes Sponsored by: Klara, Inc. Reviewed by: kevans, theraven, imp Differential Revision: https://reviews.freebsd.org/D49877
84 lines
2.1 KiB
Makefile
84 lines
2.1 KiB
Makefile
.include <src.opts.mk>
|
|
|
|
ATF_TESTS_C+= clearenv_test
|
|
ATF_TESTS_C+= cxa_atexit_test
|
|
ATF_TESTS_C+= dynthr_test
|
|
ATF_TESTS_C+= heapsort_test
|
|
ATF_TESTS_C+= libc_exit_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}
|
|
|
|
LIBADD.cxa_thread_atexit_test+= pthread
|
|
|
|
# Tests that require blocks support
|
|
.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.libc_exit_test+= pthread
|
|
LIBADD.strtod_test+= m
|
|
|
|
SUBDIR+= dynthr_mod
|
|
SUBDIR+= libatexit
|
|
|
|
.include <bsd.test.mk>
|