When any-r1 API is used for *_all sub-phases, an implementation that
was not selected by the user may be used. In this case,
DISTUTILS_IN_SOURCE_BUILD will not create the BUILD_DIR for this
implementation; however, the phase runner will still try to enter it
and fail. Handle this gracefully by falling back to ${S}.
Closes: https://bugs.gentoo.org/701506
Signed-off-by: Michał Górny <mgorny@gentoo.org>
debug-print-function ${FUNCNAME} "${@}"
if [[ ${DISTUTILS_IN_SOURCE_BUILD} ]]; then
- if [[ ! ${DISTUTILS_SINGLE_IMPL} ]]; then
+ # only force BUILD_DIR if implementation is explicitly enabled
+ # for building; any-r1 API may select one that is not
+ # https://bugs.gentoo.org/701506
+ if [[ ! ${DISTUTILS_SINGLE_IMPL} ]] &&
+ has "${EPYTHON/./_}" ${PYTHON_TARGETS}; then
cd "${BUILD_DIR}" || die
fi
local BUILD_DIR=${BUILD_DIR}/build