1dnl _CHECK_LIBMARKDOWN([action-if-found], [action-if-not-found])
2dnl Searches for libmarkdown and define HAVE_MKDIO_H, LIBMARKDOWN_LIBS and
3dnl LIBMARKDOWN_CFLAGS
4AC_DEFUN([_CHECK_LIBMARKDOWN],
5[
6    old_LIBS=$LIBS
7    LIBS=
8    LIBMARKDOWN_LIBS=
9    LIBMARKDOWN_CFLAGS=
10    AC_SEARCH_LIBS([mkd_compile], [markdown],
11                   [AC_CHECK_HEADERS([mkdio.h],
12                                     [LIBMARKDOWN_LIBS=$LIBS
13                                      LIBMARKDOWN_CFLAGS=
14                                      $1],
15                                     [$2])],
16                   [$2])
17    AC_SUBST([LIBMARKDOWN_CFLAGS])
18    AC_SUBST([LIBMARKDOWN_LIBS])
19    LIBS=$old_LIBS
20])
21
22AC_DEFUN([GP_CHECK_MARKDOWN],
23[
24    GP_ARG_DISABLE([markdown], [auto])
25    AC_ARG_ENABLE([peg-markdown],
26                  [AS_HELP_STRING([--enable-peg-markdown],
27                                  [Whether to use Peg-Markdown library [[default=auto]]])],
28                  [enable_peg_markdown=$enableval],
29                  [enable_peg_markdown=auto])
30
31    dnl check which markdown library to use
32    AS_IF([test "x$enable_markdown" != xno &&
33           test "x$enable_peg_markdown" != xyes],
34          [_CHECK_LIBMARKDOWN([enable_peg_markdown=no],
35                              [AS_IF([test "x$enable_peg_markdown" != xno],
36                                     [enable_peg_markdown=yes],
37                                     [test "x$enable_markdown" = xyes],
38                                     [AC_MSG_ERROR([libmarkdown not found])],
39                                     [enable_markdown=no
40                                      AC_MSG_WARN([libmarkdown not found, disabling Markdown plugin])])])])
41    AM_CONDITIONAL([MARKDOWN_PEG_MARKDOWN],
42                   [test "x$enable_peg_markdown" = xyes])
43    dnl fancy status
44    AS_IF([test "x$enable_peg_markdown" = xyes],
45          [markdown_library=peg-markdown],
46          [markdown_library=libmarkdown])
47    GP_STATUS_FEATURE_ADD([Markdown library], [$markdown_library])
48
49    GTK_VERSION=2.16
50    WEBKIT_VERSION=1.1.13
51
52    GP_CHECK_GTK3([webkit_package=webkit2gtk-4.0],
53                  [webkit_package=webkit-1.0])
54    GP_CHECK_PLUGIN_DEPS([markdown], [MARKDOWN],
55                         [$GP_GTK_PACKAGE >= ${GTK_VERSION}
56                          $webkit_package >= ${WEBKIT_VERSION}
57                          gthread-2.0])
58    AM_CONDITIONAL([MARKDOWN_WEBKIT2], [test "$webkit_package" = webkit2gtk-4.0])
59
60    GP_COMMIT_PLUGIN_STATUS([Markdown])
61
62    AC_CONFIG_FILES([
63        markdown/Makefile
64        markdown/src/Makefile
65        markdown/docs/Makefile
66        markdown/peg-markdown/Makefile
67        markdown/peg-markdown/peg-0.1.9/Makefile
68    ])
69])
70