diff options
author | Sam James <sam@gentoo.org> | 2023-09-29 02:02:21 +0100 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2023-09-30 10:38:41 +0100 |
commit | 612556c3f23ac08ac76187a81fe3f0cc6acc4a9f (patch) | |
tree | 3ab4e6eb5ea7f475433c3909a1a9b2d625df105d /eclass | |
parent | toolchain.eclass: support bootstrap-O3 (diff) | |
download | gentoo-612556c3f23ac08ac76187a81fe3f0cc6acc4a9f.tar.gz gentoo-612556c3f23ac08ac76187a81fe3f0cc6acc4a9f.tar.bz2 gentoo-612556c3f23ac08ac76187a81fe3f0cc6acc4a9f.zip |
toolchain.eclass: tidy up USE=jit build
* Pass --disable-fixincludes for newer GCCs for USE=jit (still need to try
disable it in general when we can, but we had to turn it on for a bit because
of newer glibc) as it's pointless there.
* Disable a bunch of other options for the JIT build, imported from my local
script for bisecting GCC.
* While at it, use an array for the configure args for the JIT build and just
use emake -C.
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'eclass')
-rw-r--r-- | eclass/toolchain.eclass | 52 |
1 files changed, 36 insertions, 16 deletions
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass index 90a6098445f5..90576f2067ea 100644 --- a/eclass/toolchain.eclass +++ b/eclass/toolchain.eclass @@ -1354,20 +1354,43 @@ toolchain_src_configure() { if is_jit ; then einfo "Configuring JIT gcc" + local confgcc_jit=( + "${confgcc[@]}" + + --disable-analyzer + --disable-bootstrap + --disable-cet + --disable-default-pie + --disable-default-ssp + --disable-gcov + --disable-libada + --disable-libatomic + --disable-libgomp + --disable-libitm + --disable-libquadmath + --disable-libsanitizer + --disable-libssp + --disable-libstdcxx-pch + --disable-libvtv + --disable-lto + --disable-nls + --disable-objc-gc + --disable-systemtap + --enable-host-shared + --enable-languages=jit + --without-isl + --without-zstd + --with-system-zlib + ) + + if tc_version_is_at_least 13.1 ; then + confgcc_jit+=( --disable-fixincludes ) + fi + mkdir -p "${WORKDIR}"/build-jit || die pushd "${WORKDIR}"/build-jit > /dev/null || die - CONFIG_SHELL="${gcc_shell}" edo "${gcc_shell}" "${S}"/configure \ - "${confgcc[@]}" \ - --disable-libada \ - --disable-libsanitizer \ - --disable-libvtv \ - --disable-libgomp \ - --disable-libquadmath \ - --disable-libatomic \ - --disable-lto \ - --disable-bootstrap \ - --enable-host-shared \ - --enable-languages=jit + + CONFIG_SHELL="${gcc_shell}" edo "${gcc_shell}" "${S}"/configure "${confgcc_jit[@]}" popd > /dev/null || die fi @@ -1701,11 +1724,8 @@ gcc_do_make() { if is_jit ; then # TODO: docs for jit? - pushd "${WORKDIR}"/build-jit > /dev/null || die - einfo "Building JIT" - emake "${emakeargs[@]}" - popd > /dev/null || die + emake -C "${WORKDIR}"/build-jit "${emakeargs[@]}" fi einfo "Compiling ${PN} (${GCC_MAKE_TARGET})..." |