aboutsummaryrefslogtreecommitdiff
path: root/package/uclibc-ng-test/uclibc-ng-test.mk
blob: 0e2b58499b77586b7c1240702eec16c49b7b5fe5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
################################################################################
#
# uclibc-ng-test
#
################################################################################

UCLIBC_NG_TEST_VERSION = c9b9876cefc142a23aa622b821290ed16af80058
UCLIBC_NG_TEST_SITE = git://uclibc-ng.org/git/uclibc-ng-test
UCLIBC_NG_TEST_LICENSE = LGPLv2.1+
UCLIBC_NG_TEST_LICENSE_FILES = COPYING.LIB

# the math tests are recently synced from glibc and need more adaption before
# regular testing is possible
UCLIBC_NG_TEST_MAKE_ENV += NO_MATH=1

# locale tests are not compatible with musl, yet
ifeq ($(BR2_TOOLCHAIN_USES_MUSL),y)
UCLIBC_NG_TEST_MAKE_ENV += NO_LOCALE=1
endif
ifeq ($(BR2_USE_WCHAR),)
UCLIBC_NG_TEST_MAKE_ENV += NO_WCHAR=1
endif
ifeq ($(BR2_ENABLE_LOCALE),)
UCLIBC_NG_TEST_MAKE_ENV += NO_LOCALE=1
endif
ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),)
UCLIBC_NG_TEST_MAKE_ENV += NO_TLS=1 NO_THREADS=1
endif
ifeq ($(BR2_TOOLCHAIN_HAS_THREADS_NPTL),)
UCLIBC_NG_TEST_MAKE_ENV += NO_TLS=1 NO_NPTL=1
endif
# most NPTL/TLS tests use dlopen
ifeq ($(BR2_STATIC_LIBS),y)
UCLIBC_NG_TEST_MAKE_ENV += NO_TLS=1 NO_NPTL=1 NO_DL=1
endif

# to execute tests in a deterministic order, call test_gen separately
define UCLIBC_NG_TEST_BUILD_CMDS
	$(TARGET_MAKE_ENV) $(UCLIBC_NG_TEST_MAKE_ENV) $(MAKE) -C $(@D) \
		CC="$(TARGET_CC)" \
		UCLIBC_EXTRA_CFLAGS="$(TARGET_CFLAGS)" \
		UCLIBC_EXTRA_LDFLAGS="$(TARGET_LDFLAGS)" \
		test_compile
	$(TARGET_MAKE_ENV) $(UCLIBC_NG_TEST_MAKE_ENV) $(MAKE1) -C $(@D) \
		CC="$(TARGET_CC)" \
		UCLIBC_EXTRA_CFLAGS="$(TARGET_CFLAGS)" \
		test_gen
endef

define UCLIBC_NG_TEST_INSTALL_TARGET_CMDS
	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR="$(TARGET_DIR)" install
endef

$(eval $(generic-package))