ltp-testsuite: support building with toolchains without native RPC
authorThomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Sun, 26 Jul 2015 18:43:14 +0000 (20:43 +0200)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Sun, 26 Jul 2015 19:47:48 +0000 (21:47 +0200)
ltp-testsuite needs RPC, but this could also be provided by libtirpc.

The dependency of libtirpc on
!BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2012R2 does not need to be
propagated, because it is always satisfied: ltp-testsuite depends on
BR2_USE_MMU which is always unset for Blackfin targets.

Since musl toolchains never have RPC support, this change would now allow
building of ltp-testsuite on musl toolchains. Unfortunately, ltp-testsuite
does not build yet with musl, so a specific check on musl is added.
This is deemed more conceptually correct than checking on glibc||uclibc.

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Cc: "Yann E. Morin" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
package/ltp-testsuite/Config.in
package/ltp-testsuite/ltp-testsuite.mk

index 52c02ce84cc479e761d1fb3cff4794a061727528..91b09ce3fab37da3d128f80c82a87c9d9424d607 100644 (file)
@@ -6,7 +6,8 @@ config BR2_PACKAGE_LTP_TESTSUITE
        bool "ltp-testsuite"
        depends on BR2_USE_MMU # fork()
        depends on BR2_TOOLCHAIN_HAS_THREADS
-       depends on BR2_TOOLCHAIN_HAS_NATIVE_RPC
+       depends on !BR2_TOOLCHAIN_USES_MUSL
+       select BR2_PACKAGE_LIBTIRPC if !BR2_TOOLCHAIN_HAS_NATIVE_RPC
        # does not build, cachectl.h issue
        depends on !BR2_nios2
        help
@@ -21,7 +22,7 @@ config BR2_PACKAGE_LTP_TESTSUITE
 
          http://ltp.sourceforge.net/
 
-comment "ltp-testsuite needs a toolchain w/ RPC, threads"
+comment "ltp-testsuite needs a non-musl toolchain w/ threads"
        depends on !BR2_nios2
        depends on BR2_USE_MMU
-       depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_HAS_NATIVE_RPC
+       depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_TOOLCHAIN_USES_MUSL
index 2d4f286071737b84829d8ea1cca9e28ba0cf6647..acc1640c43adc3e719f243841345f52c533c3211 100644 (file)
@@ -19,8 +19,19 @@ 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="$(filter-out -D_FILE_OFFSET_BITS=64,$(TARGET_CFLAGS))" \
-       CPPFLAGS="$(filter-out -D_FILE_OFFSET_BITS=64,$(TARGET_CPPFLAGS))"
+       CFLAGS="$(LTP_TESTSUITE_CFLAGS)" \
+       CPPFLAGS="$(LTP_TESTSUITE_CPPFLAGS)" \
+       LIBS="$(LTP_TESTSUITE_LIBS)"
 
 $(eval $(autotools-package))