From 12f04adbac2efff7e3f46d3d4840fe293a4a1f5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= Date: Tue, 16 May 2023 10:46:58 +0200 Subject: Remove support for HiPE and ErlLLVM --- CHANGELOG.asciidoc | 2 ++ core/kerl.mk | 25 +------------------------ doc/src/guide/ci.asciidoc | 11 +---------- plugins/ci.mk | 19 +++---------------- 4 files changed, 7 insertions(+), 50 deletions(-) diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc index 45fcc19..6a38a21 100644 --- a/CHANGELOG.asciidoc +++ b/CHANGELOG.asciidoc @@ -47,3 +47,5 @@ 2023/05/15: Experimental support for caching git and hex dependencies has been added. Set `CACHE_DEPS=1` to enable. + +2023/05/16: Remove support for HiPE and ErlLLVM. diff --git a/core/kerl.mk b/core/kerl.mk index eec0712..f6995e9 100644 --- a/core/kerl.mk +++ b/core/kerl.mk @@ -28,15 +28,6 @@ $(KERL_INSTALL_DIR)/$(1): $(KERL) fi endef -define kerl_hipe_target -$(KERL_INSTALL_DIR)/$1-native: $(KERL) - $(verbose) if [ ! -d $$@ ]; then \ - KERL_CONFIGURE_OPTIONS=--enable-native-libs \ - MAKEFLAGS="$(KERL_MAKEFLAGS)" $(KERL) build git $(OTP_GIT) $1 $1-native; \ - $(KERL) install $1-native $(KERL_INSTALL_DIR)/$1-native; \ - fi -endef - $(KERL): $(KERL_DIR) $(KERL_DIR): | $(ERLANG_MK_TMP) @@ -59,10 +50,10 @@ ERLANG_OTP := $(notdir $(lastword $(sort\ endif ERLANG_OTP ?= -ERLANG_HIPE ?= # Use kerl to enforce a specific Erlang/OTP version for a project. ifneq ($(strip $(ERLANG_OTP)),) + export PATH := $(KERL_INSTALL_DIR)/$(ERLANG_OTP)/bin:$(PATH) SHELL := env PATH=$(PATH) $(SHELL) $(eval $(call kerl_otp_target,$(ERLANG_OTP))) @@ -73,18 +64,4 @@ $(info Building Erlang/OTP $(ERLANG_OTP)... Please wait...) $(shell $(MAKE) $(KERL_INSTALL_DIR)/$(ERLANG_OTP) ERLANG_OTP=$(ERLANG_OTP) BUILD_ERLANG_OTP=1 >&2) endif -else -# Same for a HiPE enabled VM. -ifneq ($(strip $(ERLANG_HIPE)),) -export PATH := $(KERL_INSTALL_DIR)/$(ERLANG_HIPE)-native/bin:$(PATH) -SHELL := env PATH=$(PATH) $(SHELL) -$(eval $(call kerl_hipe_target,$(ERLANG_HIPE))) - -# Build Erlang/OTP only if it doesn't already exist. -ifeq ($(wildcard $(KERL_INSTALL_DIR)/$(ERLANG_HIPE)-native)$(BUILD_ERLANG_OTP),) -$(info Building HiPE-enabled Erlang/OTP $(ERLANG_OTP)... Please wait...) -$(shell $(MAKE) $(KERL_INSTALL_DIR)/$(ERLANG_HIPE)-native ERLANG_HIPE=$(ERLANG_HIPE) BUILD_ERLANG_OTP=1 >&2) -endif - -endif endif diff --git a/doc/src/guide/ci.asciidoc b/doc/src/guide/ci.asciidoc index 2b69e28..2fa5feb 100644 --- a/doc/src/guide/ci.asciidoc +++ b/doc/src/guide/ci.asciidoc @@ -10,9 +10,7 @@ section of the xref:kerl[OTP version management] chapter.) === Configuring Erlang/OTP versions to test To use the CI plugin you must first configure which versions -of Erlang/OTP will be used. Erlang.mk provides three separate -configuration variables depending on whether you need a normal -OTP release, a HiPE-enabled release or an ErLLVM-enabled release. +of Erlang/OTP will be used. At the time of writing, this is how you would test against all the most recent patch releases of Erlang/OTP 19 and above: @@ -20,13 +18,6 @@ the most recent patch releases of Erlang/OTP 19 and above: [source,make] CI_OTP = OTP-19.0.7 OTP-19.1.6 OTP-19.2.3 OTP-19.3.6.2 OTP-20.0.4 -If you want to test against HiPE and ErLLVM but only with the -latest version of Erlang/OTP, the following could work: - -[source,make] -CI_HIPE = $(lastword $(CI_OTP)) -CI_ERLLVM = $(CI_HIPE) - Consult the xref:kerl[OTP version management] chapter for more information about Erlang/OTP versions and customization of the Erlang/OTP builds. diff --git a/plugins/ci.mk b/plugins/ci.mk index 4b902be..9738f07 100644 --- a/plugins/ci.mk +++ b/plugins/ci.mk @@ -4,24 +4,14 @@ .PHONY: ci ci-prepare ci-setup CI_OTP ?= -CI_HIPE ?= -CI_ERLLVM ?= - -ifeq ($(CI_VM),native) -ERLC_OPTS += +native -TEST_ERLC_OPTS += +native -else ifeq ($(CI_VM),erllvm) -ERLC_OPTS += +native +'{hipe, [to_llvm]}' -TEST_ERLC_OPTS += +native +'{hipe, [to_llvm]}' -endif -ifeq ($(strip $(CI_OTP) $(CI_HIPE) $(CI_ERLLVM)),) +ifeq ($(strip $(CI_OTP)),) ci:: else -ci:: $(addprefix ci-,$(CI_OTP) $(addsuffix -native,$(CI_HIPE)) $(addsuffix -erllvm,$(CI_ERLLVM))) +ci:: $(addprefix ci-,$(CI_OTP)) -ci-prepare: $(addprefix $(KERL_INSTALL_DIR)/,$(CI_OTP) $(addsuffix -native,$(CI_HIPE))) +ci-prepare: $(addprefix $(KERL_INSTALL_DIR)/,$(CI_OTP)) ci-setup:: $(verbose) : @@ -45,11 +35,8 @@ ci-$1: $(KERL_INSTALL_DIR)/$2 endef $(foreach otp,$(CI_OTP),$(eval $(call ci_target,$(otp),$(otp),otp))) -$(foreach otp,$(CI_HIPE),$(eval $(call ci_target,$(otp)-native,$(otp)-native,native))) -$(foreach otp,$(CI_ERLLVM),$(eval $(call ci_target,$(otp)-erllvm,$(otp)-native,erllvm))) $(foreach otp,$(filter-out $(ERLANG_OTP),$(CI_OTP)),$(eval $(call kerl_otp_target,$(otp)))) -$(foreach otp,$(filter-out $(ERLANG_HIPE),$(sort $(CI_HIPE) $(CI_ERLLLVM))),$(eval $(call kerl_hipe_target,$(otp)))) help:: $(verbose) printf "%s\n" "" \ -- cgit v1.2.3