Blame m4/gtk-doc.m4

Packit a7d494
# -*- mode: autoconf -*-
Packit a7d494
#
Packit a7d494
# gtk-doc.m4 - configure macro to check for gtk-doc
Packit a7d494
# Copyright (C) 2003 James Henstridge
Packit a7d494
#               2007-2017  Stefan Sauer
Packit a7d494
#
Packit a7d494
# This program is free software: you can redistribute it and/or modify
Packit a7d494
# it under the terms of the GNU General Public License as published by
Packit a7d494
# the Free Software Foundation, either version 3 of the License, or
Packit a7d494
# (at your option) any later version.
Packit a7d494
#
Packit a7d494
# This program is distributed in the hope that it will be useful,
Packit a7d494
# but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit a7d494
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
Packit a7d494
# GNU General Public License for more details.
Packit a7d494
#
Packit a7d494
# You should have received a copy of the GNU General Public License
Packit a7d494
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
Packit a7d494
#
Packit a7d494
# As a special exception, the above copyright owner gives unlimited
Packit a7d494
# permission to copy, distribute and modify the configure scripts that
Packit a7d494
# are the output of Autoconf when processing the Macro. You need not
Packit a7d494
# follow the terms of the GNU General Public License when using or
Packit a7d494
# distributing such scripts, even though portions of the text of the
Packit a7d494
# Macro appear in them. The GNU General Public License (GPL) does govern
Packit a7d494
# all other use of the material that constitutes the Autoconf Macro.
Packit a7d494
Packit a7d494
# serial 2
Packit a7d494
Packit a7d494
dnl Usage:
Packit a7d494
dnl   GTK_DOC_CHECK([minimum-gtk-doc-version])
Packit a7d494
AC_DEFUN([GTK_DOC_CHECK],
Packit a7d494
[
Packit a7d494
  AC_REQUIRE([PKG_PROG_PKG_CONFIG])
Packit a7d494
  AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first
Packit a7d494
  AC_BEFORE([AM_PROG_LIBTOOL],[$0])dnl setup libtool first
Packit a7d494
Packit a7d494
  ifelse([$1],[],[gtk_doc_requires="gtk-doc"],[gtk_doc_requires="gtk-doc >= $1"])
Packit a7d494
  AC_MSG_CHECKING([for gtk-doc])
Packit a7d494
  PKG_CHECK_EXISTS([$gtk_doc_requires],[have_gtk_doc=yes],[have_gtk_doc=no])
Packit a7d494
  AC_MSG_RESULT($have_gtk_doc)
Packit a7d494
Packit a7d494
  if test "$have_gtk_doc" = "no"; then
Packit a7d494
      AC_MSG_WARN([
Packit a7d494
  You will not be able to create source packages with 'make dist'
Packit a7d494
  because $gtk_doc_requires is not found.])
Packit a7d494
  fi
Packit a7d494
Packit a7d494
  dnl check for tools we added during development
Packit a7d494
  dnl Use AC_CHECK_PROG to avoid the check target using an absolute path that
Packit a7d494
  dnl may not be writable by the user. Currently, automake requires that the
Packit a7d494
  dnl test name must end in '.test'.
Packit a7d494
  dnl https://bugzilla.gnome.org/show_bug.cgi?id=701638
Packit a7d494
  AC_CHECK_PROG([GTKDOC_CHECK],[gtkdoc-check],[gtkdoc-check.test])
Packit a7d494
  AC_PATH_PROG([GTKDOC_CHECK_PATH],[gtkdoc-check])
Packit a7d494
  AC_PATH_PROGS([GTKDOC_REBASE],[gtkdoc-rebase],[true])
Packit a7d494
  AC_PATH_PROG([GTKDOC_MKPDF],[gtkdoc-mkpdf])
Packit a7d494
Packit a7d494
  dnl for overriding the documentation installation directory
Packit a7d494
  AC_ARG_WITH([html-dir],
Packit a7d494
    AS_HELP_STRING([--with-html-dir=PATH], [path to installed docs]),,
Packit a7d494
    [with_html_dir='${datadir}/gtk-doc/html'])
Packit a7d494
  HTML_DIR="$with_html_dir"
Packit a7d494
  AC_SUBST([HTML_DIR])
Packit a7d494
Packit a7d494
  dnl enable/disable documentation building
Packit a7d494
  AC_ARG_ENABLE([gtk-doc],
Packit a7d494
    AS_HELP_STRING([--enable-gtk-doc],
Packit a7d494
                   [use gtk-doc to build documentation [[default=no]]]),,
Packit a7d494
    [enable_gtk_doc=no])
Packit a7d494
Packit a7d494
  AC_MSG_CHECKING([whether to build gtk-doc documentation])
Packit a7d494
  AC_MSG_RESULT($enable_gtk_doc)
Packit a7d494
Packit a7d494
  if test "x$enable_gtk_doc" = "xyes" && test "$have_gtk_doc" = "no"; then
Packit a7d494
    AC_MSG_ERROR([
Packit a7d494
  You must have $gtk_doc_requires installed to build documentation for
Packit a7d494
  $PACKAGE_NAME. Please install gtk-doc or disable building the
Packit a7d494
  documentation by adding '--disable-gtk-doc' to '[$]0'.])
Packit a7d494
  fi
Packit a7d494
Packit a7d494
  dnl don't check for glib if we build glib
Packit a7d494
  if test "x$PACKAGE_NAME" != "xglib"; then
Packit a7d494
    dnl don't fail if someone does not have glib
Packit a7d494
    PKG_CHECK_MODULES(GTKDOC_DEPS, glib-2.0 >= 2.10.0 gobject-2.0  >= 2.10.0,,[:])
Packit a7d494
  fi
Packit a7d494
Packit a7d494
  dnl enable/disable output formats
Packit a7d494
  AC_ARG_ENABLE([gtk-doc-html],
Packit a7d494
    AS_HELP_STRING([--enable-gtk-doc-html],
Packit a7d494
                   [build documentation in html format [[default=yes]]]),,
Packit a7d494
    [enable_gtk_doc_html=yes])
Packit a7d494
    AC_ARG_ENABLE([gtk-doc-pdf],
Packit a7d494
      AS_HELP_STRING([--enable-gtk-doc-pdf],
Packit a7d494
                     [build documentation in pdf format [[default=no]]]),,
Packit a7d494
      [enable_gtk_doc_pdf=no])
Packit a7d494
Packit a7d494
  if test -z "$GTKDOC_MKPDF"; then
Packit a7d494
    enable_gtk_doc_pdf=no
Packit a7d494
  fi
Packit a7d494
Packit a7d494
  if test -z "$AM_DEFAULT_VERBOSITY"; then
Packit a7d494
    AM_DEFAULT_VERBOSITY=1
Packit a7d494
  fi
Packit a7d494
  AC_SUBST([AM_DEFAULT_VERBOSITY])
Packit a7d494
Packit a7d494
  AM_CONDITIONAL([HAVE_GTK_DOC], [test x$have_gtk_doc = xyes])
Packit a7d494
  AM_CONDITIONAL([ENABLE_GTK_DOC], [test x$enable_gtk_doc = xyes])
Packit a7d494
  AM_CONDITIONAL([GTK_DOC_BUILD_HTML], [test x$enable_gtk_doc_html = xyes])
Packit a7d494
  AM_CONDITIONAL([GTK_DOC_BUILD_PDF], [test x$enable_gtk_doc_pdf = xyes])
Packit a7d494
  AM_CONDITIONAL([GTK_DOC_USE_LIBTOOL], [test -n "$LIBTOOL"])
Packit a7d494
  AM_CONDITIONAL([GTK_DOC_USE_REBASE], [test -n "$GTKDOC_REBASE"])
Packit a7d494
])