From e25949afa0e832e4553210529db685f65fe21da9 Mon Sep 17 00:00:00 2001
From: Frank Hunleth <fhunleth@troodon-software.com>
Date: Fri, 7 Jul 2017 18:23:51 -0400
Subject: [PATCH] erlang: bump to otp 20.3.6

---
 package/erlang/0001-build-fix.patch                | 13 ----
 ...d-instruct-libatomic_ops-we-do-require-CA.patch | 71 ++++++++++++++++++++++
 ...ts-emulator-reorder-inclued-headers-paths.patch | 43 +++++++++++++
 ...d-instruct-libatomic_ops-we-do-require-CA.patch | 70 ---------------------
 ...-Link-with-LDLIBS-instead-of-LIBS-for-DED.patch | 42 +++++++++++++
 ...ts-emulator-reorder-inclued-headers-paths.patch | 43 -------------
 ...-Link-with-LDLIBS-instead-of-LIBS-for-DED.patch | 42 -------------
 package/erlang/erlang.hash                         |  5 +-
 package/erlang/erlang.mk                           | 22 ++++---
 9 files changed, 172 insertions(+), 179 deletions(-)
 delete mode 100644 package/erlang/0001-build-fix.patch
 create mode 100644 package/erlang/0001-erts-ethread-instruct-libatomic_ops-we-do-require-CA.patch
 create mode 100644 package/erlang/0002-erts-emulator-reorder-inclued-headers-paths.patch
 delete mode 100644 package/erlang/0002-erts-ethread-instruct-libatomic_ops-we-do-require-CA.patch
 create mode 100644 package/erlang/0003-Link-with-LDLIBS-instead-of-LIBS-for-DED.patch
 delete mode 100644 package/erlang/0003-erts-emulator-reorder-inclued-headers-paths.patch
 delete mode 100644 package/erlang/0004-Link-with-LDLIBS-instead-of-LIBS-for-DED.patch

diff --git a/package/erlang/0001-build-fix.patch b/package/erlang/0001-build-fix.patch
deleted file mode 100644
index ff821c9..0000000
--- a/package/erlang/0001-build-fix.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-apply-patches.sh deletes this file from the source directory.
-
---- erlang-R15B01.old/lib/tools/emacs/Makefile	2012-04-04
-+++ erlang-R15B01/lib/tools/emacs/Makefile	2012-04-04 15:55:16.978957307 +0100
-@@ -51,7 +51,7 @@
-
- ELC_FILES = $(EMACS_FILES:%=%.elc)
-
--TEST_FILES = test.erl.indented test.erl.orig
-+TEST_FILES = test.erl.indented
-
- # ----------------------------------------------------
- # Targets
diff --git a/package/erlang/0001-erts-ethread-instruct-libatomic_ops-we-do-require-CA.patch b/package/erlang/0001-erts-ethread-instruct-libatomic_ops-we-do-require-CA.patch
new file mode 100644
index 0000000..ccb1e84
--- /dev/null
+++ b/package/erlang/0001-erts-ethread-instruct-libatomic_ops-we-do-require-CA.patch
@@ -0,0 +1,71 @@
+From f6217a2d195359a1956c20d2600b59d61be8f848 Mon Sep 17 00:00:00 2001
+From: "Yann E. MORIN" <yann.morin.1998@free.fr>
+Date: Sun, 28 Dec 2014 23:39:40 +0100
+Subject: [PATCH] erts/ethread: instruct libatomic_ops we do require CAS
+
+We do require compare-and-swap (CAS), so we must instruct libatomic_ops
+to provide it, even if the architecture does not have instructions for
+it.
+
+For example, on ARM, LDREX is required for fast CAS. But LDREX is only
+available on ARMv6, so by default libatomic_ops will not have CAS for
+anything below, like ARMv5. But ARMv5 is always UP, so using an
+emulated CAS (that is signal-asyn-safe) is still possible (albeit much
+slower).
+
+Tell libatomic_ops to provide CAS, even if the hardware is not capable
+of it, by using emulated CAS, as per libatomic_ops dosc:
+    https://github.com/ivmai/libatomic_ops/blob/master/doc/README.txt#L28
+
+    If this is included after defining AO_REQUIRE_CAS, then the package
+    will make an attempt to emulate compare-and-swap in a way that (at
+    least on Linux) should still be async-signal-safe.
+
+Thanks go to Thomas for all this insight! :-)
+Thanks go to Frank for reporting the issue! :-)
+
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
+Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Cc: Frank Hunleth <fhunleth@troodon-software.com>
+---
+ erts/aclocal.m4                               | 4 +++-
+ erts/include/internal/libatomic_ops/ethread.h | 1 +
+ 2 files changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/erts/aclocal.m4 b/erts/aclocal.m4
+index 80bf236..56d9dee 100644
+--- a/erts/aclocal.m4
++++ b/erts/aclocal.m4
+@@ -1973,7 +1973,8 @@ case "$THR_LIB_NAME" in
+ 	    	    fi;;
+ 	    esac
+ 	    ethr_have_libatomic_ops=no
+-	    AC_TRY_LINK([#include "atomic_ops.h"],
++	    AC_TRY_LINK([#define AO_REQUIRE_CAS
++                    #include "atomic_ops.h"],
+ 	    	        [
+ 	    	    	    volatile AO_t x;
+ 	    	    	    AO_t y;
+@@ -2014,6 +2015,7 @@ case "$THR_LIB_NAME" in
+ 	        AC_CHECK_SIZEOF(AO_t, ,
+ 	    	    	        [
+ 	    	    	    	    #include <stdio.h>
++	    	    	    	    #define AO_REQUIRE_CAS
+ 	    	    	    	    #include "atomic_ops.h"
+ 	    	    	        ])
+ 	        AC_DEFINE_UNQUOTED(ETHR_SIZEOF_AO_T, $ac_cv_sizeof_AO_t, [Define to the size of AO_t if libatomic_ops is used])
+diff --git a/erts/include/internal/libatomic_ops/ethread.h b/erts/include/internal/libatomic_ops/ethread.h
+index 4adc31e..18cc22a 100644
+--- a/erts/include/internal/libatomic_ops/ethread.h
++++ b/erts/include/internal/libatomic_ops/ethread.h
+@@ -36,6 +36,7 @@
+ 
+ #define ETHR_NATIVE_IMPL__ "libatomic_ops"
+ 
++#define AO_REQUIRE_CAS
+ #include "atomic_ops.h"
+ #include "ethr_membar.h"
+ #include "ethr_atomic.h"
+-- 
+2.7.4
+
diff --git a/package/erlang/0002-erts-emulator-reorder-inclued-headers-paths.patch b/package/erlang/0002-erts-emulator-reorder-inclued-headers-paths.patch
new file mode 100644
index 0000000..182534d
--- /dev/null
+++ b/package/erlang/0002-erts-emulator-reorder-inclued-headers-paths.patch
@@ -0,0 +1,43 @@
+From 244d75e8277dc3d45e69987b29a2718df9591a53 Mon Sep 17 00:00:00 2001
+From: Romain Naour <romain.naour@openwide.fr>
+Date: Sun, 8 Feb 2015 17:23:13 +0100
+Subject: [PATCH] erts/emulator: reorder inclued headers paths
+
+If the Perl Compatible Regular Expressions is installed on the
+host and the path to the headers is added to the CFLAGS, the
+pcre.h from the host is used instead of the one provided by
+erlang.
+
+Erlang use an old version of this file which is incompatible
+with the upstream one.
+
+Move INCLUDES before CFLAGS to use pcre.h from erlang.
+
+http://autobuild.buildroot.net/results/cbd/cbd8b54eef535f19d7d400fd269af1b3571d6143/build-end.log
+
+Signed-off-by: Romain Naour <romain.naour@openwide.fr>
+---
+ erts/emulator/Makefile.in | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/erts/emulator/Makefile.in b/erts/emulator/Makefile.in
+index 1916b97..6f6a0d6 100644
+--- a/erts/emulator/Makefile.in
++++ b/erts/emulator/Makefile.in
+@@ -701,11 +701,11 @@ else
+ # Usually the same as the default rule, but certain platforms (e.g. win32) mix
+ # different compilers
+ $(OBJDIR)/beam_emu.o: beam/beam_emu.c
+-	$(V_EMU_CC) $(subst -O2, $(GEN_OPT_FLGS), $(CFLAGS)) $(INCLUDES) -c $< -o $@
++	$(V_EMU_CC) $(INCLUDES) $(subst -O2, $(GEN_OPT_FLGS), $(CFLAGS)) -c $< -o $@
+ endif
+ 
+ $(OBJDIR)/%.o: beam/%.c
+-	$(V_CC) $(subst -O2, $(GEN_OPT_FLGS), $(CFLAGS)) $(INCLUDES) -c $< -o $@
++	$(V_CC) $(INCLUDES) $(subst -O2, $(GEN_OPT_FLGS), $(CFLAGS)) -c $< -o $@
+ 
+ $(OBJDIR)/%.o: $(TARGET)/%.c
+ 	$(V_CC) $(CFLAGS) $(INCLUDES) -Idrivers/common -c $< -o $@
+-- 
+2.7.4
+
diff --git a/package/erlang/0002-erts-ethread-instruct-libatomic_ops-we-do-require-CA.patch b/package/erlang/0002-erts-ethread-instruct-libatomic_ops-we-do-require-CA.patch
deleted file mode 100644
index 8e40143..0000000
--- a/package/erlang/0002-erts-ethread-instruct-libatomic_ops-we-do-require-CA.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-From 439fa2eae78a8900bda120072335be19d626498c Mon Sep 17 00:00:00 2001
-From: "Yann E. MORIN" <yann.morin.1998@free.fr>
-Date: Sun, 28 Dec 2014 23:39:40 +0100
-Subject: [PATCH] erts/ethread: instruct libatomic_ops we do require CAS
-
-We do require compare-and-swap (CAS), so we must instruct libatomic_ops
-to provide it, even if the architecture does not have instructions for
-it.
-
-For example, on ARM, LDREX is required for fast CAS. But LDREX is only
-available on ARMv6, so by default libatomic_ops will not have CAS for
-anything below, like ARMv5. But ARMv5 is always UP, so using an
-emulated CAS (that is signal-asyn-safe) is still possible (albeit much
-slower).
-
-Tell libatomic_ops to provide CAS, even if the hardware is not capable
-of it, by using emulated CAS, as per libatomic_ops dosc:
-    https://github.com/ivmai/libatomic_ops/blob/master/doc/README.txt#L28
-
-    If this is included after defining AO_REQUIRE_CAS, then the package
-    will make an attempt to emulate compare-and-swap in a way that (at
-    least on Linux) should still be async-signal-safe.
-
-Thanks go to Thomas for all this insight! :-)
-Thanks go to Frank for reporting the issue! :-)
-
-Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
-Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-Cc: Frank Hunleth <fhunleth@troodon-software.com>
----
- erts/include/internal/libatomic_ops/ethread.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/erts/include/internal/libatomic_ops/ethread.h b/erts/include/internal/libatomic_ops/ethread.h
-index d65ee19..71d3598 100644
---- a/erts/include/internal/libatomic_ops/ethread.h
-+++ b/erts/include/internal/libatomic_ops/ethread.h
-@@ -35,6 +35,7 @@
- 
- #define ETHR_NATIVE_IMPL__ "libatomic_ops"
- 
-+#define AO_REQUIRE_CAS
- #include "atomic_ops.h"
- #include "ethr_membar.h"
- #include "ethr_atomic.h"
-diff --git a/erts/aclocal.m4 b/erts/aclocal.m4
-index d65ee19..71d3598 100644
---- a/erts/aclocal.m4
-+++ b/erts/aclocal.m4
-@@ -1414,7 +1414,8 @@
- 	    	    fi;;
- 	    esac
- 	    ethr_have_libatomic_ops=no
--	    AC_TRY_LINK([#include "atomic_ops.h"],
-+	    AC_TRY_LINK([#define AO_REQUIRE_CAS
-+                    #include "atomic_ops.h"],
- 	    	        [
- 	    	    	    volatile AO_t x;
- 	    	    	    AO_t y;
-@@ -1455,6 +1455,7 @@
- 	        AC_CHECK_SIZEOF(AO_t, ,
- 	    	    	        [
- 	    	    	    	    #include <stdio.h>
-+	    	    	    	    #define AO_REQUIRE_CAS
- 	    	    	    	    #include "atomic_ops.h"
- 	    	    	        ])
- 	        AC_DEFINE_UNQUOTED(ETHR_SIZEOF_AO_T, $ac_cv_sizeof_AO_t, [Define to the size of AO_t if libatomic_ops is used])
--- 
-1.9.1
-
diff --git a/package/erlang/0003-Link-with-LDLIBS-instead-of-LIBS-for-DED.patch b/package/erlang/0003-Link-with-LDLIBS-instead-of-LIBS-for-DED.patch
new file mode 100644
index 0000000..391b6eb
--- /dev/null
+++ b/package/erlang/0003-Link-with-LDLIBS-instead-of-LIBS-for-DED.patch
@@ -0,0 +1,42 @@
+From 7baac8804d9441c1bc5db1115eccd290c8b99eda Mon Sep 17 00:00:00 2001
+From: Johan Oudinet <johan.oudinet@gmail.com>
+Date: Wed, 6 Dec 2017 15:01:17 +0100
+Subject: [PATCH] Link with LDLIBS instead of LIBS for DED
+
+Fix ERL-529 by avoiding to link with libz for no reason.
+
+Signed-off-by: Johan Oudinet <johan.oudinet@gmail.com>
+---
+ lib/asn1/c_src/Makefile             | 2 +-
+ lib/runtime_tools/c_src/Makefile.in | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/lib/asn1/c_src/Makefile b/lib/asn1/c_src/Makefile
+index 1f714df..f7c6b8b 100644
+--- a/lib/asn1/c_src/Makefile
++++ b/lib/asn1/c_src/Makefile
+@@ -126,7 +126,7 @@ $(NIF_LIB_FILE): $(NIF_STATIC_OBJ_FILES)
+ 	$(V_RANLIB) $@
+ 
+ $(NIF_SHARED_OBJ_FILE): $(NIF_OBJ_FILES)
+-	$(V_LD) $(LDFLAGS) -o $(NIF_SHARED_OBJ_FILE) $(NIF_OBJ_FILES) $(CLIB_FLAGS) $(LIBS)
++	$(V_LD) $(LDFLAGS) -o $(NIF_SHARED_OBJ_FILE) $(NIF_OBJ_FILES) $(CLIB_FLAGS) $(LDLIBS)
+ 
+ # ----------------------------------------------------
+ # Release Target
+diff --git a/lib/runtime_tools/c_src/Makefile.in b/lib/runtime_tools/c_src/Makefile.in
+index 4530a83..4e13e0d 100644
+--- a/lib/runtime_tools/c_src/Makefile.in
++++ b/lib/runtime_tools/c_src/Makefile.in
+@@ -95,7 +95,7 @@ $(OBJDIR)/%$(TYPEMARKER).o: %.c dyntrace_lttng.h
+ 	$(V_CC) -c -o $@ $(ALL_CFLAGS) $<
+ 
+ $(LIBDIR)/%$(TYPEMARKER).@DED_EXT@: $(OBJDIR)/%$(TYPEMARKER).o
+-	$(V_LD) $(LDFLAGS) -o $@ $^ $(LIBS)
++	$(V_LD) $(LDFLAGS) -o $@ $^ $(LDLIBS)
+ 
+ clean:
+ 	rm -f $(TRACE_LIBS)
+-- 
+2.7.4
+
diff --git a/package/erlang/0003-erts-emulator-reorder-inclued-headers-paths.patch b/package/erlang/0003-erts-emulator-reorder-inclued-headers-paths.patch
deleted file mode 100644
index c17eefc..0000000
--- a/package/erlang/0003-erts-emulator-reorder-inclued-headers-paths.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 85a3e5b4f65e5284e59dcdd90e92ea7d50ef6907 Mon Sep 17 00:00:00 2001
-From: Romain Naour <romain.naour@openwide.fr>
-Date: Sun, 8 Feb 2015 17:23:13 +0100
-Subject: [PATCH] erts/emulator: reorder inclued headers paths
-
-If the Perl Compatible Regular Expressions is installed on the
-host and the path to the headers is added to the CFLAGS, the
-pcre.h from the host is used instead of the one provided by
-erlang.
-
-Erlang use an old version of this file which is incompatible
-with the upstream one.
-
-Move INCLUDES before CFLAGS to use pcre.h from erlang.
-
-http://autobuild.buildroot.net/results/cbd/cbd8b54eef535f19d7d400fd269af1b3571d6143/build-end.log
-
-Signed-off-by: Romain Naour <romain.naour@openwide.fr>
----
- erts/emulator/Makefile.in | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/erts/emulator/Makefile.in b/erts/emulator/Makefile.in
-index 7145824..d079487 100644
---- a/erts/emulator/Makefile.in
-+++ b/erts/emulator/Makefile.in
-@@ -678,11 +678,11 @@ else
- # Usually the same as the default rule, but certain platforms (e.g. win32) mix
- # different compilers
- $(OBJDIR)/beam_emu.o: beam/beam_emu.c
--	$(V_EMU_CC) $(subst -O2, $(GEN_OPT_FLGS), $(CFLAGS)) $(INCLUDES) -c $< -o $@
-+	$(V_EMU_CC) $(INCLUDES) $(subst -O2, $(GEN_OPT_FLGS), $(CFLAGS)) -c $< -o $@
- endif
- 
- $(OBJDIR)/%.o: beam/%.c
--	$(V_CC) $(subst -O2, $(GEN_OPT_FLGS), $(CFLAGS)) $(INCLUDES) -c $< -o $@
-+	$(V_CC) $(INCLUDES) $(subst -O2, $(GEN_OPT_FLGS), $(CFLAGS)) -c $< -o $@
- 
- $(OBJDIR)/%.o: $(TARGET)/%.c
- 	$(V_CC) $(CFLAGS) $(INCLUDES) -Idrivers/common -c $< -o $@
--- 
-1.9.3
-
diff --git a/package/erlang/0004-Link-with-LDLIBS-instead-of-LIBS-for-DED.patch b/package/erlang/0004-Link-with-LDLIBS-instead-of-LIBS-for-DED.patch
deleted file mode 100644
index ad0bb6b..0000000
--- a/package/erlang/0004-Link-with-LDLIBS-instead-of-LIBS-for-DED.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 011752ec7b31e3dde376270fc65c7ee70644f6e7 Mon Sep 17 00:00:00 2001
-From: Johan Oudinet <johan.oudinet@gmail.com>
-Date: Wed, 6 Dec 2017 15:01:17 +0100
-Subject: [PATCH] Link with LDLIBS instead of LIBS for DED
-
-Fix ERL-529 by avoiding to link with libz for no reason.
-
-Signed-off-by: Johan Oudinet <johan.oudinet@gmail.com>
----
- lib/asn1/c_src/Makefile             | 2 +-
- lib/runtime_tools/c_src/Makefile.in | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/lib/asn1/c_src/Makefile b/lib/asn1/c_src/Makefile
-index 1f714df357..f7c6b8b9bc 100644
---- a/lib/asn1/c_src/Makefile
-+++ b/lib/asn1/c_src/Makefile
-@@ -126,7 +126,7 @@ $(NIF_LIB_FILE): $(NIF_STATIC_OBJ_FILES)
- 	$(V_RANLIB) $@
- 
- $(NIF_SHARED_OBJ_FILE): $(NIF_OBJ_FILES)
--	$(V_LD) $(LDFLAGS) -o $(NIF_SHARED_OBJ_FILE) $(NIF_OBJ_FILES) $(CLIB_FLAGS) $(LIBS)
-+	$(V_LD) $(LDFLAGS) -o $(NIF_SHARED_OBJ_FILE) $(NIF_OBJ_FILES) $(CLIB_FLAGS) $(LDLIBS)
- 
- # ----------------------------------------------------
- # Release Target
-diff --git a/lib/runtime_tools/c_src/Makefile.in b/lib/runtime_tools/c_src/Makefile.in
-index 4530a83aee..4e13e0d789 100644
---- a/lib/runtime_tools/c_src/Makefile.in
-+++ b/lib/runtime_tools/c_src/Makefile.in
-@@ -95,7 +95,7 @@ $(OBJDIR)/%$(TYPEMARKER).o: %.c dyntrace_lttng.h
- 	$(V_CC) -c -o $@ $(ALL_CFLAGS) $<
- 
- $(LIBDIR)/%$(TYPEMARKER).@DED_EXT@: $(OBJDIR)/%$(TYPEMARKER).o
--	$(V_LD) $(LDFLAGS) -o $@ $^ $(LIBS)
-+	$(V_LD) $(LDFLAGS) -o $@ $^ $(LDLIBS)
- 
- clean:
- 	rm -f $(TRACE_LIBS)
--- 
-2.14.1
-
diff --git a/package/erlang/erlang.hash b/package/erlang/erlang.hash
index cf820ce..5c7b7be 100644
--- a/package/erlang/erlang.hash
+++ b/package/erlang/erlang.hash
@@ -1,3 +1,2 @@
-# md5 from http://www.erlang.org/download/MD5, sha256 locally computed
-md5     2faed2c3519353e6bc2501ed4d8e6ae7        otp_src_20.0.tar.gz
-sha256  fe80e1e14a2772901be717694bb30ac4e9a07eee0cc7a28988724cbd21476811        otp_src_20.0.tar.gz
+# sha256 locally computed
+sha256  2494df496943387dbdb895a8b6cf8c04807f6888ae1f7dab25290ad89dcf0eb2  OTP-20.3.6.tar.gz
diff --git a/package/erlang/erlang.mk b/package/erlang/erlang.mk
index 4b29969..f60839d 100644
--- a/package/erlang/erlang.mk
+++ b/package/erlang/erlang.mk
@@ -5,21 +5,18 @@
 ################################################################################
 
 # See note below when updating Erlang
-ERLANG_VERSION = 20.0
-ERLANG_SITE = http://www.erlang.org/download
-ERLANG_SOURCE = otp_src_$(ERLANG_VERSION).tar.gz
-ERLANG_DEPENDENCIES = host-erlang
+ERLANG_VERSION = 20.3.6
+ERLANG_SITE = https://github.com/erlang/otp/archive
+ERLANG_SOURCE = OTP-$(ERLANG_VERSION).tar.gz
+ERLANG_DEPENDENCIES = host-erlang host-autoconf
 
 ERLANG_LICENSE = Apache-2.0
 ERLANG_LICENSE_FILES = LICENSE.txt
 ERLANG_INSTALL_STAGING = YES
 
-# Patched erts/aclocal.m4
-ERLANG_AUTORECONF = YES
-
 # Whenever updating Erlang, this value should be updated as well, to the
 # value of EI_VSN in the file lib/erl_interface/vsn.mk
-ERLANG_EI_VSN = 3.10
+ERLANG_EI_VSN = 3.10.2
 
 # The configure checks for these functions fail incorrectly
 ERLANG_CONF_ENV = ac_cv_func_isnan=yes ac_cv_func_isinf=yes \
@@ -87,6 +84,12 @@ ifneq ($(BR2_PACKAGE_ERLANG_MEGACO),y)
 ERLANG_REMOVE_PACKAGES += megaco
 endif
 
+define ERLANG_RUN_OTP_BUILD
+	# otp_build runs autoconf and autoheader across several Erlang
+	# directories. Running autoreconf is insufficient.
+	ERL_TOP=$(@D) $(HOST_MAKE_ENV) $(@D)/otp_build autoconf
+endef
+
 define ERLANG_REMOVE_STAGING_UNUSED
 	# Remove intermediate build products that can get copied Erlang
 	# release tools.
@@ -128,8 +131,11 @@ define ERLANG_REMOVE_TARGET_UNUSED
 	find $(TARGET_DIR)/usr/lib/erlang -type d -empty -delete
 endef
 
+ERLANG_PRE_CONFIGURE_HOOKS += ERLANG_RUN_OTP_BUILD
 ERLANG_POST_INSTALL_STAGING_HOOKS += ERLANG_REMOVE_STAGING_UNUSED
 ERLANG_POST_INSTALL_TARGET_HOOKS += ERLANG_REMOVE_TARGET_UNUSED
 
+HOST_ERLANG_PRE_CONFIGURE_HOOKS += ERLANG_RUN_OTP_BUILD
+
 $(eval $(autotools-package))
 $(eval $(host-autotools-package))
-- 
2.7.4

