Blame m4/gtk-doc.m4

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