diff options
Diffstat (limited to 'meta/recipes-devtools/gcc/gcc-runtime.inc')
-rw-r--r-- | meta/recipes-devtools/gcc/gcc-runtime.inc | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-runtime.inc b/meta/recipes-devtools/gcc/gcc-runtime.inc index dbc9141000..c4e1c5b9a5 100644 --- a/meta/recipes-devtools/gcc/gcc-runtime.inc +++ b/meta/recipes-devtools/gcc/gcc-runtime.inc | |||
@@ -17,6 +17,7 @@ EXTRA_OECONF_PATHS = "\ | |||
17 | EXTRA_OECONF:append:linuxstdbase = " --enable-clocale=gnu" | 17 | EXTRA_OECONF:append:linuxstdbase = " --enable-clocale=gnu" |
18 | EXTRA_OECONF:append = " --cache-file=${B}/config.cache" | 18 | EXTRA_OECONF:append = " --cache-file=${B}/config.cache" |
19 | EXTRA_OECONF:append:libc-newlib = " --with-newlib --with-target-subdir" | 19 | EXTRA_OECONF:append:libc-newlib = " --with-newlib --with-target-subdir" |
20 | EXTRA_OECONF:append:libc-picolibc = " --with-newlib --with-target-subdir" | ||
20 | EXTRA_OECONF:append:libc-baremetal = " --with-target-subdir" | 21 | EXTRA_OECONF:append:libc-baremetal = " --with-target-subdir" |
21 | 22 | ||
22 | # Disable ifuncs for libatomic on arm conflicts -march/-mcpu | 23 | # Disable ifuncs for libatomic on arm conflicts -march/-mcpu |
@@ -27,6 +28,7 @@ DISABLE_STATIC:class-nativesdk ?= "" | |||
27 | 28 | ||
28 | # Newlib does not support symbol versioning on libsdtcc++ | 29 | # Newlib does not support symbol versioning on libsdtcc++ |
29 | SYMVERS_CONF:libc-newlib = "" | 30 | SYMVERS_CONF:libc-newlib = "" |
31 | SYMVERS_CONF:libc-picolibc = "" | ||
30 | 32 | ||
31 | # Building with thumb enabled on armv6t fails | 33 | # Building with thumb enabled on armv6t fails |
32 | ARM_INSTRUCTION_SET:armv6 = "arm" | 34 | ARM_INSTRUCTION_SET:armv6 = "arm" |
@@ -43,10 +45,11 @@ RUNTIMELIBSSP ?= "" | |||
43 | RUNTIMELIBSSP:mingw32 ?= "libssp" | 45 | RUNTIMELIBSSP:mingw32 ?= "libssp" |
44 | 46 | ||
45 | RUNTIMETARGET = "${RUNTIMELIBSSP} libstdc++-v3 libgomp libatomic ${RUNTIMELIBITM} \ | 47 | RUNTIMETARGET = "${RUNTIMELIBSSP} libstdc++-v3 libgomp libatomic ${RUNTIMELIBITM} \ |
46 | ${@bb.utils.contains_any('FORTRAN', [',fortran',',f77'], 'libquadmath', '', d)} \ | 48 | ${@bb.utils.contains('FORTRAN', ',fortran', 'libquadmath', '', d)} \ |
47 | " | 49 | " |
48 | # Only build libstdc++ for newlib | 50 | # Only build libstdc++ for newlib |
49 | RUNTIMETARGET:libc-newlib = "libstdc++-v3" | 51 | RUNTIMETARGET:libc-newlib = "libstdc++-v3" |
52 | RUNTIMETARGET:libc-picolibc = "libstdc++-v3" | ||
50 | 53 | ||
51 | # libiberty | 54 | # libiberty |
52 | # libgfortran needs separate recipe due to libquadmath dependency | 55 | # libgfortran needs separate recipe due to libquadmath dependency |
@@ -92,7 +95,7 @@ do_install () { | |||
92 | mv ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include/* ${D}${libdir}/${TARGET_SYS}/${BINV}/include | 95 | mv ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include/* ${D}${libdir}/${TARGET_SYS}/${BINV}/include |
93 | rmdir --ignore-fail-on-non-empty -p ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include | 96 | rmdir --ignore-fail-on-non-empty -p ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include |
94 | fi | 97 | fi |
95 | rm -rf ${D}${infodir}/libgomp.info ${D}${infodir}/dir | 98 | rm -rf ${D}${infodir}/libgomp.info* ${D}${infodir}/dir |
96 | rm -rf ${D}${infodir}/libitm.info ${D}${infodir}/dir | 99 | rm -rf ${D}${infodir}/libitm.info ${D}${infodir}/dir |
97 | rm -rf ${D}${infodir}/libquadmath.info ${D}${infodir}/dir | 100 | rm -rf ${D}${infodir}/libquadmath.info ${D}${infodir}/dir |
98 | if [ -d ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/finclude ]; then | 101 | if [ -d ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/finclude ]; then |
@@ -141,6 +144,11 @@ do_install:append:class-target () { | |||
141 | ln -sf ../${X86ARCH32}${TARGET_VENDOR}-${TARGET_OS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-${TARGET_OS}/32 | 144 | ln -sf ../${X86ARCH32}${TARGET_VENDOR}-${TARGET_OS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-${TARGET_OS}/32 |
142 | fi | 145 | fi |
143 | 146 | ||
147 | if [ "${TARGET_ARCH}" = "riscv32" -o "${TARGET_ARCH}" = "riscv64" ] && [ -z "${MULTILIB_VARIANTS}" ]; then | ||
148 | mv ${D}${includedir}/c++/${BINV}/${TARGET_SYS}/bits/* ${D}${includedir}/c++/${BINV}/bits | ||
149 | mv ${D}${includedir}/c++/${BINV}/${TARGET_SYS}/ext/* ${D}${includedir}/c++/${BINV}/ext | ||
150 | fi | ||
151 | |||
144 | if [ "${TCLIBC}" != "glibc" ]; then | 152 | if [ "${TCLIBC}" != "glibc" ]; then |
145 | case "${TARGET_OS}" in | 153 | case "${TARGET_OS}" in |
146 | "linux-musl" | "linux-*spe") extra_target_os="linux";; | 154 | "linux-musl" | "linux-*spe") extra_target_os="linux";; |
@@ -153,8 +161,9 @@ do_install:append:class-target () { | |||
153 | } | 161 | } |
154 | 162 | ||
155 | INHIBIT_DEFAULT_DEPS = "1" | 163 | INHIBIT_DEFAULT_DEPS = "1" |
156 | DEPENDS = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++ libgcc virtual/${MLPREFIX}libc" | 164 | DEPENDS = "virtual/cross-cc virtual/cross-c++ ${MLPREFIX}libgcc virtual/${MLPREFIX}libc" |
157 | PROVIDES = "virtual/${TARGET_PREFIX}compilerlibs" | 165 | DEPENDS:class-nativesdk = "virtual/nativesdk-cross-cc virtual/nativesdk-cross-c++ ${MLPREFIX}libgcc virtual/${MLPREFIX}libc" |
166 | PROVIDES = "virtual/${MLPREFIX}compilerlibs" | ||
158 | 167 | ||
159 | BBCLASSEXTEND = "nativesdk" | 168 | BBCLASSEXTEND = "nativesdk" |
160 | 169 | ||
@@ -164,8 +173,6 @@ PACKAGES = "\ | |||
164 | libstdc++-precompile-dev \ | 173 | libstdc++-precompile-dev \ |
165 | libstdc++-dev \ | 174 | libstdc++-dev \ |
166 | libstdc++-staticdev \ | 175 | libstdc++-staticdev \ |
167 | libg2c \ | ||
168 | libg2c-dev \ | ||
169 | libssp \ | 176 | libssp \ |
170 | libssp-dev \ | 177 | libssp-dev \ |
171 | libssp-staticdev \ | 178 | libssp-staticdev \ |
@@ -196,15 +203,6 @@ FILES:${PN}-dbg += "\ | |||
196 | # So it needs to be added manually to images sadly. | 203 | # So it needs to be added manually to images sadly. |
197 | # RDEPENDS:${PN}-dbg += "python3-datetime" | 204 | # RDEPENDS:${PN}-dbg += "python3-datetime" |
198 | 205 | ||
199 | FILES:libg2c = "${target_libdir}/libg2c.so.*" | ||
200 | SUMMARY:libg2c = "Companion runtime library for g77" | ||
201 | FILES:libg2c-dev = "\ | ||
202 | ${libdir}/libg2c.so \ | ||
203 | ${libdir}/libg2c.a \ | ||
204 | ${libdir}/libfrtbegin.a \ | ||
205 | " | ||
206 | SUMMARY:libg2c-dev = "Companion runtime library for g77 - development files" | ||
207 | |||
208 | FILES:libstdc++ = "${libdir}/libstdc++.so.*" | 206 | FILES:libstdc++ = "${libdir}/libstdc++.so.*" |
209 | SUMMARY:libstdc++ = "GNU standard C++ library" | 207 | SUMMARY:libstdc++ = "GNU standard C++ library" |
210 | FILES:libstdc++-dev = "\ | 208 | FILES:libstdc++-dev = "\ |
@@ -212,6 +210,7 @@ FILES:libstdc++-dev = "\ | |||
212 | ${libdir}/libstdc++.so \ | 210 | ${libdir}/libstdc++.so \ |
213 | ${libdir}/libstdc++*.la \ | 211 | ${libdir}/libstdc++*.la \ |
214 | ${libdir}/libsupc++.la \ | 212 | ${libdir}/libsupc++.la \ |
213 | ${libdir}/libstdc++.modules.json \ | ||
215 | " | 214 | " |
216 | SUMMARY:libstdc++-dev = "GNU standard C++ library - development files" | 215 | SUMMARY:libstdc++-dev = "GNU standard C++ library - development files" |
217 | FILES:libstdc++-staticdev = "\ | 216 | FILES:libstdc++-staticdev = "\ |
@@ -300,6 +299,7 @@ do_check[prefuncs] += "extend_recipe_sysroot" | |||
300 | do_check[prefuncs] += "check_prepare" | 299 | do_check[prefuncs] += "check_prepare" |
301 | do_check[dirs] = "${WORKDIR}/dejagnu ${B}" | 300 | do_check[dirs] = "${WORKDIR}/dejagnu ${B}" |
302 | do_check[nostamp] = "1" | 301 | do_check[nostamp] = "1" |
302 | do_check[network] = "1" | ||
303 | do_check() { | 303 | do_check() { |
304 | export DEJAGNU="${WORKDIR}/dejagnu/site.exp" | 304 | export DEJAGNU="${WORKDIR}/dejagnu/site.exp" |
305 | 305 | ||