Browse Source

Remove support for HiPE and ErlLLVM

Loïc Hoguin 2 years ago
parent
commit
12f04adbac
4 changed files with 7 additions and 50 deletions
  1. 2 0
      CHANGELOG.asciidoc
  2. 1 24
      core/kerl.mk
  3. 1 10
      doc/src/guide/ci.asciidoc
  4. 3 16
      plugins/ci.mk

+ 2 - 0
CHANGELOG.asciidoc

@@ -47,3 +47,5 @@
 2023/05/15: Experimental support for caching git and
 2023/05/15: Experimental support for caching git and
             hex dependencies has been added. Set
             hex dependencies has been added. Set
             `CACHE_DEPS=1` to enable.
             `CACHE_DEPS=1` to enable.
+
+2023/05/16: Remove support for HiPE and ErlLLVM.

+ 1 - 24
core/kerl.mk

@@ -28,15 +28,6 @@ $(KERL_INSTALL_DIR)/$(1): $(KERL)
 	fi
 	fi
 endef
 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): $(KERL_DIR)
 
 
 $(KERL_DIR): | $(ERLANG_MK_TMP)
 $(KERL_DIR): | $(ERLANG_MK_TMP)
@@ -59,10 +50,10 @@ ERLANG_OTP := $(notdir $(lastword $(sort\
 endif
 endif
 
 
 ERLANG_OTP ?=
 ERLANG_OTP ?=
-ERLANG_HIPE ?=
 
 
 # Use kerl to enforce a specific Erlang/OTP version for a project.
 # Use kerl to enforce a specific Erlang/OTP version for a project.
 ifneq ($(strip $(ERLANG_OTP)),)
 ifneq ($(strip $(ERLANG_OTP)),)
+
 export PATH := $(KERL_INSTALL_DIR)/$(ERLANG_OTP)/bin:$(PATH)
 export PATH := $(KERL_INSTALL_DIR)/$(ERLANG_OTP)/bin:$(PATH)
 SHELL := env PATH=$(PATH) $(SHELL)
 SHELL := env PATH=$(PATH) $(SHELL)
 $(eval $(call kerl_otp_target,$(ERLANG_OTP)))
 $(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)
 $(shell $(MAKE) $(KERL_INSTALL_DIR)/$(ERLANG_OTP) ERLANG_OTP=$(ERLANG_OTP) BUILD_ERLANG_OTP=1 >&2)
 endif
 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
 endif

+ 1 - 10
doc/src/guide/ci.asciidoc

@@ -10,9 +10,7 @@ section of the xref:kerl[OTP version management] chapter.)
 === Configuring Erlang/OTP versions to test
 === Configuring Erlang/OTP versions to test
 
 
 To use the CI plugin you must first configure which versions
 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
 At the time of writing, this is how you would test against all
 the most recent patch releases of Erlang/OTP 19 and above:
 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]
 [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
 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
 Consult the xref:kerl[OTP version management] chapter for more
 information about Erlang/OTP versions and customization of the
 information about Erlang/OTP versions and customization of the
 Erlang/OTP builds.
 Erlang/OTP builds.

+ 3 - 16
plugins/ci.mk

@@ -4,24 +4,14 @@
 .PHONY: ci ci-prepare ci-setup
 .PHONY: ci ci-prepare ci-setup
 
 
 CI_OTP ?=
 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::
 ci::
 else
 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::
 ci-setup::
 	$(verbose) :
 	$(verbose) :
@@ -45,11 +35,8 @@ ci-$1: $(KERL_INSTALL_DIR)/$2
 endef
 endef
 
 
 $(foreach otp,$(CI_OTP),$(eval $(call ci_target,$(otp),$(otp),otp)))
 $(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_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::
 help::
 	$(verbose) printf "%s\n" "" \
 	$(verbose) printf "%s\n" "" \