88 lines
2.3 KiB
Bash
88 lines
2.3 KiB
Bash
|
# shellcheck shell=bash disable=SC2206
|
|||
|
|
|||
|
mesonConfigurePhase() {
|
|||
|
runHook preConfigure
|
|||
|
|
|||
|
local flagsArray=()
|
|||
|
|
|||
|
if [ -z "${dontAddPrefix-}" ]; then
|
|||
|
flagsArray+=("--prefix=$prefix")
|
|||
|
fi
|
|||
|
|
|||
|
# See multiple-outputs.sh and meson’s coredata.py
|
|||
|
flagsArray+=(
|
|||
|
"--libdir=${!outputLib}/lib"
|
|||
|
"--libexecdir=${!outputLib}/libexec"
|
|||
|
"--bindir=${!outputBin}/bin"
|
|||
|
"--sbindir=${!outputBin}/sbin"
|
|||
|
"--includedir=${!outputInclude}/include"
|
|||
|
"--mandir=${!outputMan}/share/man"
|
|||
|
"--infodir=${!outputInfo}/share/info"
|
|||
|
"--localedir=${!outputLib}/share/locale"
|
|||
|
"-Dauto_features=${mesonAutoFeatures:-enabled}"
|
|||
|
"-Dwrap_mode=${mesonWrapMode:-nodownload}"
|
|||
|
${crossMesonFlags}
|
|||
|
"--buildtype=${mesonBuildType:-plain}"
|
|||
|
)
|
|||
|
|
|||
|
flagsArray+=(
|
|||
|
$mesonFlags
|
|||
|
"${mesonFlagsArray[@]}"
|
|||
|
)
|
|||
|
|
|||
|
echoCmd 'mesonConfigurePhase flags' "${flagsArray[@]}"
|
|||
|
|
|||
|
meson setup build "${flagsArray[@]}"
|
|||
|
cd build || { echoCmd 'mesonConfigurePhase' "could not cd to build"; exit 1; }
|
|||
|
|
|||
|
if ! [[ -v enableParallelBuilding ]]; then
|
|||
|
enableParallelBuilding=1
|
|||
|
echoCmd 'mesonConfigurePhase' "enabled parallel building"
|
|||
|
fi
|
|||
|
|
|||
|
if [[ ${checkPhase-ninjaCheckPhase} = ninjaCheckPhase && -z $dontUseMesonCheck ]]; then
|
|||
|
checkPhase=mesonCheckPhase
|
|||
|
fi
|
|||
|
if [[ ${installPhase-ninjaInstallPhase} = ninjaInstallPhase && -z $dontUseMesonInstall ]]; then
|
|||
|
installPhase=mesonInstallPhase
|
|||
|
fi
|
|||
|
|
|||
|
runHook postConfigure
|
|||
|
}
|
|||
|
|
|||
|
mesonCheckPhase() {
|
|||
|
runHook preCheck
|
|||
|
|
|||
|
local flagsArray=($mesonCheckFlags "${mesonCheckFlagsArray[@]}")
|
|||
|
|
|||
|
echoCmd 'mesonCheckPhase flags' "${flagsArray[@]}"
|
|||
|
meson test --no-rebuild "${flagsArray[@]}"
|
|||
|
|
|||
|
runHook postCheck
|
|||
|
}
|
|||
|
|
|||
|
mesonInstallPhase() {
|
|||
|
runHook preInstall
|
|||
|
|
|||
|
local flagsArray=()
|
|||
|
|
|||
|
if [[ -n "$mesonInstallTags" ]]; then
|
|||
|
flagsArray+=("--tags" "${mesonInstallTags// /,}")
|
|||
|
fi
|
|||
|
flagsArray+=(
|
|||
|
$mesonInstallFlags
|
|||
|
"${mesonInstallFlagsArray[@]}"
|
|||
|
)
|
|||
|
|
|||
|
echoCmd 'mesonInstallPhase flags' "${flagsArray[@]}"
|
|||
|
meson install --no-rebuild "${flagsArray[@]}"
|
|||
|
|
|||
|
runHook postInstall
|
|||
|
}
|
|||
|
|
|||
|
if [ -z "${dontUseMesonConfigure-}" ] && [ -z "${configurePhase-}" ]; then
|
|||
|
# shellcheck disable=SC2034
|
|||
|
setOutputFlags=
|
|||
|
configurePhase=mesonConfigurePhase
|
|||
|
fi
|