1AC_DEFUN([AC_CHECK_ENABLE_COVERAGE],
2[
3  AC_ARG_ENABLE([coverage],
4                AS_HELP_STRING([--enable-coverage],
5                               [Enable coverage]),
6                [cutter_enable_coverage=$enableval],
7                [cutter_enable_coverage=no])
8  AC_CACHE_VAL([ac_cv_enable_coverage],
9               [
10                 if test "x$cutter_enable_coverage" = "xno" -o \
11                         "x$GCC" != "xyes"; then
12                   ac_cv_enable_coverage=no
13                 fi
14
15                 if test "x$ac_cv_enable_coverage" != "xno"; then
16                   ltp_version_list="1.6 1.7 1.8"
17                   AC_PATH_TOOL(LCOV, lcov)
18                   AC_PATH_TOOL(GENHTML, genhtml)
19
20                   if test -x "$LCOV"; then
21                     AC_CACHE_CHECK([for ltp version], cutter_cv_ltp_version, [
22                       ltp_version=`$LCOV -v 2>/dev/null | $SED -e 's/^.* //'`
23                       cutter_cv_ltp_version="$ltp_version (NG)"
24                       for ltp_check_version in $ltp_version_list; do
25                         if test "$ltp_version" = "$ltp_check_version"; then
26                           cutter_cv_ltp_version="$ltp_check_version (ok)"
27                         fi
28                       done
29                     ])
30                   fi
31
32                   case "$cutter_cv_ltp_version" in
33                     *\(ok\)*)
34                       ac_cv_enable_coverage=yes
35                       ;;
36                     *)
37                       ac_cv_enable_coverage=no
38                       ;;
39                   esac
40                 fi
41               ])
42  AC_MSG_CHECKING([for enabling coverage])
43  AC_MSG_RESULT($ac_cv_enable_coverage)
44])
45
46AC_DEFUN([AC_CHECK_COVERAGE],
47[
48  dnl **************************************************************
49  dnl Configure for coverage.
50  dnl **************************************************************
51  AC_CHECK_ENABLE_COVERAGE
52
53  COVERAGE_CFLAGS=
54  if test "x$ac_cv_enable_coverage" = "xyes"; then
55    COVERAGE_CFLAGS="--coverage"
56  fi
57  AC_SUBST(COVERAGE_CFLAGS)
58  AM_CONDITIONAL([ENABLE_COVERAGE], [test "x$ac_cv_enable_coverage" = "xyes"])
59
60  COVERAGE_INFO_FILE="coverage.info"
61  AC_SUBST(COVERAGE_INFO_FILE)
62
63  COVERAGE_REPORT_DIR="coverage"
64  AC_SUBST(COVERAGE_REPORT_DIR)
65
66  if test "$GENHTML_OPTIONS" = ""; then
67    GENHTML_OPTIONS=""
68  fi
69  AC_SUBST(GENHTML_OPTIONS)
70
71  if test "x$ac_cv_enable_coverage" = "xyes"; then
72    AC_CONFIG_COMMANDS([coverage], [
73      if grep '^coverage:' Makefile > /dev/null; then
74        : # do nothing
75      else
76        cat >>Makefile <<EOS
77
78coverage-clean:
79        \$(LCOV) --compat-libtool --zerocounters --directory . \\
80          --output-file \$(COVERAGE_INFO_FILE)
81
82coverage: coverage-clean check
83        \$(LCOV) --compat-libtool --directory . \\
84          --capture --output-file \$(COVERAGE_INFO_FILE)
85        \$(LCOV) --compat-libtool --directory . \\
86          --extract \$(COVERAGE_INFO_FILE) "\`(cd '\$(top_srcdir)'; pwd)\`/*" \\
87          --output-file \$(COVERAGE_INFO_FILE)
88        \$(GENHTML) --highlight --legend \\
89          --output-directory \$(COVERAGE_REPORT_DIR) \\
90          --prefix "\`(cd '\$(top_srcdir)'; pwd)\`" \\
91          \$(GENHTML_OPTIONS) \$(COVERAGE_INFO_FILE)
92EOS
93      fi
94    ])
95  fi
96])
97
98AC_DEFUN([AC_CHECK_CUTTER],
99[
100  AC_ARG_WITH([cutter],
101              AS_HELP_STRING([--with-cutter],
102                             [Use Cutter (default: auto)]),
103              [ac_cv_with_cutter=$withval],
104              [ac_cv_with_cutter=auto])
105  AC_CACHE_CHECK([whether to use Cutter],
106                 [ac_cv_with_cutter],
107                 [ac_cv_with_cutter=auto])
108  AC_CACHE_VAL([ac_cv_use_cutter],
109               [ac_cv_use_cutter=$ac_cv_with_cutter
110                if test "$ac_cv_use_cutter" != "no"; then
111                  PKG_CHECK_MODULES(CUTTER, cutter $1,
112                                    [], [ac_cv_use_cutter=no])
113                fi
114
115                if test "$ac_cv_use_cutter" != "no"; then
116                  _PKG_CONFIG(CUTTER, variable=cutter, cutter)
117                  CUTTER=$pkg_cv_CUTTER
118                fi])
119  AC_SUBST([CUTTER_CFLAGS])
120  AC_SUBST([CUTTER_LIBS])
121  AC_SUBST([CUTTER])
122])
123
124AC_DEFUN([AC_CHECK_GCUTTER],
125[
126  AC_CHECK_CUTTER($1)
127  AC_CACHE_VAL([ac_cv_use_gcutter],
128               [ac_cv_use_gcutter=no
129                if test "$ac_cv_use_cutter" != "no"; then
130                  PKG_CHECK_MODULES(GCUTTER, gcutter $1,
131                                    [ac_cv_use_gcutter=yes], [:])
132                fi])
133  AC_SUBST([GCUTTER_CFLAGS])
134  AC_SUBST([GCUTTER_LIBS])
135])
136
137AC_DEFUN([AC_CHECK_CPPCUTTER],
138[
139  AC_CHECK_CUTTER($1)
140  AC_CACHE_VAL([ac_cv_use_cppcutter],
141               [ac_cv_use_cppcutter=no
142                if test "$ac_cv_use_cutter" != "no"; then
143                  PKG_CHECK_MODULES(CPPCUTTER, cppcutter $1,
144                                    [ac_cv_use_cppcutter=yes], [:])
145                fi])
146  AC_SUBST([CPPCUTTER_CFLAGS])
147  AC_SUBST([CPPCUTTER_LIBS])
148])
149
150AC_DEFUN([AC_CHECK_GDKCUTTER_PIXBUF],
151[
152  AC_CHECK_GCUTTER($1)
153  AC_CACHE_VAL([ac_cv_use_gdkcutter_pixbuf],
154               [ac_cv_use_gdkcutter_pixbuf=no
155                if test "$ac_cv_use_cutter" != "no"; then
156                  PKG_CHECK_MODULES(GDKCUTTER_PIXBUF, gdkcutter-pixbuf $1,
157                                    [ac_cv_use_gdkcutter_pixbuf=yes], [:])
158                fi])
159  AC_SUBST([GDKCUTTER_PIXBUF_CFLAGS])
160  AC_SUBST([GDKCUTTER_PIXBUF_LIBS])
161])
162
163AC_DEFUN([AC_CHECK_SOUPCUTTER],
164[
165  AC_CHECK_GCUTTER($1)
166  AC_CACHE_VAL([ac_cv_use_soupcutter],
167               [ac_cv_use_soupcutter=no
168                if test "$ac_cv_use_cutter" != "no"; then
169                  PKG_CHECK_MODULES(SOUPCUTTER, soupcutter $1,
170                                    [ac_cv_use_soupcutter=yes], [:])
171                fi])
172  AC_SUBST([SOUPCUTTER_CFLAGS])
173  AC_SUBST([SOUPCUTTER_LIBS])
174])
175