8c6bf50828
Even though libnspr uses a configure script, it does look at __GLIBC__ and other macros to determine whether certain C library features are available or not. Such things fails completely with the musl C library, since it doesn't define __GLIBC__. To fix this, we borrow some logic from Alpine Linux, which consists in explicitly specifying which features are available in the musl C library. Fixes: http://autobuild.buildroot.org/results/ddd/dddd032232126f1e476e6aea2c6a32e9cd1ddfae/ Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
61 lines
1.8 KiB
Makefile
61 lines
1.8 KiB
Makefile
################################################################################
|
|
#
|
|
# libnspr
|
|
#
|
|
################################################################################
|
|
|
|
LIBNSPR_VERSION = 4.11
|
|
LIBNSPR_SOURCE = nspr-$(LIBNSPR_VERSION).tar.gz
|
|
LIBNSPR_SITE = https://ftp.mozilla.org/pub/mozilla.org/nspr/releases/v$(LIBNSPR_VERSION)/src
|
|
LIBNSPR_SUBDIR = nspr
|
|
LIBNSPR_INSTALL_STAGING = YES
|
|
LIBNSPR_CONFIG_SCRIPTS = nspr-config
|
|
LIBNSPR_LICENSE = MPLv2.0
|
|
LIBNSPR_LICENSE_FILES = nspr/LICENSE
|
|
|
|
# Set the host CFLAGS and LDFLAGS so NSPR does not guess wrongly
|
|
LIBNSPR_CONF_ENV = \
|
|
HOST_CFLAGS="-g -O2" \
|
|
HOST_LDFLAGS="-lc"
|
|
# NSPR mixes up --build and --host
|
|
LIBNSPR_CONF_OPTS = --host=$(GNU_HOST_NAME)
|
|
LIBNSPR_CONF_OPTS += --$(if $(BR2_ARCH_IS_64),en,dis)able-64bit
|
|
|
|
# ./nspr/pr/include/md/_linux.h tests only __GLIBC__ version to detect
|
|
# c-library features, list musl features here for now (taken from
|
|
# Alpine Linux).
|
|
ifeq ($(BR2_TOOLCHAIN_USES_MUSL),y)
|
|
LIBNSPR_CFLAGS += \
|
|
-D_PR_POLL_AVAILABLE \
|
|
-D_PR_HAVE_OFF64_T \
|
|
-D_PR_INET6 \
|
|
-D_PR_HAVE_INET_NTOP \
|
|
-D_PR_HAVE_GETHOSTBYNAME2 \
|
|
-D_PR_HAVE_GETADDRINFO \
|
|
-D_PR_INET6_PROBE
|
|
endif
|
|
|
|
LIBNSPR_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) $(LIBNSPR_CFLAGS)"
|
|
|
|
ifeq ($(BR2_STATIC_LIBS),y)
|
|
LIBNSPR_MAKE_OPTS = SHARED_LIBRARY=
|
|
LIBNSPR_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) SHARED_LIBRARY= install
|
|
LIBNSPR_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) SHARED_LIBRARY= install
|
|
endif
|
|
|
|
ifeq ($(BR2_SHARED_LIBS),y)
|
|
LIBNSPR_MAKE_OPTS = LIBRARY=
|
|
LIBNSPR_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) LIBRARY= install
|
|
LIBNSPR_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) LIBRARY= install
|
|
endif
|
|
|
|
ifeq ($(BR2_arm),y)
|
|
ifeq ($(BR2_ARM_CPU_HAS_THUMB2),y)
|
|
LIBNSPR_CONF_OPTS += --enable-thumb2
|
|
else
|
|
LIBNSPR_CONF_OPTS += --disable-thumb2
|
|
endif
|
|
endif
|
|
|
|
$(eval $(autotools-package))
|