1*4882a593Smuzhiyun################################################################################ 2*4882a593Smuzhiyun# 3*4882a593Smuzhiyun# uclibc-ng-test 4*4882a593Smuzhiyun# 5*4882a593Smuzhiyun################################################################################ 6*4882a593Smuzhiyun 7*4882a593SmuzhiyunUCLIBC_NG_TEST_VERSION = 0844445e7358eb10e716155b55b0fb23e88d644a 8*4882a593SmuzhiyunUCLIBC_NG_TEST_SITE = git://uclibc-ng.org/git/uclibc-ng-test 9*4882a593SmuzhiyunUCLIBC_NG_TEST_LICENSE = LGPL-2.1+ 10*4882a593SmuzhiyunUCLIBC_NG_TEST_LICENSE_FILES = COPYING.LIB 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun# the math tests are recently synced from glibc and need more adaption before 13*4882a593Smuzhiyun# regular testing is possible 14*4882a593SmuzhiyunUCLIBC_NG_TEST_MAKE_ENV += NO_MATH=1 15*4882a593Smuzhiyun 16*4882a593Smuzhiyun# obsolete encrypt and setkey functions are not available since glibc 2.28 17*4882a593Smuzhiyunifeq ($(BR2_TOOLCHAIN_USES_GLIBC),y) 18*4882a593SmuzhiyunUCLIBC_NG_TEST_MAKE_ENV += NO_CRYPT=1 19*4882a593Smuzhiyunendif 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun# locale tests are not compatible with musl, yet 22*4882a593Smuzhiyunifeq ($(BR2_TOOLCHAIN_USES_MUSL),y) 23*4882a593SmuzhiyunUCLIBC_NG_TEST_MAKE_ENV += NO_LOCALE=1 24*4882a593Smuzhiyunendif 25*4882a593Smuzhiyunifeq ($(BR2_USE_WCHAR),) 26*4882a593SmuzhiyunUCLIBC_NG_TEST_MAKE_ENV += NO_WCHAR=1 27*4882a593Smuzhiyunendif 28*4882a593Smuzhiyunifeq ($(BR2_ENABLE_LOCALE),) 29*4882a593SmuzhiyunUCLIBC_NG_TEST_MAKE_ENV += NO_LOCALE=1 30*4882a593Smuzhiyunendif 31*4882a593Smuzhiyunifeq ($(BR2_TOOLCHAIN_HAS_THREADS),) 32*4882a593SmuzhiyunUCLIBC_NG_TEST_MAKE_ENV += NO_TLS=1 NO_THREADS=1 33*4882a593Smuzhiyunendif 34*4882a593Smuzhiyunifeq ($(BR2_TOOLCHAIN_HAS_THREADS_NPTL),) 35*4882a593SmuzhiyunUCLIBC_NG_TEST_MAKE_ENV += NO_TLS=1 NO_NPTL=1 36*4882a593Smuzhiyunendif 37*4882a593Smuzhiyun# most NPTL/TLS tests use dlopen 38*4882a593Smuzhiyunifeq ($(BR2_STATIC_LIBS),y) 39*4882a593SmuzhiyunUCLIBC_NG_TEST_MAKE_ENV += NO_TLS=1 NO_NPTL=1 NO_DL=1 40*4882a593Smuzhiyunendif 41*4882a593Smuzhiyun# no TLS macros available 42*4882a593Smuzhiyunifeq ($(BR2_nds32)$(BR2_s390x),y) 43*4882a593SmuzhiyunUCLIBC_NG_TEST_MAKE_ENV += NO_TLS=1 44*4882a593Smuzhiyunendif 45*4882a593Smuzhiyun 46*4882a593Smuzhiyun# to execute tests in a deterministic order, call test_gen separately 47*4882a593Smuzhiyundefine UCLIBC_NG_TEST_BUILD_CMDS 48*4882a593Smuzhiyun $(TARGET_MAKE_ENV) $(UCLIBC_NG_TEST_MAKE_ENV) $(MAKE) -C $(@D) \ 49*4882a593Smuzhiyun CC="$(TARGET_CC)" \ 50*4882a593Smuzhiyun UCLIBC_EXTRA_CFLAGS="$(TARGET_CFLAGS)" \ 51*4882a593Smuzhiyun UCLIBC_EXTRA_LDFLAGS="$(TARGET_LDFLAGS)" \ 52*4882a593Smuzhiyun test_compile 53*4882a593Smuzhiyun $(TARGET_MAKE_ENV) $(UCLIBC_NG_TEST_MAKE_ENV) $(MAKE1) -C $(@D) \ 54*4882a593Smuzhiyun CC="$(TARGET_CC)" \ 55*4882a593Smuzhiyun UCLIBC_EXTRA_CFLAGS="$(TARGET_CFLAGS)" \ 56*4882a593Smuzhiyun test_gen 57*4882a593Smuzhiyunendef 58*4882a593Smuzhiyun 59*4882a593Smuzhiyundefine UCLIBC_NG_TEST_INSTALL_TARGET_CMDS 60*4882a593Smuzhiyun $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR="$(TARGET_DIR)" install 61*4882a593Smuzhiyunendef 62*4882a593Smuzhiyun 63*4882a593Smuzhiyun$(eval $(generic-package)) 64