From 72350212d6ba28244af65e1310a0745f2a3e39da Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Mon, 4 Jul 2016 01:09:43 +0200 Subject: [PATCH] libmicrohttpd: fix thread detection on ARC and Blackfin Due to compiler deficiences, gcc on ARC and Blackfin doesn't define _REENTRANT, which the latest version of the ax_pthread.m4 autoconf-archive macros looks at to determine whether thread support is available or not. Fixing the compilers is definitely the right thing to do, but it's not doable for pre-built external toolchains like the Blackfin one, so for now, we simply define _REENTRANT manually on ARC and Blackfin. If more packages are affected by this problem, a more general solution will have to be found. Fixes http://autobuild.buildroot.net/results/593/593b5050473a83a9ddcada9de39f8f14ab38d554/ http://autobuild.buildroot.net/results/ff0/ff058a378b91740b5b399f32a6b375fbc3c8df06/ Signed-off-by: Thomas Petazzoni Reviewed-by: "Yann E. MORIN" Signed-off-by: Thomas Petazzoni --- package/libmicrohttpd/libmicrohttpd.mk | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/package/libmicrohttpd/libmicrohttpd.mk b/package/libmicrohttpd/libmicrohttpd.mk index c53676f520..2266d3ceaa 100644 --- a/package/libmicrohttpd/libmicrohttpd.mk +++ b/package/libmicrohttpd/libmicrohttpd.mk @@ -9,7 +9,17 @@ LIBMICROHTTPD_SITE = $(BR2_GNU_MIRROR)/libmicrohttpd LIBMICROHTTPD_LICENSE_FILES = COPYING LIBMICROHTTPD_INSTALL_STAGING = YES LIBMICROHTTPD_CONF_OPTS = --disable-curl --disable-examples -LIBMICROHTTPD_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -std=c99" +LIBMICROHTTPD_CFLAGS = $(TARGET_CFLAGS) -std=c99 + +# gcc on arc and bfin doesn't define _REENTRANT when -pthread is +# passed while it should. Compensate this defiency here otherwise +# libmicrohttpd configure script doesn't find that thread support is +# enabled. +ifeq ($(BR2_arc)$(BR2_bfin),y) +LIBMICROHTTPD_CFLAGS += -D_REENTRANT +endif + +LIBMICROHTTPD_CONF_ENV += CFLAGS="$(LIBMICROHTTPD_CFLAGS)" ifeq ($(BR2_PACKAGE_LIBMICROHTTPD_SSL),y) LIBMICROHTTPD_LICENSE = LGPLv2.1+