xref: /OK3568_Linux_fs/buildroot/package/ltp-testsuite/ltp-testsuite.mk (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun################################################################################
2*4882a593Smuzhiyun#
3*4882a593Smuzhiyun# ltp-testsuite
4*4882a593Smuzhiyun#
5*4882a593Smuzhiyun################################################################################
6*4882a593Smuzhiyun
7*4882a593SmuzhiyunLTP_TESTSUITE_VERSION = 20210927
8*4882a593SmuzhiyunLTP_TESTSUITE_SOURCE = ltp-full-$(LTP_TESTSUITE_VERSION).tar.xz
9*4882a593SmuzhiyunLTP_TESTSUITE_SITE = https://github.com/linux-test-project/ltp/releases/download/$(LTP_TESTSUITE_VERSION)
10*4882a593Smuzhiyun
11*4882a593SmuzhiyunLTP_TESTSUITE_LICENSE = GPL-2.0, GPL-2.0+
12*4882a593SmuzhiyunLTP_TESTSUITE_LICENSE_FILES = COPYING
13*4882a593Smuzhiyun
14*4882a593SmuzhiyunLTP_TESTSUITE_CONF_OPTS += --disable-metadata
15*4882a593Smuzhiyun
16*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_LTP_TESTSUITE_OPEN_POSIX),y)
17*4882a593SmuzhiyunLTP_TESTSUITE_CONF_OPTS += --with-open-posix-testsuite
18*4882a593Smuzhiyunendif
19*4882a593Smuzhiyun
20*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_LTP_TESTSUITE_REALTIME),y)
21*4882a593SmuzhiyunLTP_TESTSUITE_CONF_OPTS += --with-realtime-testsuite
22*4882a593Smuzhiyunendif
23*4882a593Smuzhiyun
24*4882a593Smuzhiyunifeq ($(BR2_LINUX_KERNEL),y)
25*4882a593SmuzhiyunLTP_TESTSUITE_DEPENDENCIES += linux
26*4882a593SmuzhiyunLTP_TESTSUITE_MAKE_ENV += $(LINUX_MAKE_FLAGS)
27*4882a593SmuzhiyunLTP_TESTSUITE_CONF_OPTS += --with-linux-dir=$(LINUX_DIR)
28*4882a593Smuzhiyunelse
29*4882a593SmuzhiyunLTP_TESTSUITE_CONF_OPTS += --without-modules
30*4882a593Smuzhiyunendif
31*4882a593Smuzhiyun
32*4882a593Smuzhiyun# We change the prefix to a custom one, otherwise we get scripts and
33*4882a593Smuzhiyun# directories directly in /usr, such as /usr/runalltests.sh
34*4882a593SmuzhiyunLTP_TESTSUITE_CONF_OPTS += --prefix=/usr/lib/ltp-testsuite
35*4882a593Smuzhiyun
36*4882a593Smuzhiyun# Needs libcap with file attrs which needs attr, so both required
37*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_LIBCAP)$(BR2_PACKAGE_ATTR),yy)
38*4882a593SmuzhiyunLTP_TESTSUITE_DEPENDENCIES += libcap
39*4882a593Smuzhiyunelse
40*4882a593SmuzhiyunLTP_TESTSUITE_CONF_ENV += ac_cv_lib_cap_cap_compare=no
41*4882a593Smuzhiyunendif
42*4882a593Smuzhiyun
43*4882a593Smuzhiyun# No explicit enable/disable options
44*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_NUMACTL),y)
45*4882a593SmuzhiyunLTP_TESTSUITE_DEPENDENCIES += numactl
46*4882a593Smuzhiyunelse
47*4882a593SmuzhiyunLTP_TESTSUITE_CONF_ENV += have_numa_headers=no
48*4882a593Smuzhiyunendif
49*4882a593Smuzhiyun
50*4882a593Smuzhiyun# ltp-testsuite uses <fts.h>, which isn't compatible with largefile
51*4882a593Smuzhiyun# support.
52*4882a593SmuzhiyunLTP_TESTSUITE_CFLAGS = $(filter-out -D_FILE_OFFSET_BITS=64,$(TARGET_CFLAGS))
53*4882a593SmuzhiyunLTP_TESTSUITE_CPPFLAGS = $(filter-out -D_FILE_OFFSET_BITS=64,$(TARGET_CPPFLAGS))
54*4882a593SmuzhiyunLTP_TESTSUITE_LIBS =
55*4882a593Smuzhiyun
56*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_LIBTIRPC),y)
57*4882a593SmuzhiyunLTP_TESTSUITE_DEPENDENCIES += libtirpc host-pkgconf
58*4882a593SmuzhiyunLTP_TESTSUITE_CFLAGS += "`$(PKG_CONFIG_HOST_BINARY) --cflags libtirpc`"
59*4882a593SmuzhiyunLTP_TESTSUITE_LIBS += "`$(PKG_CONFIG_HOST_BINARY) --libs libtirpc`"
60*4882a593Smuzhiyunendif
61*4882a593Smuzhiyun
62*4882a593Smuzhiyunifeq ($(BR2_TOOLCHAIN_USES_GLIBC),)
63*4882a593SmuzhiyunLTP_TESTSUITE_DEPENDENCIES += musl-fts
64*4882a593SmuzhiyunLTP_TESTSUITE_LIBS += -lfts
65*4882a593Smuzhiyunendif
66*4882a593Smuzhiyun
67*4882a593SmuzhiyunLTP_TESTSUITE_CONF_ENV += \
68*4882a593Smuzhiyun	CFLAGS="$(LTP_TESTSUITE_CFLAGS)" \
69*4882a593Smuzhiyun	CPPFLAGS="$(LTP_TESTSUITE_CPPFLAGS)" \
70*4882a593Smuzhiyun	LIBS="$(LTP_TESTSUITE_LIBS)" \
71*4882a593Smuzhiyun	SYSROOT="$(STAGING_DIR)"
72*4882a593Smuzhiyun
73*4882a593Smuzhiyun# uclibc: bessel support normally not enabled
74*4882a593SmuzhiyunLTP_TESTSUITE_UNSUPPORTED_TEST_CASES_$(BR2_TOOLCHAIN_USES_UCLIBC) += \
75*4882a593Smuzhiyun	testcases/misc/math/float/bessel/ \
76*4882a593Smuzhiyun	testcases/misc/math/float/float_bessel.c
77*4882a593Smuzhiyun
78*4882a593SmuzhiyunLTP_TESTSUITE_UNSUPPORTED_TEST_CASES_$(BR2_TOOLCHAIN_USES_MUSL) += \
79*4882a593Smuzhiyun	testcases/kernel/syscalls/confstr/confstr01.c \
80*4882a593Smuzhiyun	testcases/kernel/syscalls/fmtmsg/fmtmsg01.c \
81*4882a593Smuzhiyun	testcases/kernel/syscalls/getcontext/getcontext01.c \
82*4882a593Smuzhiyun	testcases/kernel/syscalls/rt_tgsigqueueinfo/rt_tgsigqueueinfo01.c \
83*4882a593Smuzhiyun	testcases/kernel/syscalls/timer_create/timer_create01.c \
84*4882a593Smuzhiyun	testcases/kernel/syscalls/timer_create/timer_create03.c
85*4882a593Smuzhiyun
86*4882a593Smuzhiyun# ldd command build system tries to build a shared library unconditionally.
87*4882a593SmuzhiyunLTP_TESTSUITE_UNSUPPORTED_TEST_CASES_$(BR2_STATIC_LIBS) += \
88*4882a593Smuzhiyun	testcases/commands/ldd
89*4882a593Smuzhiyun
90*4882a593Smuzhiyundefine LTP_TESTSUITE_REMOVE_UNSUPPORTED_TESTCASES
91*4882a593Smuzhiyun	$(foreach f,$(LTP_TESTSUITE_UNSUPPORTED_TEST_CASES_y),
92*4882a593Smuzhiyun		rm -rf $(@D)/$(f)
93*4882a593Smuzhiyun	)
94*4882a593Smuzhiyunendef
95*4882a593Smuzhiyun
96*4882a593SmuzhiyunLTP_TESTSUITE_POST_PATCH_HOOKS += LTP_TESTSUITE_REMOVE_UNSUPPORTED_TESTCASES
97*4882a593Smuzhiyun
98*4882a593Smuzhiyun$(eval $(autotools-package))
99