mirror of https://github.com/Icinga/icinga2.git
Documentation: add configure/m4 checks for asciidoc bin, add --disable-asciidoc-docs
fixes #3230
This commit is contained in:
parent
0f6b31dfd8
commit
bff540b359
|
@ -45,6 +45,7 @@ DX_XML_FEATURE(OFF)
|
|||
DX_PDF_FEATURE(OFF)
|
||||
DX_PS_FEATURE(OFF)
|
||||
DX_INIT_DOXYGEN([icinga], [docs/Doxyfile], [docs/dev])
|
||||
AD_INIT_ASCIIDOC([icinga], [], [docs])
|
||||
|
||||
AM_MISSING_PROG(HELP2MAN, help2man, $missing_dir)
|
||||
|
||||
|
|
|
@ -0,0 +1,141 @@
|
|||
# ===========================================================================
|
||||
# ax_prog_asciidoc
|
||||
# ===========================================================================
|
||||
#
|
||||
# SYNOPSIS
|
||||
#
|
||||
# AD_INIT_ASCIIDOC(PROJECT-NAME, DOXYFILE-PATH, [OUTPUT-DIR])
|
||||
# AD_ASCIIDOC_FEATURE(ON|OFF)
|
||||
#
|
||||
# DESCRIPTION
|
||||
#
|
||||
# Based on the Doxygen Macro, modified for Asciidoc detection
|
||||
#
|
||||
# LICENSE
|
||||
#
|
||||
# Copyright (c) 2013 Icinga Development Team
|
||||
# Copyright (c) 2009 Oren Ben-Kiki <oren@ben-kiki.org>
|
||||
#
|
||||
# Copying and distribution of this file, with or without modification, are
|
||||
# permitted in any medium without royalty provided the copyright notice
|
||||
# and this notice are preserved. This file is offered as-is, without any
|
||||
# warranty.
|
||||
|
||||
#serial 12
|
||||
|
||||
## ----------##
|
||||
## Defaults. ##
|
||||
## ----------##
|
||||
|
||||
AD_ENV=""
|
||||
AC_DEFUN([AD_FEATURE_doc], ON)
|
||||
|
||||
## --------------- ##
|
||||
## Private macros. ##
|
||||
## --------------- ##
|
||||
|
||||
# AD_ENV_APPEND(VARIABLE, VALUE)
|
||||
# ------------------------------
|
||||
# Append VARIABLE="VALUE" to AD_ENV for invoking asciidoc.
|
||||
AC_DEFUN([AD_ENV_APPEND], [AC_SUBST([AD_ENV], ["$AD_ENV $1='$2'"])])
|
||||
|
||||
# AD_DIRNAME_EXPR
|
||||
# ---------------
|
||||
# Expand into a shell expression prints the directory part of a path.
|
||||
AC_DEFUN([AD_DIRNAME_EXPR],
|
||||
[[expr ".$1" : '\(\.\)[^/]*$' \| "x$1" : 'x\(.*\)/[^/]*$']])
|
||||
|
||||
# AD_IF_FEATURE(FEATURE, IF-ON, IF-OFF)
|
||||
# -------------------------------------
|
||||
# Expands according to the M4 (static) status of the feature.
|
||||
AC_DEFUN([AD_IF_FEATURE], [ifelse(AD_FEATURE_$1, ON, [$2], [$3])])
|
||||
|
||||
# AD_REQUIRE_PROG(VARIABLE, PROGRAM)
|
||||
# ----------------------------------
|
||||
# Require the specified program to be found for the AD_CURRENT_FEATURE to work.
|
||||
AC_DEFUN([AD_REQUIRE_PROG], [
|
||||
AC_PATH_TOOL([$1], [$2])
|
||||
if test "$AD_FLAG_[]AD_CURRENT_FEATURE$$1" = 1; then
|
||||
AC_MSG_WARN([$2 not found - will not AD_CURRENT_DESCRIPTION])
|
||||
AC_SUBST(AD_FLAG_[]AD_CURRENT_FEATURE, 0)
|
||||
fi
|
||||
])
|
||||
|
||||
# AD_TEST_FEATURE(FEATURE)
|
||||
# ------------------------
|
||||
# Expand to a shell expression testing whether the feature is active.
|
||||
AC_DEFUN([AD_TEST_FEATURE], [test "$AD_FLAG_$1" = 1])
|
||||
# AD_FEATURE_ARG(FEATURE, DESCRIPTION,
|
||||
# CHECK_DEPEND, CLEAR_DEPEND,
|
||||
# REQUIRE, DO-IF-ON, DO-IF-OFF)
|
||||
# --------------------------------------------
|
||||
# Parse the command-line option controlling a feature. CHECK_DEPEND is called
|
||||
# if the user explicitly turns the feature on (and invokes AD_CHECK_DEPEND),
|
||||
# otherwise CLEAR_DEPEND is called to turn off the default state if a required
|
||||
# feature is disabled (using AD_CLEAR_DEPEND). REQUIRE performs additional
|
||||
# requirement tests (AD_REQUIRE_PROG). Finally, an automake flag is set and
|
||||
# DO-IF-ON or DO-IF-OFF are called according to the final state of the feature.
|
||||
AC_DEFUN([AD_ARG_ABLE], [
|
||||
AC_DEFUN([AD_CURRENT_FEATURE], [$1])
|
||||
AC_DEFUN([AD_CURRENT_DESCRIPTION], [$2])
|
||||
AC_ARG_ENABLE(asciidoc-$1,
|
||||
[AS_HELP_STRING(AD_IF_FEATURE([$1], [--disable-asciidoc-$1],
|
||||
[--enable-asciidoc-$1]),
|
||||
AD_IF_FEATURE([$1], [don't $2], [$2]))],
|
||||
[
|
||||
case "$enableval" in
|
||||
#(
|
||||
y|Y|yes|Yes|YES)
|
||||
AC_SUBST([AD_FLAG_$1], 1)
|
||||
$3
|
||||
;; #(
|
||||
n|N|no|No|NO)
|
||||
AC_SUBST([AD_FLAG_$1], 0)
|
||||
;; #(
|
||||
*)
|
||||
AC_MSG_ERROR([invalid value '$enableval' given to asciidoc-$1])
|
||||
;;
|
||||
esac
|
||||
], [
|
||||
AC_SUBST([AD_FLAG_$1], [AD_IF_FEATURE([$1], 1, 0)])
|
||||
$4
|
||||
])
|
||||
if AD_TEST_FEATURE([$1]); then
|
||||
$5
|
||||
:
|
||||
fi
|
||||
AM_CONDITIONAL(AD_COND_$1, AD_TEST_FEATURE([$1]))
|
||||
if AD_TEST_FEATURE([$1]); then
|
||||
$6
|
||||
:
|
||||
else
|
||||
$7
|
||||
:
|
||||
fi
|
||||
])
|
||||
|
||||
## -------------- ##
|
||||
## Public macros. ##
|
||||
## -------------- ##
|
||||
|
||||
# AD_XXX_FEATURE(DEFAULT_STATE)
|
||||
# -----------------------------
|
||||
AC_DEFUN([AD_ASCIIDOC_FEATURE], [AC_DEFUN([AD_FEATURE_asciidoc], [$1])])
|
||||
|
||||
# AD_INIT_ASCIIDOC(PROJECT, [CONFIG-FILE], [OUTPUT-DOC-DIR])
|
||||
# ---------------------------------------------------------
|
||||
# PROJECT also serves as the base name for the documentation files.
|
||||
AC_DEFUN([AD_INIT_ASCIIDOC], [
|
||||
|
||||
# Files:
|
||||
AC_SUBST([AD_PROJECT], [$1])
|
||||
AC_SUBST([AD_CONFIG], [ifelse([$2], [], [], [$2])])
|
||||
AC_SUBST([AD_DOCDIR], [ifelse([$3], [], docs, [$3])])
|
||||
|
||||
# Asciidoc itself:
|
||||
AD_ARG_ABLE(doc, [generate any asciidoc documentation],
|
||||
[],
|
||||
[],
|
||||
[AD_REQUIRE_PROG([AD_ASCIIDOC], asciidoc)]
|
||||
)
|
||||
])
|
Loading…
Reference in New Issue