gtk-doc.m4 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. dnl -*- mode: autoconf -*-
  2. # serial 2
  3. dnl Usage:
  4. dnl GTK_DOC_CHECK([minimum-gtk-doc-version])
  5. AC_DEFUN([GTK_DOC_CHECK],
  6. [
  7. AC_REQUIRE([PKG_PROG_PKG_CONFIG])
  8. AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first
  9. AC_BEFORE([AM_PROG_LIBTOOL],[$0])dnl setup libtool first
  10. ifelse([$1],[],[gtk_doc_requires="gtk-doc"],[gtk_doc_requires="gtk-doc >= $1"])
  11. AC_MSG_CHECKING([for gtk-doc])
  12. PKG_CHECK_EXISTS([$gtk_doc_requires],[have_gtk_doc=yes],[have_gtk_doc=no])
  13. AC_MSG_RESULT($have_gtk_doc)
  14. if test "$have_gtk_doc" = "no"; then
  15. AC_MSG_WARN([
  16. You will not be able to create source packages with 'make dist'
  17. because $gtk_doc_requires is not found.])
  18. fi
  19. dnl check for tools we added during development
  20. dnl Use AC_CHECK_PROG to avoid the check target using an absolute path that
  21. dnl may not be writable by the user. Currently, automake requires that the
  22. dnl test name must end in '.test'.
  23. dnl https://bugzilla.gnome.org/show_bug.cgi?id=701638
  24. AC_CHECK_PROG([GTKDOC_CHECK],[gtkdoc-check],[gtkdoc-check.test])
  25. AC_PATH_PROG([GTKDOC_CHECK_PATH],[gtkdoc-check])
  26. AC_PATH_PROGS([GTKDOC_REBASE],[gtkdoc-rebase],[true])
  27. AC_PATH_PROG([GTKDOC_MKPDF],[gtkdoc-mkpdf])
  28. dnl for overriding the documentation installation directory
  29. AC_ARG_WITH([html-dir],
  30. AS_HELP_STRING([--with-html-dir=PATH], [path to installed docs]),,
  31. [with_html_dir='${datadir}/gtk-doc/html'])
  32. HTML_DIR="$with_html_dir"
  33. AC_SUBST([HTML_DIR])
  34. dnl enable/disable documentation building
  35. AC_ARG_ENABLE([gtk-doc],
  36. AS_HELP_STRING([--enable-gtk-doc],
  37. [use gtk-doc to build documentation [[default=no]]]),,
  38. [enable_gtk_doc=no])
  39. AC_MSG_CHECKING([whether to build gtk-doc documentation])
  40. AC_MSG_RESULT($enable_gtk_doc)
  41. if test "x$enable_gtk_doc" = "xyes" && test "$have_gtk_doc" = "no"; then
  42. AC_MSG_ERROR([
  43. You must have $gtk_doc_requires installed to build documentation for
  44. $PACKAGE_NAME. Please install gtk-doc or disable building the
  45. documentation by adding '--disable-gtk-doc' to '[$]0'.])
  46. fi
  47. dnl don't check for glib if we build glib
  48. if test "x$PACKAGE_NAME" != "xglib"; then
  49. dnl don't fail if someone does not have glib
  50. PKG_CHECK_MODULES(GTKDOC_DEPS, glib-2.0 >= 2.10.0 gobject-2.0 >= 2.10.0,,[:])
  51. fi
  52. dnl enable/disable output formats
  53. AC_ARG_ENABLE([gtk-doc-html],
  54. AS_HELP_STRING([--enable-gtk-doc-html],
  55. [build documentation in html format [[default=yes]]]),,
  56. [enable_gtk_doc_html=yes])
  57. AC_ARG_ENABLE([gtk-doc-pdf],
  58. AS_HELP_STRING([--enable-gtk-doc-pdf],
  59. [build documentation in pdf format [[default=no]]]),,
  60. [enable_gtk_doc_pdf=no])
  61. if test -z "$GTKDOC_MKPDF"; then
  62. enable_gtk_doc_pdf=no
  63. fi
  64. if test -z "$AM_DEFAULT_VERBOSITY"; then
  65. AM_DEFAULT_VERBOSITY=1
  66. fi
  67. AC_SUBST([AM_DEFAULT_VERBOSITY])
  68. AM_CONDITIONAL([HAVE_GTK_DOC], [test x$have_gtk_doc = xyes])
  69. AM_CONDITIONAL([ENABLE_GTK_DOC], [test x$enable_gtk_doc = xyes])
  70. AM_CONDITIONAL([GTK_DOC_BUILD_HTML], [test x$enable_gtk_doc_html = xyes])
  71. AM_CONDITIONAL([GTK_DOC_BUILD_PDF], [test x$enable_gtk_doc_pdf = xyes])
  72. AM_CONDITIONAL([GTK_DOC_USE_LIBTOOL], [test -n "$LIBTOOL"])
  73. AM_CONDITIONAL([GTK_DOC_USE_REBASE], [test -n "$GTKDOC_REBASE"])
  74. ])