Check-in [a504db632f]
Overview
Comment:Enable support for code coverage reporting
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: a504db632f07904748cf6997f76fabecee1613a73046c5e63b91ed4634887a67
User & Date: rkeene on 2018-09-15 16:09:16
Other Links: manifest | tags
Context
2018-09-15
16:09
Test generating a seed check-in: c754eba9a7 user: rkeene tags: trunk
16:09
Enable support for code coverage reporting check-in: a504db632f user: rkeene tags: trunk
2018-08-26
14:57
Fixed typo check-in: bc159a939f user: rkeene tags: trunk
Changes

Modified Makefile.in from [e45c3a9b2a] to [705a260c81].

62
63
64
65
66
67
68









69
70
71
72
73
74
75
76
77
78

79



80
81
82
83
84
85

86
87
88
89
90
91
92
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86

87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105







+
+
+
+
+
+
+
+
+









-
+

+
+
+






+







	od -A n -v -t xC < '@srcdir@/nano.tcl' > nano.tcl.h.new.1
	sed 's@  *@@g;s@..@0x&, @g' < nano.tcl.h.new.1 > nano.tcl.h.new.2
	rm -f nano.tcl.h.new.1
	mv nano.tcl.h.new.2 nano.tcl.h

test: @EXTENSION_TARGET@ pkgIndex.tcl
	@srcdir@/test/test.tcl .

ifeq (@ENABLE_COVERAGE@,true)
coverage.dir: test
	rm -f nano-coverage.info
	lcov --capture --directory . --output-file nano-coverage.info
	mkdir coverage.dir
	genhtml nano-coverage.info --output-directory coverage.dir
	rm -f nano-coverage.info
endif

install: @EXTENSION_TARGET@ pkgIndex.tcl @srcdir@/nano.man
	$(INSTALL) -d '$(DESTDIR)$(PACKAGE_INSTALL_DIR)'
	$(INSTALL_PROGRAM) @EXTENSION_TARGET@ '$(DESTDIR)$(PACKAGE_INSTALL_DIR)'
	$(INSTALL_DATA)    pkgIndex.tcl '$(DESTDIR)$(PACKAGE_INSTALL_DIR)'
	$(INSTALL_DATA)    @srcdir@/nano.man '$(DESTDIR)$(PACKAGE_INSTALL_DIR)'
 
clean:
	rm -f nano-amalgamation.c nano-amalgamation.o
	rm -f @EXTENSION_TARGET@ nano.o
	rm -f @EXTENSION_TARGET@ nano.o nano.gcda nano.gcno
	rm -f blake2b.o tweetnacl.o randombytes.o
	rm -f blake2b.gcda tweetnacl.gcda randombytes.gcda
	rm -f blake2b.gcno tweetnacl.gcno randombytes.gcno
	rm -f nano-coverage.info

distclean: clean
	rm -f Makefile pkgIndex.tcl-shared pkgIndex.tcl-static nano.syms
	rm -f pkgIndex.tcl
	rm -f config.log config.status
	rm -f nano.tcl.h nano.tcl.h.new.1 nano.tcl.h.new.2
	rm -rf coverage.dir

mrproper: distclean
	rm -f @srcdir@/configure @srcdir@/aclocal.m4 @srcdir@/config.guess @srcdir@/config.sub @srcdir@/install-sh
	rm -f @srcdir@/nano.vers
	rm -rf @srcdir@/tweetnacl @srcdir@/blake2b
	$(MAKE) -C @srcdir@/build/tweetnacl distclean
	$(MAKE) -C @srcdir@/build/blake2b distclean

Modified configure.ac from [d44ea11c0b] to [4da108b9e1].

33
34
35
36
37
38
39











40
41
42
43
44
45
46
47
48
49
50
51










52
53
54
55
56
57
58
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79







+
+
+
+
+
+
+
+
+
+
+












+
+
+
+
+
+
+
+
+
+







dnl Enable support for a debugging build
tcl_nano_debug='false'
AC_ARG_ENABLE([debug], AS_HELP_STRING([--enable-debug], [enable debugging parameters]), [
	if test "$enableval" = "yes"; then
		tcl_nano_debug='true'
	fi
])

dnl Enable support for a code coverage build
tcl_nano_coverage='false'
AC_ARG_ENABLE([coverage], AS_HELP_STRING([--enable-coverage], [enable code coverage build (requires debug)]), [
	if test "$enableval" = "yes"; then
		tcl_nano_coverage='true'
		tcl_nano_debug='true'
	fi
])

dnl If we are building a debug release, enable debugging flags
if test "$tcl_nano_debug" = 'true'; then
	AC_DEFINE(TCLEXT_TCL_NANO_DEBUG, [1], [Enable debugging build])
	AX_CHECK_COMPILE_FLAG([-mmpx -fcheck-pointer-bounds], [CFLAGS="$CFLAGS -mmpx -fcheck-pointer-bounds"])
	AX_CHECK_COMPILE_FLAG([-g3], [CFLAGS="$CFLAGS -g3"])
	AX_CHECK_COMPILE_FLAG([-ggdb3], [CFLAGS="$CFLAGS -ggdb3"])
else
	dnl If we are not doing debugging disable some of the more annoying warnings
	AX_CHECK_COMPILE_FLAG([-Wno-unused-value], [CFLAGS="$CFLAGS -Wno-unused-value"])
	AX_CHECK_COMPILE_FLAG([-Wno-unused-parameter], [CFLAGS="$CFLAGS -Wno-unused-parameter"])
	AX_CHECK_COMPILE_FLAG([-Wno-deprecated-declarations], [CFLAGS="$CFLAGS -Wno-deprecated-declarations"])
fi
AX_CHECK_COMPILE_FLAG([-Wno-sign-compare], [CFLAGS="$CFLAGS -Wno-sign-compare"])

dnl If enabled, do code coverage
if test "$tcl_nano_coverage" = 'true'; then
	ENABLE_COVERAGE='true'
	AC_SUBST(ENABLE_COVERAGE)
	AX_CHECK_COMPILE_FLAG([-coverage], [
		CFLAGS="$CFLAGS -coverage"
		LDFLAGS="$LDFLAGS -coverage"
	])
fi

dnl Enable compiler warnings
AX_CHECK_COMPILE_FLAG([-Wall], [CFLAGS="-Wall $CFLAGS"])
AX_CHECK_COMPILE_FLAG([-W], [
	CFLAGS="-W $CFLAGS"
	AX_CHECK_COMPILE_FLAG([-Wno-self-assign], [CFLAGS="$CFLAGS -Wno-self-assign"])
	AX_CHECK_COMPILE_FLAG([-Wno-tautological-constant-out-of-range-compare], [CFLAGS="$CFLAGS -Wno-tautological-constant-out-of-range-compare"])