ltp-testsuite.mk 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. ################################################################################
  2. #
  3. # ltp-testsuite
  4. #
  5. ################################################################################
  6. LTP_TESTSUITE_VERSION = 20250530
  7. LTP_TESTSUITE_SOURCE = ltp-full-$(LTP_TESTSUITE_VERSION).tar.xz
  8. LTP_TESTSUITE_SITE = https://github.com/linux-test-project/ltp/releases/download/$(LTP_TESTSUITE_VERSION)
  9. LTP_TESTSUITE_LICENSE = GPL-2.0, GPL-2.0+
  10. LTP_TESTSUITE_LICENSE_FILES = COPYING
  11. # 0001-configure-Fix-build-on-kernel-6.14-headers.patch
  12. LTP_TESTSUITE_AUTORECONF = YES
  13. LTP_TESTSUITE_CONF_OPTS += --disable-metadata
  14. ifeq ($(BR2_PACKAGE_LTP_TESTSUITE_OPEN_POSIX),y)
  15. LTP_TESTSUITE_CONF_OPTS += --with-open-posix-testsuite
  16. endif
  17. ifeq ($(BR2_PACKAGE_LTP_TESTSUITE_REALTIME),y)
  18. LTP_TESTSUITE_CONF_OPTS += --with-realtime-testsuite
  19. endif
  20. ifeq ($(BR2_LINUX_KERNEL),y)
  21. LTP_TESTSUITE_DEPENDENCIES += linux
  22. LTP_TESTSUITE_MAKE_ENV += $(LINUX_MAKE_FLAGS)
  23. LTP_TESTSUITE_CONF_OPTS += --with-linux-dir=$(LINUX_DIR)
  24. else
  25. LTP_TESTSUITE_CONF_OPTS += --without-modules
  26. endif
  27. # We change the prefix to a custom one, otherwise we get scripts and
  28. # directories directly in /usr, such as /usr/runalltests.sh
  29. LTP_TESTSUITE_CONF_OPTS += --prefix=/usr/lib/ltp-testsuite
  30. # Needs libcap with file attrs which needs attr, so both required
  31. ifeq ($(BR2_PACKAGE_LIBCAP)$(BR2_PACKAGE_ATTR),yy)
  32. LTP_TESTSUITE_DEPENDENCIES += libcap
  33. else
  34. LTP_TESTSUITE_CONF_ENV += ac_cv_lib_cap_cap_compare=no
  35. endif
  36. # No explicit enable/disable options
  37. ifeq ($(BR2_PACKAGE_NUMACTL),y)
  38. LTP_TESTSUITE_DEPENDENCIES += numactl
  39. else
  40. LTP_TESTSUITE_CONF_ENV += have_numa_headers=no
  41. endif
  42. LTP_TESTSUITE_CFLAGS = $(TARGET_CFLAGS)
  43. LTP_TESTSUITE_LIBS =
  44. ifeq ($(BR2_PACKAGE_LIBTIRPC),y)
  45. LTP_TESTSUITE_DEPENDENCIES += libtirpc host-pkgconf
  46. LTP_TESTSUITE_CFLAGS += "`$(PKG_CONFIG_HOST_BINARY) --cflags libtirpc`"
  47. LTP_TESTSUITE_LIBS += "`$(PKG_CONFIG_HOST_BINARY) --libs libtirpc`"
  48. endif
  49. ifeq ($(BR2_TOOLCHAIN_USES_GLIBC),)
  50. LTP_TESTSUITE_DEPENDENCIES += musl-fts
  51. LTP_TESTSUITE_LIBS += -lfts
  52. endif
  53. LTP_TESTSUITE_CONF_ENV += \
  54. CFLAGS="$(LTP_TESTSUITE_CFLAGS)" \
  55. LIBS="$(LTP_TESTSUITE_LIBS)" \
  56. SYSROOT="$(STAGING_DIR)"
  57. LTP_TESTSUITE_MAKE_ENV += \
  58. HOST_CFLAGS="$(HOST_CFLAGS)" \
  59. HOST_LDFLAGS="$(HOST_LDFLAGS)"
  60. # uclibc: bessel support normally not enabled
  61. LTP_TESTSUITE_UNSUPPORTED_TEST_CASES_$(BR2_TOOLCHAIN_USES_UCLIBC) += \
  62. testcases/misc/math/float/bessel/ \
  63. testcases/misc/math/float/float_bessel.c
  64. LTP_TESTSUITE_UNSUPPORTED_TEST_CASES_$(BR2_TOOLCHAIN_USES_MUSL) += \
  65. testcases/kernel/syscalls/fmtmsg/fmtmsg01.c \
  66. testcases/kernel/syscalls/timer_create/timer_create01.c \
  67. testcases/kernel/syscalls/timer_create/timer_create03.c
  68. # ldd command build system tries to build a shared library unconditionally.
  69. LTP_TESTSUITE_UNSUPPORTED_TEST_CASES_$(BR2_STATIC_LIBS) += \
  70. testcases/commands/ldd
  71. define LTP_TESTSUITE_REMOVE_UNSUPPORTED_TESTCASES
  72. $(foreach f,$(LTP_TESTSUITE_UNSUPPORTED_TEST_CASES_y),
  73. rm -rf $(@D)/$(f)
  74. )
  75. endef
  76. LTP_TESTSUITE_POST_PATCH_HOOKS += LTP_TESTSUITE_REMOVE_UNSUPPORTED_TESTCASES
  77. $(eval $(autotools-package))