diff options
author | Martin Kletzander <mkletzan@redhat.com> | 2014-12-08 13:19:12 +0100 |
---|---|---|
committer | Eric Blake <eblake@redhat.com> | 2014-12-08 13:22:49 -0700 |
commit | 3914f3153576e9a5ba4002bde27de05211b5a79c (patch) | |
tree | 65fbd96aac02d491a8374b0de15ef8451772a382 /build-aux/bootstrap | |
parent | 3c411c43e5bd964fa6ac98f9cca639d18523ff06 (diff) | |
download | gnulib-3914f3153576e9a5ba4002bde27de05211b5a79c.tar.gz |
bootstrap: Allow perl modules in $buildreq
With this patch it is possible to put e.g. "perl::XML:XPath -" in
$buildreq in bootstrap.conf which will cause a check for perl module
XML::XPath using:
perl -m"XML::XPath" -e 'exit 0' >/dev/null 2>&1
If this fails due to any other error than XML::XPath missing, it is left
on the user to fix up his/her bootstrap.conf. One of the examples
might be perl itself missing, which should be in $buildreq and precede
any perl::Module specifications. Versioning of perl modules is not
supported.
Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
Diffstat (limited to 'build-aux/bootstrap')
-rwxr-xr-x | build-aux/bootstrap | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/build-aux/bootstrap b/build-aux/bootstrap index 4f0493ad9a..e0c4ec2c32 100755 --- a/build-aux/bootstrap +++ b/build-aux/bootstrap @@ -1,6 +1,6 @@ #! /bin/sh # Print a version string. -scriptversion=2013-12-05.23; # UTC +scriptversion=2014-12-08.12; # UTC # Bootstrap this package from checked-out sources. @@ -42,6 +42,9 @@ export LC_ALL local_gl_dir=gl +# Honour $PERL, but work even if there is none +PERL="${PERL-perl}" + me=$0 usage() { @@ -456,6 +459,7 @@ check_versions() { test "$appvar" = TAR && appvar=AMTAR case $appvar in GZIP) ;; # Do not use $GZIP: it contains gzip options. + PERL::*) ;; # Keep perl modules as-is *) eval "app=\${$appvar-$app}" ;; esac @@ -473,6 +477,17 @@ check_versions() { ret=1 continue } ;; + # Another check is for perl modules. These can be written as + # e.g. perl::XML::XPath in case of XML::XPath module, etc. + perl::*) + # Extract module name + app="${app#perl::}" + if ! $PERL -m"$app" -e 'exit 0' >/dev/null 2>&1; then + warn_ "Error: perl module '$app' not found" + ret=1 + fi + continue + ;; esac if [ "$req_ver" = "-" ]; then # Merely require app to exist; not all prereq apps are well-behaved |