Hi everyone, I'd like to make a commit to toolchain.eclass in a few days. mgorny noticed some code which can be improved. Basically gcc creates "fixed" include files from system headers because of the requirement that it have ansi c compliant headers. These are fixed via shells scripts during the build process, but we just delete them afterwards. Rather than generate and then delete them, just don't generate them in the first place. Its bug number #536878. I've tested on gcc-3 to the latest and both approaches yield the same results. Here's the patch so you don't have to go hunting for it:

diff -u -B -r1.647 toolchain.eclass
--- toolchain.eclass    15 Nov 2014 08:45:33 -0000      1.647
+++ toolchain.eclass    18 Jan 2015 20:36:08 -0000
@@ -595,6 +595,13 @@
                                einfo "  ${f%%...}"
                        done
        fi
+
+       # we don't want fixed includes :)
+       if tc_version_is_at_least 4.0; then
+               echo : > "${S}"/fixincludes/fixinc.in || die
+       else
+               echo : > "${S}"/gcc/fixinc/fixincl.sh || die
+       fi
 }
guess_patch_type_in_dir() {
@@ -1598,9 +1605,6 @@
 toolchain_src_install() {
        cd "${WORKDIR}"/build
- # Do allow symlinks in private gcc include dir as this can break the build
-       find gcc/include*/ -type l -delete
-
        # Copy over the info pages.  We disabled their generation earlier, but 
the
        # build system only expects to install out of the build dir, not the 
source.  #464008
        mkdir -p gcc/doc
@@ -1611,13 +1615,6 @@
                fi
        done
- # Remove generated headers, as they can cause things to break
-       # (ncurses, openssl, etc).
-       while read x ; do
-               grep -q 'It has been auto-edited by fixincludes from' "${x}" \
-                       && rm -f "${x}"
-       done < <(find gcc/include*/ -name '*.h')
-
        # Do the 'make install' from the build directory
        S="${WORKDIR}"/build emake -j1 DESTDIR="${D}" install || die

--
Anthony G. Basile, Ph.D.
Gentoo Linux Developer [Hardened]
E-Mail    : [email protected]
GnuPG FP  : 1FED FAD9 D82C 52A5 3BAB  DC79 9384 FA6E F52D 4BBA
GnuPG ID  : F52D4BBA


Reply via email to