mirror of
https://git.yoctoproject.org/poky
synced 2026-04-13 14:02:21 +02:00
distutils3: do out of tree builds
Pass --build-base so the build tree is a location we specify, which we can ensure is empty when building. This means we can stub out do_configure entirely and use cleandirs instead. When installing we need to tell it to do a build so that we can pass --build-base, so also pass --skip-build to avoid the potential rebuild. (From OE-Core rev: de1b57acedaaf01e10059792eb0031ceafcc8b97) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
8b57f9c534
commit
8b1eb782c3
@@ -1,5 +1,8 @@
|
||||
inherit distutils3-base
|
||||
|
||||
B = "${WORKDIR}/build"
|
||||
distutils_do_configure[cleandirs] = "${B}"
|
||||
|
||||
DISTUTILS_BUILD_ARGS ?= ""
|
||||
DISTUTILS_INSTALL_ARGS ?= "--root=${D} \
|
||||
--prefix=${prefix} \
|
||||
@@ -10,28 +13,28 @@ DISTUTILS_PYTHON = "python3"
|
||||
DISTUTILS_PYTHON_class-native = "nativepython3"
|
||||
|
||||
distutils3_do_configure() {
|
||||
if [ "${CLEANBROKEN}" != "1" ] ; then
|
||||
NO_FETCH_BUILD=1 \
|
||||
${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} setup.py clean ${DISTUTILS_BUILD_ARGS}
|
||||
fi
|
||||
:
|
||||
}
|
||||
|
||||
distutils3_do_compile() {
|
||||
cd ${S}
|
||||
NO_FETCH_BUILD=1 \
|
||||
STAGING_INCDIR=${STAGING_INCDIR} \
|
||||
STAGING_LIBDIR=${STAGING_LIBDIR} \
|
||||
${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} setup.py \
|
||||
build ${DISTUTILS_BUILD_ARGS} || \
|
||||
${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} ${S}/setup.py \
|
||||
build --build-base=${B} ${DISTUTILS_BUILD_ARGS} || \
|
||||
bbfatal_log "'${PYTHON_PN} setup.py build ${DISTUTILS_BUILD_ARGS}' execution failed."
|
||||
}
|
||||
distutils3_do_compile[vardepsexclude] = "MACHINE"
|
||||
|
||||
distutils3_do_install() {
|
||||
cd ${S}
|
||||
install -d ${D}${PYTHON_SITEPACKAGES_DIR}
|
||||
STAGING_INCDIR=${STAGING_INCDIR} \
|
||||
STAGING_LIBDIR=${STAGING_LIBDIR} \
|
||||
PYTHONPATH=${D}${PYTHON_SITEPACKAGES_DIR} \
|
||||
${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} setup.py install ${DISTUTILS_INSTALL_ARGS} || \
|
||||
${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} ${S}/setup.py \
|
||||
build --build-base=${B} install --skip-build ${DISTUTILS_INSTALL_ARGS} || \
|
||||
bbfatal_log "'${PYTHON_PN} setup.py install ${DISTUTILS_INSTALL_ARGS}' execution failed."
|
||||
|
||||
# support filenames with *spaces*
|
||||
|
||||
Reference in New Issue
Block a user