Merge pull request #160 from mlocati/parallel-compilation

Enable parallel compilation for many pecl extensions
pull/166/head
Michele Locati 2020-08-19 18:27:20 +02:00 committed by GitHub
commit 4811e7961f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 18 additions and 1 deletions

View File

@ -759,6 +759,23 @@ expandPackagesToBeInstalled() {
printf '%s' "${expandPackagesToBeInstalled_result# }" printf '%s' "${expandPackagesToBeInstalled_result# }"
} }
# Retrieve the number of processors to be used when compiling an extension
#
# Arguments:
# $1: the handle of the PHP extension to be compiled
# Output:
# The number of processors to be used
getCompilationProcessorCount() {
case "$1" in
amqp | bcmath | bz2 | calendar | exif | gd | gettext | grpc | imagick | intl | mysqli | opcache | pcntl | pdo_mysql | protobuf | redis | soap | sockets | tidy | xdebug | xsl | yaml | zip)
nproc
;;
*)
echo 1
;;
esac
}
# Install the required APT/APK packages # Install the required APT/APK packages
# #
# Arguments: # Arguments:
@ -1339,7 +1356,7 @@ installPECLModule() {
printf ' (installing version %s)\n' "$installPECLModule_actual" printf ' (installing version %s)\n' "$installPECLModule_actual"
fi fi
pecl channel-update pecl.php.net || true pecl channel-update pecl.php.net || true
printf "$installPECLModule_stdin" | pecl install "$installPECLModule_actual" printf "$installPECLModule_stdin" | MAKE="make -j$(getCompilationProcessorCount $1)" pecl install "$installPECLModule_actual"
fi fi
case "$1" in case "$1" in
apcu_bc) apcu_bc)