summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorJean-Sébastien Pédron <jean-sebastien.pedron@dumbbell.fr>2015-08-13 14:41:11 +0200
committerJean-Sébastien Pédron <jean-sebastien.pedron@dumbbell.fr>2015-08-13 14:41:11 +0200
commit72853aaf40e30dd586c15cd618f5c295b12d7938 (patch)
tree045bbdba3596660de30dfc953e829a635bd6ae95 /Makefile
parentdbddebdaced58b9b9484792d581fd6fcab1085c4 (diff)
parent1d0e1988bdf09294033a2758c0e33de9632f5860 (diff)
downloadrabbitmq-server-git-72853aaf40e30dd586c15cd618f5c295b12d7938.tar.gz
Merge branch 'stable'
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile16
1 files changed, 9 insertions, 7 deletions
diff --git a/Makefile b/Makefile
index 8c8080b90d..053d527164 100644
--- a/Makefile
+++ b/Makefile
@@ -29,21 +29,23 @@ USAGES_ERL=$(foreach XML, $(USAGES_XML), $(call usage_xml_to_erl, $(XML)))
BASIC_PLT=basic.plt
RABBIT_PLT=rabbit.plt
-ifndef USE_SPECS
-# our type specs rely on dict:dict/0 etc, which are only available in 17.0
-# upwards.
-USE_SPECS:=$(shell erl -noshell -eval 'io:format([list_to_integer(X) || X <- string:tokens(erlang:system_info(version), ".")] >= [5,11]), halt().')
-endif
-
ifndef USE_PROPER_QC
# PropEr needs to be installed for property checking
# http://proper.softlab.ntua.gr/
-USE_PROPER_QC:=$(shell erl -noshell -eval 'io:format({module, proper} =:= code:ensure_loaded(proper)), halt().')
+USE_PROPER_QC=$(shell erl -noshell -eval 'io:format({module, proper} =:= code:ensure_loaded(proper)), halt().')
endif
#other args: +native +"{hipe,[o3,verbose]}" -Ddebug=true +debug_info +no_strict_record_tests
ERLC_OPTS=-I $(INCLUDE_DIR) -Wall +warn_export_vars -v +debug_info $(call boolean_macro,$(USE_SPECS),use_specs) $(call boolean_macro,$(USE_PROPER_QC),use_proper_qc)
+# Our type specs rely on dict:dict/0 etc, which are only available in
+# 17.0 upwards.
+ERTS_VER = $(shell erl -version 2>&1 | sed -E 's/.* version //')
+USE_SPECS_MIN_ERTS_VER = 5.11
+ifeq ($(shell printf "$(ERTS_VER)\n$(USE_SPECS_MIN_ERTS_VER)\n" | sort -V | head -n 1),$(USE_SPECS_MIN_ERTS_VER))
+ERLC_OPTS += -Duse_specs
+endif
+
ifdef INSTRUMENT_FOR_QC
ERLC_OPTS += -DINSTR_MOD=gm_qc
else