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