package/gcc: disable libcilkrts when there is no thread support
authorThomas Petazzoni <thomas.petazzoni@bootlin.com>
Sun, 21 Oct 2018 11:54:13 +0000 (13:54 +0200)
committerThomas Petazzoni <thomas.petazzoni@bootlin.com>
Sun, 21 Oct 2018 14:26:47 +0000 (16:26 +0200)
The libcilkrts configure script errors out with "Pthreads are required
to build libcilkrts" if the C library doesn't have thread support. To
fix that, we disable libcilkrts when thread support is not available.

This issue was not noticed until now, because we only regularly build
a no-thread toolchain for ARM, and libcilkrts was enabled on ARM only
starting in gcc 7.x.

This fixes the build of no-thread toolchains on architectures where
libcilkrts is supported, i.e x86/x86-64, ARM and Sparc.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Reviewed-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
package/gcc/gcc-final/gcc-final.mk

index 9897d18682f7811b504195ad73e7b97a86322dd6..1be0b9bfc9ece58c1cda38f3ccb23fdf900dc636 100644 (file)
@@ -81,6 +81,11 @@ ifeq ($(BR2_sparc),y)
 HOST_GCC_FINAL_CONF_OPTS += --disable-libcilkrts
 endif
 
+# Pthreads are required to build libcilkrts
+ifeq ($(BR2_PTHREADS_NONE),y)
+HOST_GCC_FINAL_CONF_OPTS += --disable-libcilkrts
+endif
+
 # Disable shared libs like libstdc++ if we do static since it confuses linking
 # In that case also disable libcilkrts as there is no static version
 ifeq ($(BR2_STATIC_LIBS),y)