commit:     6ce12231a50fd05970501f67adc916754a21fe60
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Oct  4 01:23:32 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Oct 11 19:15:00 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6ce12231

toolchain.eclass: allow fixincludes for >= GCC 13

Signed-off-by: Sam James <sam <AT> gentoo.org>

 eclass/toolchain.eclass | 24 ++++++++++++++----------
 1 file changed, 14 insertions(+), 10 deletions(-)

diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 756c15f0e17b..22177c58b8fa 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -2014,16 +2014,20 @@ toolchain_src_install() {
                fi
        done
 
-       # We remove the generated fixincludes, as they can cause things to break
-       # (ncurses, openssl, etc).  We do not prevent them from being built, as
-       # in the following commit which we revert:
-       # 
https://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?r1=1.647&r2=1.648
-       # This is because bsd userland needs fixedincludes to build gcc, while
-       # linux does not.  Both can dispose of them afterwards.
-       while read x ; do
-               grep -q 'It has been auto-edited by fixincludes from' "${x}" \
-                       && rm -f "${x}"
-       done < <(find gcc/include*/ -name '*.h')
+       # Re-enable fixincludes for >= GCC 13
+       # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107128
+       if [[ ${GCCMAJOR} -lt 13 ]] ; then
+               # We remove the generated fixincludes, as they can cause things 
to break
+               # (ncurses, openssl, etc).  We do not prevent them from being 
built, as
+               # in the following commit which we revert:
+               # 
https://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?r1=1.647&r2=1.648
+               # This is because bsd userland needs fixedincludes to build 
gcc, while
+               # linux does not.  Both can dispose of them afterwards.
+               while read x ; do
+                       grep -q 'It has been auto-edited by fixincludes from' 
"${x}" \
+                               && rm -f "${x}"
+               done < <(find gcc/include*/ -name '*.h')
+       fi
 
        if is_jit ; then
                # See 
https://gcc.gnu.org/onlinedocs/gcc-11.3.0/jit/internals/index.html#packaging-notes

Reply via email to