From e5124f4b131079668c7a99930596e6d247428834 Mon Sep 17 00:00:00 2001 From: serkus01 <7erkus@gmail.com> Date: Thu, 28 Jul 2022 15:32:23 +0900 Subject: [PATCH] fix erlang Makefile und MyBuild --- erlang/Makefile | 28 ++++++++++++++-------------- erlang/Mybuild | 5 +++-- erlang/include/embox_erlang_compat.h | 24 ++++++++++++++++++++++++ 3 files changed, 41 insertions(+), 16 deletions(-) create mode 100644 erlang/include/embox_erlang_compat.h diff --git a/erlang/Makefile b/erlang/Makefile index d12054b..bd7cc1b 100644 --- a/erlang/Makefile +++ b/erlang/Makefile @@ -5,38 +5,38 @@ HOMEPAGE="https://www.erlang.org/" PKG_SOURCES := https://github.com/erlang/otp/releases/download/OTP-25.0/otp_src_25.0.tar.gz PKG_MD5 := 3c4c9da083f2a6b89aa1766415339d0c + #PKG_PATCHES := pkg_patch.txt include $(EXTBLD_LIB) +ERLANG_CPPFLAGS = ${EMBOX_CPPFLAGS} +ERLANG_CPPFLAGS += -I$(abspath .)/include +ERLANG_CPPFLAGS += -include $(abspath .)/include/embox_erlang_compat.h + $(CONFIGURE) : export EMBOX_GCC_LINK=full; \ cd $(PKG_SOURCE_DIR) && ( \ - ./configure \ - --host=$(AUTOCONF_TARGET_TRIPLET) \ - --target=$(AUTOCONF_TARGET_TRIPLET) \ - --xcomp-conf \ - - CC=$(EMBOX_GCC) \ - ) - touch $@ - - #./configure --host=$(AUTOCONF_TARGET_TRIPLET) \ + ./configure --prefix=$(PKG_INSTALL_DIR) \ + --host=$(AUTOCONF_TARGET_TRIPLET) \ --target=$(AUTOCONF_TARGET_TRIPLET) \ + CPPFLAGS="$(ERLANG_CPPFLAGS)" \ -with-termcap=no \ -with-javac=no \ - + CC=$(EMBOX_GCC) \ + ) + touch $@ + $(BUILD) : cd $(PKG_SOURCE_DIR) && ( \ - make \ + $(MAKE) ERL_XCOMP_FORCE_DIFFERENT_OTP=yes MAKEFLAGS='$(EMBOX_IMPORTED_MAKEFLAGS)'; \ ) touch $@ -#MAKEFLAGS='$(EMBOX_IMPORTED_MAKEFLAGS)'; - $(INSTALL) : cd $(BUILD_DIR)/$(PKG_NAME)-$(PKG_VER) && ( \ $(MAKE) DESTDIR=$(PKG_INSTALL_DIR) install; \ mv $(PKG_INSTALL_DIR)/usr/local/bin/erl $(PKG_INSTALL_DIR)/erl; \ ) touch $@ + diff --git a/erlang/Mybuild b/erlang/Mybuild index 49601a6..d124004 100644 --- a/erlang/Mybuild +++ b/erlang/Mybuild @@ -6,12 +6,13 @@ package third_party.cmd @BuildArtifactPath(cppflags="-I$(abspath $(EXTERNAL_BUILD_DIR))/third_party/cmd/erlang/install/include") @Cmd(name = "erl", help = "erlang BEAM VM", - homepage = "https://www.erlang.org/", man = ''' NAME Erlang programming language runtime environment and libraries (OTP) ''') module erl{ - + depends embox.compat.posix.proc.sigwait_stub + depends embox.compat.posix.pthread_stack_stub + depends embox.compat.posix.pthread_scope_stub } diff --git a/erlang/include/embox_erlang_compat.h b/erlang/include/embox_erlang_compat.h new file mode 100644 index 0000000..5b827d6 --- /dev/null +++ b/erlang/include/embox_erlang_compat.h @@ -0,0 +1,24 @@ +/** + * @file + * + * @date Jul 18, 2022 + * @author Anton Bondarev + */ + +#ifndef EXT_PROJECT_ERLANG_INCLUDE_EMBOX_ERLANG_COMPAT_H_ +#define EXT_PROJECT_ERLANG_INCLUDE_EMBOX_ERLANG_COMPAT_H_ + +#define THREAD_SCOPE_PROCESS 1 +#define THREAD_SCOPE_SYSTEM 2 + +#include + +extern +int pthread_attr_setstacksize(pthread_attr_t *attr, size_t stacksize); + +extern +int pthread_attr_setscope(pthread_attr_t *, int); + + + +#endif /* EXT_PROJECT_ERLANG_INCLUDE_EMBOX_ERLANG_COMPAT_H_ */