| #!/bin/sh |
| # SPDX-License-Identifier: GPL-2.0+ |
| # |
| # Figure out if we should follow a specific parallelism from the make |
| # environment (as exported by scripts/jobserver-exec), or fall back to |
| # the "auto" parallelism when "-jN" is not specified at the top-level |
| # "make" invocation. |
| |
| sphinx="$1" |
| shift || true |
| |
| parallel="$PARALLELISM" |
| if [ -z "$parallel" ] ; then |
| # If no parallelism is specified at the top-level make, then |
| # fall back to the expected "-jauto" mode that the "htmldocs" |
| # target has had. |
| auto=$(perl -e 'open IN,"'"$sphinx"' --version 2>&1 |"; |
| while (<IN>) { |
| if (m/([\d\.]+)/) { |
| print "auto" if ($1 >= "1.7") |
| } |
| } |
| close IN') |
| if [ -n "$auto" ] ; then |
| parallel="$auto" |
| fi |
| fi |
| # Only if some parallelism has been determined do we add the -jN option. |
| if [ -n "$parallel" ] ; then |
| parallel="-j$parallel" |
| fi |
| |
| exec "$sphinx" $parallel "$@" |