summaryrefslogtreecommitdiff
path: root/m4/ax_valgrind_check.m4
diff options
context:
space:
mode:
authorOlaf Mandel <olaf@mandel.name>2016-03-29 12:15:33 +0200
committerOlaf Mandel <olaf@mandel.name>2016-03-29 12:19:45 +0200
commitfcb633617b1a49ba9128fec0f798ace969b31e6d (patch)
treece55af011338d8b492c8114724b1977f03bfe048 /m4/ax_valgrind_check.m4
parent668191ff6e91fb91811afbdfcba1877137d3b064 (diff)
downloadautoconf-archive-fcb633617b1a49ba9128fec0f798ace969b31e6d.tar.gz
AX_VALGRIND_CHECK: refactor new tool-rules
The addition of individual rules for each individual valgrind-tool caused some copy&paste codeing: refactor that as a GNU make canned recipe. Also fix up the .PHONY rules. Breaking change: removes the undocumented internal rule check-valgrind-tool.
Diffstat (limited to 'm4/ax_valgrind_check.m4')
-rw-r--r--m4/ax_valgrind_check.m467
1 files changed, 15 insertions, 52 deletions
diff --git a/m4/ax_valgrind_check.m4 b/m4/ax_valgrind_check.m4
index 2dd8f71..d0a2d7d 100644
--- a/m4/ax_valgrind_check.m4
+++ b/m4/ax_valgrind_check.m4
@@ -59,7 +59,7 @@
# and this notice are preserved. This file is offered as-is, without any
# warranty.
-#serial 9
+#serial 10
AC_DEFUN([AX_VALGRIND_CHECK],[
dnl Check for --enable-valgrind
@@ -146,7 +146,7 @@ check-valgrind:
ifeq ($(VALGRIND_ENABLED),yes)
-$(foreach tool,$(valgrind_tools), \
$(if $(VALGRIND_HAVE_TOOL_$(tool))$(VALGRIND_HAVE_TOOL_exp_$(tool)), \
- $(MAKE) $(AM_MAKEFLAGS) -k check-valgrind-tool VALGRIND_TOOL=$(tool); \
+ $(MAKE) $(AM_MAKEFLAGS) -k check-valgrind-$(tool); \
) \
)
else
@@ -164,60 +164,23 @@ VALGRIND_LOG_COMPILER = \
$(valgrind_lt) \
$(VALGRIND) $(VALGRIND_SUPPRESSIONS) --error-exitcode=1 $(VALGRIND_FLAGS)
-check-valgrind-tool:
ifeq ($(VALGRIND_ENABLED),yes)
- $(MAKE) check-TESTS \
- TESTS_ENVIRONMENT="$(VALGRIND_TESTS_ENVIRONMENT)" \
- LOG_COMPILER="$(VALGRIND_LOG_COMPILER)" \
- LOG_FLAGS="$(valgrind_$(VALGRIND_TOOL)_flags)" \
- TEST_SUITE_LOG=test-suite-$(VALGRIND_TOOL).log
+define valgrind_tool_rule =
+check-valgrind-$(1):
+ $$(MAKE) check-TESTS \
+ TESTS_ENVIRONMENT="$$(VALGRIND_TESTS_ENVIRONMENT)" \
+ LOG_COMPILER="$$(VALGRIND_LOG_COMPILER)" \
+ LOG_FLAGS="$$(valgrind_$(1)_flags)" \
+ TEST_SUITE_LOG=test-suite-$(1).log
+endef
else
+define valgrind_tool_rule =
+check-valgrind-$(1):
@echo "Need to reconfigure with --enable-valgrind"
+endef
endif
-check-valgrind-memcheck:
-ifeq ($(VALGRIND_ENABLED),yes)
- $(MAKE) check-TESTS \
- TESTS_ENVIRONMENT="$(VALGRIND_TESTS_ENVIRONMENT)" \
- LOG_COMPILER="$(VALGRIND_LOG_COMPILER)" \
- LOG_FLAGS="$(valgrind_memcheck_flags)" \
- TEST_SUITE_LOG=test-suite-memcheck.log
-else
- @echo "Need to reconfigure with --enable-valgrind"
-endif
-
-check-valgrind-helgrind:
-ifeq ($(VALGRIND_ENABLED),yes)
- $(MAKE) check-TESTS \
- TESTS_ENVIRONMENT="$(VALGRIND_TESTS_ENVIRONMENT)" \
- LOG_COMPILER="$(VALGRIND_LOG_COMPILER)" \
- LOG_FLAGS="$(valgrind_helgrind_flags)" \
- TEST_SUITE_LOG=test-suite-helgrind.log
-else
- @echo "Need to reconfigure with --enable-valgrind"
-endif
-
-check-valgrind-drd:
-ifeq ($(VALGRIND_ENABLED),yes)
- $(MAKE) check-TESTS \
- TESTS_ENVIRONMENT="$(VALGRIND_TESTS_ENVIRONMENT)" \
- LOG_COMPILER="$(VALGRIND_LOG_COMPILER)" \
- LOG_FLAGS="$(valgrind_drd_flags)" \
- TEST_SUITE_LOG=test-suite-drd.log
-else
- @echo "Need to reconfigure with --enable-valgrind"
-endif
-
-check-valgrind-sgcheck:
-ifeq ($(VALGRIND_ENABLED),yes)
- $(MAKE) check-TESTS \
- TESTS_ENVIRONMENT="$(VALGRIND_TESTS_ENVIRONMENT)" \
- LOG_COMPILER="$(VALGRIND_LOG_COMPILER)" \
- LOG_FLAGS="$(valgrind_sgcheck_flags)" \
- TEST_SUITE_LOG=test-suite-sgcheck.log
-else
- @echo "Need to reconfigure with --enable-valgrind"
-endif
+$(foreach tool,$(valgrind_tools),$(eval $(call valgrind_tool_rule,$(tool))))
A''M_DISTCHECK_CONFIGURE_FLAGS ?=
A''M_DISTCHECK_CONFIGURE_FLAGS += --disable-valgrind
@@ -225,7 +188,7 @@ A''M_DISTCHECK_CONFIGURE_FLAGS += --disable-valgrind
MOSTLYCLEANFILES ?=
MOSTLYCLEANFILES += $(valgrind_log_files)
-.PHONY: check-valgrind check-valgrind-tool
+.PHONY: check-valgrind $(add-prefix check-valgrind-,$(valgrind_tools))
']
AC_SUBST([VALGRIND_CHECK_RULES])