1 |
Yes, yes, yes, please fix this eight years old wish entry for me ;) |
2 |
|
3 |
https://gcc.gnu.org/ml/gcc-help/2007-02/msg00314.html |
4 |
|
5 |
Diego Elio Pettenò — Flameeyes |
6 |
https://blog.flameeyes.eu/ |
7 |
|
8 |
On 18 January 2015 at 21:50, Anthony G. Basile <blueness@g.o> wrote: |
9 |
|
10 |
> Hi everyone, I'd like to make a commit to toolchain.eclass in a few days. |
11 |
> mgorny noticed some code which can be improved. Basically gcc creates |
12 |
> "fixed" include files from system headers because of the requirement that |
13 |
> it have ansi c compliant headers. These are fixed via shells scripts |
14 |
> during the build process, but we just delete them afterwards. Rather than |
15 |
> generate and then delete them, just don't generate them in the first |
16 |
> place. Its bug number #536878. I've tested on gcc-3 to the latest and |
17 |
> both approaches yield the same results. Here's the patch so you don't have |
18 |
> to go hunting for it: |
19 |
> |
20 |
> diff -u -B -r1.647 toolchain.eclass |
21 |
> --- toolchain.eclass 15 Nov 2014 08:45:33 -0000 1.647 |
22 |
> +++ toolchain.eclass 18 Jan 2015 20:36:08 -0000 |
23 |
> @@ -595,6 +595,13 @@ |
24 |
> einfo " ${f%%...}" |
25 |
> done |
26 |
> fi |
27 |
> + |
28 |
> + # we don't want fixed includes :) |
29 |
> + if tc_version_is_at_least 4.0; then |
30 |
> + echo : > "${S}"/fixincludes/fixinc.in || die |
31 |
> + else |
32 |
> + echo : > "${S}"/gcc/fixinc/fixincl.sh || die |
33 |
> + fi |
34 |
> } |
35 |
> guess_patch_type_in_dir() { |
36 |
> @@ -1598,9 +1605,6 @@ |
37 |
> toolchain_src_install() { |
38 |
> cd "${WORKDIR}"/build |
39 |
> - # Do allow symlinks in private gcc include dir as this can break |
40 |
> the build |
41 |
> - find gcc/include*/ -type l -delete |
42 |
> - |
43 |
> # Copy over the info pages. We disabled their generation earlier, |
44 |
> but the |
45 |
> # build system only expects to install out of the build dir, not |
46 |
> the source. #464008 |
47 |
> mkdir -p gcc/doc |
48 |
> @@ -1611,13 +1615,6 @@ |
49 |
> fi |
50 |
> done |
51 |
> - # Remove generated headers, as they can cause things to break |
52 |
> - # (ncurses, openssl, etc). |
53 |
> - while read x ; do |
54 |
> - grep -q 'It has been auto-edited by fixincludes from' |
55 |
> "${x}" \ |
56 |
> - && rm -f "${x}" |
57 |
> - done < <(find gcc/include*/ -name '*.h') |
58 |
> - |
59 |
> # Do the 'make install' from the build directory |
60 |
> S="${WORKDIR}"/build emake -j1 DESTDIR="${D}" install || die |
61 |
> |
62 |
> |
63 |
> -- |
64 |
> Anthony G. Basile, Ph.D. |
65 |
> Gentoo Linux Developer [Hardened] |
66 |
> E-Mail : blueness@g.o |
67 |
> GnuPG FP : 1FED FAD9 D82C 52A5 3BAB DC79 9384 FA6E F52D 4BBA |
68 |
> GnuPG ID : F52D4BBA |
69 |
> |
70 |
> |
71 |
> |