erlang: fix musl compatibility
gethostbyname_r is available when _GNU_SOURCE is defined, add a patch to check for it instead of __GLIBC__, build with -D_GNU_SOURCE, bump release number Signed-off-by: Nicolas Thill <nico@openwrt.org>
This commit is contained in:
parent
0b73e6833b
commit
d4afd14ff1
2 changed files with 15 additions and 1 deletions
|
@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
|
|||
|
||||
PKG_NAME:=erlang
|
||||
PKG_VERSION:=17.5
|
||||
PKG_RELEASE:=1
|
||||
PKG_RELEASE:=2
|
||||
|
||||
PKG_SOURCE:=otp_src_$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:= http://www.erlang.org/download/ \
|
||||
|
@ -232,6 +232,8 @@ HOST_CONFIGURE_ARGS += \
|
|||
--disable-smp-support \
|
||||
--without-javac
|
||||
|
||||
HOST_CFLAGS += -D_GNU_SOURCE
|
||||
|
||||
define Host/Compile
|
||||
$(MAKE) -C $(HOST_BUILD_DIR) all
|
||||
endef
|
||||
|
@ -257,6 +259,7 @@ CONFIGURE_VARS += \
|
|||
erl_xcomp_getaddrinfo=no \
|
||||
erl_xcomp_sysroot="$(STAGING_DIR)"
|
||||
|
||||
EXTRA_CFLAGS+=-D_GNU_SOURCE
|
||||
EXTRA_LDFLAGS+=-lz
|
||||
|
||||
define Build/Compile
|
||||
|
|
11
lang/erlang/patches/102-musl_compat.patch
Normal file
11
lang/erlang/patches/102-musl_compat.patch
Normal file
|
@ -0,0 +1,11 @@
|
|||
--- a/lib/erl_interface/src/connect/ei_resolve.c
|
||||
+++ b/lib/erl_interface/src/connect/ei_resolve.c
|
||||
@@ -642,7 +642,7 @@ struct hostent *ei_gethostbyname_r(const
|
||||
#ifndef HAVE_GETHOSTBYNAME_R
|
||||
return my_gethostbyname_r(name,hostp,buffer,buflen,h_errnop);
|
||||
#else
|
||||
-#if (defined(__GLIBC__) || (__FreeBSD_version >= 602000) || defined(__DragonFly__) || defined(__ANDROID__))
|
||||
+#if (defined(_GNU_SOURCE) || (__FreeBSD_version >= 602000) || defined(__DragonFly__) || defined(__ANDROID__))
|
||||
struct hostent *result;
|
||||
|
||||
gethostbyname_r(name, hostp, buffer, buflen, &result, h_errnop);
|
Loading…
Reference in a new issue