summaryrefslogtreecommitdiff
path: root/eclass
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2012-06-07 04:50:04 +0000
committerMike Frysinger <vapier@gentoo.org>2012-06-07 04:50:04 +0000
commit8b3603fe6a033ad2058403126d66d1842d64c6c9 (patch)
tree92c823c16afff848af392efeae1774537fc1b060 /eclass
parentBump EAPI and fix path for python_mod_{optimize,cleanup}. (Bug #416297) (diff)
downloadgentoo-2-8b3603fe6a033ad2058403126d66d1842d64c6c9.tar.gz
gentoo-2-8b3603fe6a033ad2058403126d66d1842d64c6c9.tar.bz2
gentoo-2-8b3603fe6a033ad2058403126d66d1842d64c6c9.zip
allow gtkdoc steps to be skipped if the tools are not installed #419979 -- if packages want these steps, they can DEPEND on the pkg in question; similarly, give a blanket pass to autopoint for embedded/USE=-nls systems that do not install the gettext package #417641
Diffstat (limited to 'eclass')
-rw-r--r--eclass/autotools.eclass18
1 files changed, 12 insertions, 6 deletions
diff --git a/eclass/autotools.eclass b/eclass/autotools.eclass
index 608571ea2bbc..4398ab975465 100644
--- a/eclass/autotools.eclass
+++ b/eclass/autotools.eclass
@@ -1,6 +1,6 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/autotools.eclass,v 1.144 2012/06/06 17:15:08 mgorny Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/autotools.eclass,v 1.145 2012/06/07 04:50:04 vapier Exp $
# @ECLASS: autotools.eclass
# @MAINTAINER:
@@ -166,11 +166,11 @@ eautoreconf() {
local i tools=(
# <tool> <was run> <command>
glibgettext false "autotools_run_tool glib-gettextize --copy --force"
- gettext false "eautopoint --force"
+ gettext false "autotools_run_tool --at-missing autopoint --force"
# intltool must come after autopoint.
intltool false "autotools_run_tool intltoolize --automake --copy --force"
- gtkdoc false "autotools_run_tool gtkdocize --copy"
- gnomedoc false "autotools_run_tool gnome-doc-prepare --copy --force"
+ gtkdoc false "autotools_run_tool --at-missing gtkdocize --copy"
+ gnomedoc false "autotools_run_tool --at-missing gnome-doc-prepare --copy --force"
libtool false "_elibtoolize --install --copy --force"
)
for (( i = 0; i < ${#tools[@]}; i += 3 )) ; do
@@ -402,18 +402,19 @@ autotools_env_setup() {
}
# @FUNCTION: autotools_run_tool
-# @USAGE: [--at-no-fail] [--at-m4flags] <autotool> [tool-specific flags]
+# @USAGE: [--at-no-fail] [--at-m4flags] [--at-missing] <autotool> [tool-specific flags]
# @INTERNAL
# @DESCRIPTION:
# Run the specified autotool helper, but do logging and error checking
# around it in the process.
autotools_run_tool() {
# Process our own internal flags first
- local autofail=true m4flags=false
+ local autofail=true m4flags=false missing_ok=false
while [[ -n $1 ]] ; do
case $1 in
--at-no-fail) autofail=false;;
--at-m4flags) m4flags=true;;
+ --at-missing) missing_ok=true;;
# whatever is left goes to the actual tool
*) break;;
esac
@@ -424,6 +425,11 @@ autotools_run_tool() {
ewarn "QA Warning: running $1 in ${EBUILD_PHASE} phase"
fi
+ if ${missing_ok} && ! type -P ${1} >/dev/null ; then
+ einfo "Skipping '$*' due $1 not installed"
+ return 0
+ fi
+
autotools_env_setup
local STDERR_TARGET="${T}/$1.out"