Add configure --enable-code-coverage option

* m4/ax_code_coverage.m4: New file.
* configure.ac: Use AX_CODE_COVERAGE.
* Makefile.am: Add @CODE_COVERAGE_RULES@.
(CODE_COVERAGE_LCOV_OPTIONS, CODE_COVERAGE_GENHTML_OPTIONS,
CODE_COVERAGE_IGNORE_PATTERN): New variables.
(strace_CPPFLAGS): Add $(CODE_COVERAGE_CPPFLAGS).
(strace_CFLAGS): Add $(CODE_COVERAGE_CFLAGS).
(strace_LDADD): Add $(CODE_COVERAGE_LDFLAGS).
* .gitignore: Add *.gcda and *.gcno.

Signed-off-by: Gabriel Laskar <gabriel@lse.epita.fr>
Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
diff --git a/Makefile.am b/Makefile.am
index bfd220d..8cbd2c4 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -216,6 +216,15 @@
 strace_LDADD += $(libunwind_LIBS)
 endif
 
+@CODE_COVERAGE_RULES@
+CODE_COVERAGE_LCOV_OPTIONS = \
+	$(CODE_COVERAGE_LCOV_OPTIONS_DEFAULT) --rc lcov_branch_coverage=1
+CODE_COVERAGE_GENHTML_OPTIONS = --rc lcov_branch_coverage=1
+CODE_COVERAGE_IGNORE_PATTERN = '/usr/include/*'
+strace_CPPFLAGS += $(CODE_COVERAGE_CPPFLAGS)
+strace_CFLAGS += $(CODE_COVERAGE_CFLAGS)
+strace_LDADD += $(CODE_COVERAGE_LDFLAGS)
+
 # Enable this to get link map generated
 #strace_LDFLAGS += -Wl,-Map=strace.mapfile