You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

150 lines
4.3 KiB

dnl
dnl check where to install documentation
dnl
dnl determines documentation "root directory", i.e. the directory
dnl where all documentation will be placed in
dnl
AC_DEFUN([GP_DOC_GENERAL],[dnl
AC_MSG_CHECKING([whether to build any docs])
AC_ARG_ENABLE([docs], [dnl
AS_HELP_STRING([--disable-docs], [whether to create any documentation])], [dnl
case "$enableval" in
yes|true|on) gp_build_docs="yes" ;;
*) gp_build_docs="no" ;;
esac
],[dnl
gp_build_docs="yes"
])dnl
AC_MSG_RESULT([${gp_build_docs}])
AM_CONDITIONAL([BUILD_DOCS], [test "x${gp_build_docs}" = "xyes"])
])dnl
AC_DEFUN([GP_CHECK_DOC_DIR],
[
AC_REQUIRE([GP_DOC_GENERAL])dnl
AC_BEFORE([$0], [GP_BUILD_GTK_DOCS])dnl
AC_BEFORE([$0], [GP_CHECK_DOXYGEN])dnl
AC_ARG_WITH([doc-dir],
[AS_HELP_STRING([--with-doc-dir=PATH],
[Where to install docs [default=autodetect]])])
# check for the main ("root") documentation directory
AC_MSG_CHECKING([main docdir])
if test "x${with_doc_dir}" != "x"
then # docdir is given as parameter
docdir="${with_doc_dir}"
AC_MSG_RESULT([${docdir} (from parameter)])
else # otherwise invent a docdir hopefully compatible with system policy
if test -d "/usr/share/doc"
then
maindocdir='${prefix}/share/doc'
AC_MSG_RESULT([${maindocdir} (FHS style)])
elif test -d "/usr/doc"
then
maindocdir='${prefix}/doc'
AC_MSG_RESULT([${maindocdir} (old style)])
else
maindocdir='${datadir}/doc'
AC_MSG_RESULT([${maindocdir} (default value)])
fi
AC_MSG_CHECKING([package docdir])
# check whether to include package version into documentation path
# FIXME: doesn't work properly.
if ls -d /usr/{share/,}doc/make-[0-9]* > /dev/null 2>&1
then
docdir="${maindocdir}/${PACKAGE}-${VERSION}"
AC_MSG_RESULT([${docdir} (redhat style)])
else
docdir="${maindocdir}/${PACKAGE}"
AC_MSG_RESULT([${docdir} (default style)])
fi
fi
AC_SUBST([docdir])
])dnl
dnl
dnl check whether to build docs and where to:
dnl
dnl * determine presence of prerequisites (only gtk-doc for now)
dnl * determine destination directory for HTML files
dnl
AC_DEFUN([GP_BUILD_GTK_DOCS],
[
# docdir has to be determined in advance
AC_REQUIRE([GP_CHECK_DOC_DIR])
# ---------------------------------------------------------------------------
# gtk-doc: We use gtk-doc for building our documentation. However, we
# require the user to explicitely request the build.
# ---------------------------------------------------------------------------
try_gtkdoc=false
gtkdoc_msg="no (not requested)"
have_gtkdoc=false
AC_ARG_ENABLE([docs],
[AS_HELP_STRING([--enable-docs],
[Use gtk-doc to build documentation [default=no]])],[
if test x$enableval = xyes; then
try_gtkdoc=true
fi
])
if $try_gtkdoc; then
AC_PATH_PROG([GTKDOC],[gtkdoc-mkdb])
if test -n "${GTKDOC}"; then
have_gtkdoc=true
gtkdoc_msg="yes"
else
gtkdoc_msg="no (http://www.gtk.org/rdp/download.html)"
fi
fi
AM_CONDITIONAL([ENABLE_GTK_DOC], [$have_gtkdoc])
GP_CONFIG_MSG([build API docs with gtk-doc],[$gtkdoc_msg])
# ---------------------------------------------------------------------------
# Give the user the possibility to install html documentation in a
# user-defined location.
# ---------------------------------------------------------------------------
AC_ARG_WITH([html-dir],
[AS_HELP_STRING([--with-html-dir=PATH],
[Where to install html docs [default=autodetect]])])
AC_MSG_CHECKING([for html dir])
if test "x${with_html_dir}" = "x" ; then
htmldir="${docdir}/html"
AC_MSG_RESULT([${htmldir} (default)])
else
htmldir="${with_html_dir}"
AC_MSG_RESULT([${htmldir} (from parameter)])
fi
AC_SUBST([htmldir])
apidocdir="${htmldir}/api"
AC_SUBST([apidocdir}])
])dnl
dnl doxygen related stuff
dnl look for tools
dnl define substitutions for Doxyfile.in
AC_DEFUN([GP_CHECK_DOXYGEN],[dnl
AC_REQUIRE([GP_CHECK_DOC_DIR])dnl
AC_PATH_PROG([DOT], [dot], [false])
AC_PATH_PROG([DOXYGEN], [doxygen], [false])
AM_CONDITIONAL([HAVE_DOXYGEN], [test "x$DOXYGEN" != "xfalse"])
AM_CONDITIONAL([HAVE_DOT], [test "x$DOT" != "xfalse"])
if test "x$DOT" != "xfalse"; then
AC_SUBST([HAVE_DOT],[YES])
else
AC_SUBST([HAVE_DOT],[NO])
fi
AC_SUBST([HTML_APIDOC_DIR], ["${PACKAGE_TARNAME}-api.html"])
AC_SUBST([DOXYGEN_OUTPUT_DIR], [doxygen-output])
AC_SUBST([HTML_APIDOC_INTERNALS_DIR], ["${PACKAGE_TARNAME}-internals.html"])
])dnl