mirror of
https://git.yoctoproject.org/poky
synced 2026-02-08 01:36:38 +01:00
The current implementation of shared work for gcc is at best confusing. It relies on the fetch/unpack/patch tasks having exactly the same stamps and if this gets broken for some reason, its hard to figure out what the problem is. It also leads to complex code in bitbake. The benefits of shared work for gcc are clear but a better approach is needed. This patch adjusts things so that a single new recipe (gcc-source) provides the fetch/unpack/patch/preconfigure tasks, the rest of gcc simply depends on these tasks and have no fetch/unpack/patch tasks of their own. This means we should get the significant benefits (disk usage/performance) of the single source tree but in a way which has less potential for problems and is easier for people to understand. The cost is an extra recipe/some inc files which is probably a good tradeoff. (From OE-Core rev: ceaa0a448dc5ebddb4f7fb94fb8a503a1c0248c3) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
35 lines
1.1 KiB
PHP
35 lines
1.1 KiB
PHP
deltask do_configure
|
|
deltask do_compile
|
|
deltask do_package
|
|
deltask do_package_write_rpm
|
|
deltask do_package_write_ipk
|
|
deltask do_package_write_deb
|
|
deltask do_install
|
|
deltask do_populate_sysroot
|
|
deltask do_populate_lic
|
|
deltask do_package_qa
|
|
deltask do_packagedata
|
|
deltask do_rm_work
|
|
|
|
WORKDIR = "${TMPDIR}/work-shared/gcc-${PV}-${PR}"
|
|
SSTATE_SWSPEC = "sstate:gcc::${PV}:${PR}::${SSTATE_VERSION}:"
|
|
|
|
STAMP = "${STAMPS_DIR}/work-shared/gcc-${PV}-${PR}"
|
|
STAMPCLEAN = "${STAMPS_DIR}/work-shared/gcc-[0-9]*-*"
|
|
|
|
INHIBIT_DEFAULT_DEPS = "1"
|
|
DEPENDS = ""
|
|
|
|
python do_preconfigure () {
|
|
import subprocess
|
|
cmd = d.expand('PATH=${PATH} cd ${S} && gnu-configize')
|
|
subprocess.check_output(cmd, stderr=subprocess.STDOUT, shell=True)
|
|
# See 0044-gengtypes.patch, we need to regenerate this file
|
|
bb.utils.remove(d.expand("${S}/gcc/gengtype-lex.c"))
|
|
cmd = d.expand("sed -i 's/BUILD_INFO=info/BUILD_INFO=/' ${S}/gcc/configure")
|
|
subprocess.check_output(cmd, stderr=subprocess.STDOUT, shell=True)
|
|
}
|
|
addtask do_preconfigure after do_patch
|
|
do_preconfigure[depends] += "gnu-config-native:do_populate_sysroot autoconf-native:do_populate_sysroot"
|
|
|