xref: /OK3568_Linux_fs/buildroot/package/uclibc-ng-test/uclibc-ng-test.mk (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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