summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta/recipes-devtools/gcc/gcc-common.inc4
-rw-r--r--meta/recipes-devtools/gcc/gcc-cross-canadian.inc2
-rw-r--r--meta/recipes-devtools/gcc/gcc-cross.inc2
-rw-r--r--meta/recipes-devtools/gcc/gcc-target.inc31
4 files changed, 8 insertions, 31 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-common.inc b/meta/recipes-devtools/gcc/gcc-common.inc
index 7f5cc109e6..01de93cc3c 100644
--- a/meta/recipes-devtools/gcc/gcc-common.inc
+++ b/meta/recipes-devtools/gcc/gcc-common.inc
@@ -138,3 +138,7 @@ remove_sysroot_paths_from_checksum_options () {
138 sed -i "s@${DEBUG_PREFIX_MAP}@@g" ${B}/gcc/checksum-options 138 sed -i "s@${DEBUG_PREFIX_MAP}@@g" ${B}/gcc/checksum-options
139 sed -i "s@$stagingdir@$replacement@g" ${B}/gcc/checksum-options 139 sed -i "s@$stagingdir@$replacement@g" ${B}/gcc/checksum-options
140} 140}
141
142cleanup_installed_include_fixed () {
143 find ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include-fixed -type f -not -name "README" -not -name limits.h -not -name syslimits.h | xargs rm -f
144}
diff --git a/meta/recipes-devtools/gcc/gcc-cross-canadian.inc b/meta/recipes-devtools/gcc/gcc-cross-canadian.inc
index 1b183d6fc1..bbe91ad0f9 100644
--- a/meta/recipes-devtools/gcc/gcc-cross-canadian.inc
+++ b/meta/recipes-devtools/gcc/gcc-cross-canadian.inc
@@ -175,6 +175,8 @@ do_install () {
175 done 175 done
176 done 176 done
177 done 177 done
178
179 cleanup_installed_include_fixed
178} 180}
179 181
180ELFUTILS = "nativesdk-elfutils" 182ELFUTILS = "nativesdk-elfutils"
diff --git a/meta/recipes-devtools/gcc/gcc-cross.inc b/meta/recipes-devtools/gcc/gcc-cross.inc
index 68e33c7358..f85ccd5c23 100644
--- a/meta/recipes-devtools/gcc/gcc-cross.inc
+++ b/meta/recipes-devtools/gcc/gcc-cross.inc
@@ -110,7 +110,7 @@ do_install () {
110 cp ${S}/libquadmath/quadmath.h ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include/ 110 cp ${S}/libquadmath/quadmath.h ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include/
111 cp ${S}/libquadmath/quadmath_weak.h ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include/ 111 cp ${S}/libquadmath/quadmath_weak.h ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include/
112 112
113 find ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include-fixed -type f -not -name "README" -not -name limits.h -not -name syslimits.h | xargs rm -f 113 cleanup_installed_include_fixed
114 114
115 # install LTO linker plugins where binutils tools can find it 115 # install LTO linker plugins where binutils tools can find it
116 install -d ${D}${libdir}/bfd-plugins 116 install -d ${D}${libdir}/bfd-plugins
diff --git a/meta/recipes-devtools/gcc/gcc-target.inc b/meta/recipes-devtools/gcc/gcc-target.inc
index c847838ec7..6b47c10413 100644
--- a/meta/recipes-devtools/gcc/gcc-target.inc
+++ b/meta/recipes-devtools/gcc/gcc-target.inc
@@ -193,37 +193,8 @@ do_install () {
193 install -d ${D}${libdir}/bfd-plugins 193 install -d ${D}${libdir}/bfd-plugins
194 ln -sf ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/liblto_plugin.so ${D}${libdir}/bfd-plugins/liblto_plugin.so 194 ln -sf ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/liblto_plugin.so ${D}${libdir}/bfd-plugins/liblto_plugin.so
195 chown -R root:root ${D} 195 chown -R root:root ${D}
196}
197 196
198do_install:append () { 197 cleanup_installed_include_fixed
199 #
200 # Thefixinc.sh script, run on the gcc's compile phase, looks into sysroot header
201 # files and places the modified files into
202 # {D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include-fixed folder. This makes the
203 # build not deterministic. The following code prunes all those headers
204 # except those under include-fixed/linux, *limits.h and README, yielding
205 # the same include-fixed folders no matter what sysroot
206
207 include_fixed="${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include-fixed"
208 for f in $(find ${include_fixed} -type f); do
209 case $f in
210 */include-fixed/linux/*)
211 continue
212 ;;
213 */include-fixed/*limits.h)
214 continue
215 ;;
216 */include-fixed/README)
217 continue
218 ;;
219 *)
220 # remove file and directory if empty
221 bbdebug 2 "Pruning $f"
222 rm $f
223 find $(dirname $f) -maxdepth 0 -empty -exec rmdir {} \;
224 ;;
225 esac
226 done
227} 198}
228 199
229# Installing /usr/lib/gcc/* means we'd have two copies, one from gcc-cross 200# Installing /usr/lib/gcc/* means we'd have two copies, one from gcc-cross