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 explicitly 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