mirror of
https://github.com/moparisthebest/pacman
synced 2024-12-21 23:38:49 -05:00
libmakepkg: Add check_buildoption for distcc and ccache
makepkg used to check OPTIONS too, which could override BUILDENV. Implement a new function that handles these options more like OPTIONS. This also reduces code duplication a bit. Signed-off-by: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org>
This commit is contained in:
parent
5d4a3f101c
commit
70e6875ad9
@ -106,3 +106,37 @@ check_buildenv() {
|
||||
# not found
|
||||
return 127
|
||||
}
|
||||
|
||||
##
|
||||
# Checks to see if options are present in BUILDENV or PKGBUILD;
|
||||
# PKGBUILD options always take precedence.
|
||||
#
|
||||
# usage : check_buildoption( $option, $expected_val )
|
||||
# return : 0 - matches expected
|
||||
# 1 - does not match expected
|
||||
# 127 - not found
|
||||
##
|
||||
check_buildoption() {
|
||||
in_opt_array "$1" ${options[@]}
|
||||
case $? in
|
||||
0) # assert enabled
|
||||
[[ $2 = y ]]
|
||||
return ;;
|
||||
1) # assert disabled
|
||||
[[ $2 = n ]]
|
||||
return
|
||||
esac
|
||||
|
||||
in_opt_array "$1" ${BUILDENV[@]}
|
||||
case $? in
|
||||
0) # assert enabled
|
||||
[[ $2 = y ]]
|
||||
return ;;
|
||||
1) # assert disabled
|
||||
[[ $2 = n ]]
|
||||
return
|
||||
esac
|
||||
|
||||
# not found
|
||||
return 127
|
||||
}
|
||||
|
@ -852,13 +852,13 @@ run_prepare() {
|
||||
|
||||
run_build() {
|
||||
# use distcc if it is requested (check buildenv and PKGBUILD opts)
|
||||
if check_buildenv "distcc" "y" && ! check_option "distcc" "n"; then
|
||||
if check_buildoption "distcc" "y"; then
|
||||
[[ -d /usr/lib/distcc/bin ]] && export PATH="/usr/lib/distcc/bin:$PATH"
|
||||
export DISTCC_HOSTS
|
||||
fi
|
||||
|
||||
# use ccache if it is requested (check buildenv and PKGBUILD opts)
|
||||
if check_buildenv "ccache" "y" && ! check_option "ccache" "n"; then
|
||||
if check_buildoption "ccache" "y"; then
|
||||
[[ -d /usr/lib/ccache/bin ]] && export PATH="/usr/lib/ccache/bin:$PATH"
|
||||
fi
|
||||
|
||||
@ -1557,7 +1557,7 @@ check_software() {
|
||||
fi
|
||||
|
||||
# distcc - compilation with distcc
|
||||
if check_buildenv "distcc" "y" && ! check_option "distcc" "n"; then
|
||||
if check_buildoption "distcc" "y"; then
|
||||
if ! type -p distcc >/dev/null; then
|
||||
error "$(gettext "Cannot find the %s binary required for distributed compilation.")" "distcc"
|
||||
ret=1
|
||||
@ -1565,7 +1565,7 @@ check_software() {
|
||||
fi
|
||||
|
||||
# ccache - compilation with ccache
|
||||
if check_buildenv "ccache" "y" && ! check_option "ccache" "n"; then
|
||||
if check_buildoption "ccache" "y"; then
|
||||
if ! type -p ccache >/dev/null; then
|
||||
error "$(gettext "Cannot find the %s binary required for compiler cache usage.")" "ccache"
|
||||
ret=1
|
||||
|
Loading…
Reference in New Issue
Block a user