kumquat-buildroot/package/ltp-testsuite/ltp-testsuite.mk
Petr Vorel 39721cf186 package/ltp-testsuite: fix build with glibc 2.28 or uclibc-ng 1.0.30
LTP fails to build 20180926 with both glibc 2.28 and uclibc-ng 1.0.30,
due error in m4 macro check:

In file included from /home/rclinux/rc-buildroot-test/scripts/instance-0/output/host/arm-buildroot-linux-gnueabihf/sysroot/usr/include/sys/stat.h:446:0,
                 from ../../../../include/tst_safe_macros.h:26,
                 from ../../../../include/tst_test.h:85,
                 from statx05.c:27:
/home/rclinux/rc-buildroot-test/scripts/instance-0/output/host/arm-buildroot-linux-gnueabihf/sysroot/usr/include/bits/statx.h:87:5: note: expected 'struct statx * restrict' but argument is of type 'struct statx *'
 int statx (int __dirfd, const char *__restrict __path, int __flags,
     ^~~~~
<builtin>: recipe for target 'statx01' failed
make[5]: *** [statx01] Error 1
<builtin>: recipe for target 'statx05' failed
make[5]: *** [statx05] Error 1

This patch requires to regenerate configure.

Fixes:
http://autobuild.buildroot.net/results/69566d0c728970a6dd6a793b08c5804df3cc00eb
http://autobuild.buildroot.net/results/3c53ddfaca70b490a401c9123602965f3803cd0a
http://autobuild.buildroot.net/results/8fb63f627a4ba55afea49ad0566064d20021889a
http://autobuild.buildroot.net/results/496a1b40d378eaca98e532c03afb47e5291427b3
http://autobuild.buildroot.net/results/47abceeda8044029b6d3200f3877d4d2c494202c

Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
Reported-by: Florian La Roche <F.LaRoche@pilz.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-11-01 22:43:41 +01:00

82 lines
2.7 KiB
Makefile

################################################################################
#
# ltp-testsuite
#
################################################################################
LTP_TESTSUITE_VERSION = 20180926
LTP_TESTSUITE_SOURCE = ltp-full-$(LTP_TESTSUITE_VERSION).tar.xz
LTP_TESTSUITE_SITE = https://github.com/linux-test-project/ltp/releases/download/$(LTP_TESTSUITE_VERSION)
LTP_TESTSUITE_LICENSE = GPL-2.0, GPL-2.0+
LTP_TESTSUITE_LICENSE_FILES = COPYING
LTP_TESTSUITE_CONF_OPTS += \
--with-realtime-testsuite --with-open-posix-testsuite
ifeq ($(BR2_LINUX_KERNEL),y)
LTP_TESTSUITE_DEPENDENCIES += linux
LTP_TESTSUITE_MAKE_ENV += $(LINUX_MAKE_FLAGS)
LTP_TESTSUITE_CONF_OPTS += --with-linux-dir=$(LINUX_DIR)
else
LTP_TESTSUITE_CONF_OPTS += --without-modules
endif
# We change the prefix to a custom one, otherwise we get scripts and
# directories directly in /usr, such as /usr/runalltests.sh
LTP_TESTSUITE_CONF_OPTS += --prefix=/usr/lib/ltp-testsuite
# Needs libcap with file attrs which needs attr, so both required
ifeq ($(BR2_PACKAGE_LIBCAP)$(BR2_PACKAGE_ATTR),yy)
LTP_TESTSUITE_DEPENDENCIES += libcap
else
LTP_TESTSUITE_CONF_ENV += ac_cv_lib_cap_cap_compare=no
endif
# No explicit enable/disable options
ifeq ($(BR2_PACKAGE_NUMACTL),y)
LTP_TESTSUITE_DEPENDENCIES += numactl
else
LTP_TESTSUITE_CONF_ENV += have_numa_headers=no
endif
# ltp-testsuite uses <fts.h>, which isn't compatible with largefile
# support.
LTP_TESTSUITE_CFLAGS = $(filter-out -D_FILE_OFFSET_BITS=64,$(TARGET_CFLAGS))
LTP_TESTSUITE_CPPFLAGS = $(filter-out -D_FILE_OFFSET_BITS=64,$(TARGET_CPPFLAGS))
LTP_TESTSUITE_LIBS =
ifeq ($(BR2_PACKAGE_LIBTIRPC),y)
LTP_TESTSUITE_DEPENDENCIES += libtirpc host-pkgconf
LTP_TESTSUITE_CFLAGS += "`$(PKG_CONFIG_HOST_BINARY) --cflags libtirpc`"
LTP_TESTSUITE_LIBS += "`$(PKG_CONFIG_HOST_BINARY) --libs libtirpc`"
endif
LTP_TESTSUITE_CONF_ENV += \
CFLAGS="$(LTP_TESTSUITE_CFLAGS)" \
CPPFLAGS="$(LTP_TESTSUITE_CPPFLAGS)" \
LIBS="$(LTP_TESTSUITE_LIBS)" \
SYSROOT="$(STAGING_DIR)"
# Requires uClibc fts and bessel support, normally not enabled
ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y)
define LTP_TESTSUITE_REMOVE_UNSUPPORTED
rm -rf $(@D)/testcases/kernel/controllers/cpuset/
rm -rf $(@D)/testcases/misc/math/float/bessel/
rm -f $(@D)/testcases/misc/math/float/float_bessel.c
endef
LTP_TESTSUITE_POST_PATCH_HOOKS += LTP_TESTSUITE_REMOVE_UNSUPPORTED
endif
# ldd command build system tries to build a shared library unconditionally.
ifeq ($(BR2_STATIC_LIBS),y)
define LTP_TESTSUITE_REMOVE_LDD
rm -rf $(@D)/testcases/commands/ldd
endef
LTP_TESTSUITE_POST_PATCH_HOOKS += LTP_TESTSUITE_REMOVE_LDD
endif
# 0002-statx-fix-compile-errors.patch
LTP_TESTSUITE_AUTORECONF = YES
$(eval $(autotools-package))