summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/gcc/gcc-runtime.inc
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/gcc/gcc-runtime.inc')
-rw-r--r--meta/recipes-devtools/gcc/gcc-runtime.inc30
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 = "\
17EXTRA_OECONF:append:linuxstdbase = " --enable-clocale=gnu" 17EXTRA_OECONF:append:linuxstdbase = " --enable-clocale=gnu"
18EXTRA_OECONF:append = " --cache-file=${B}/config.cache" 18EXTRA_OECONF:append = " --cache-file=${B}/config.cache"
19EXTRA_OECONF:append:libc-newlib = " --with-newlib --with-target-subdir" 19EXTRA_OECONF:append:libc-newlib = " --with-newlib --with-target-subdir"
20EXTRA_OECONF:append:libc-picolibc = " --with-newlib --with-target-subdir"
20EXTRA_OECONF:append:libc-baremetal = " --with-target-subdir" 21EXTRA_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++
29SYMVERS_CONF:libc-newlib = "" 30SYMVERS_CONF:libc-newlib = ""
31SYMVERS_CONF:libc-picolibc = ""
30 32
31# Building with thumb enabled on armv6t fails 33# Building with thumb enabled on armv6t fails
32ARM_INSTRUCTION_SET:armv6 = "arm" 34ARM_INSTRUCTION_SET:armv6 = "arm"
@@ -43,10 +45,11 @@ RUNTIMELIBSSP ?= ""
43RUNTIMELIBSSP:mingw32 ?= "libssp" 45RUNTIMELIBSSP:mingw32 ?= "libssp"
44 46
45RUNTIMETARGET = "${RUNTIMELIBSSP} libstdc++-v3 libgomp libatomic ${RUNTIMELIBITM} \ 47RUNTIMETARGET = "${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
49RUNTIMETARGET:libc-newlib = "libstdc++-v3" 51RUNTIMETARGET:libc-newlib = "libstdc++-v3"
52RUNTIMETARGET: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
155INHIBIT_DEFAULT_DEPS = "1" 163INHIBIT_DEFAULT_DEPS = "1"
156DEPENDS = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++ libgcc virtual/${MLPREFIX}libc" 164DEPENDS = "virtual/cross-cc virtual/cross-c++ ${MLPREFIX}libgcc virtual/${MLPREFIX}libc"
157PROVIDES = "virtual/${TARGET_PREFIX}compilerlibs" 165DEPENDS:class-nativesdk = "virtual/nativesdk-cross-cc virtual/nativesdk-cross-c++ ${MLPREFIX}libgcc virtual/${MLPREFIX}libc"
166PROVIDES = "virtual/${MLPREFIX}compilerlibs"
158 167
159BBCLASSEXTEND = "nativesdk" 168BBCLASSEXTEND = "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
199FILES:libg2c = "${target_libdir}/libg2c.so.*"
200SUMMARY:libg2c = "Companion runtime library for g77"
201FILES:libg2c-dev = "\
202 ${libdir}/libg2c.so \
203 ${libdir}/libg2c.a \
204 ${libdir}/libfrtbegin.a \
205"
206SUMMARY:libg2c-dev = "Companion runtime library for g77 - development files"
207
208FILES:libstdc++ = "${libdir}/libstdc++.so.*" 206FILES:libstdc++ = "${libdir}/libstdc++.so.*"
209SUMMARY:libstdc++ = "GNU standard C++ library" 207SUMMARY:libstdc++ = "GNU standard C++ library"
210FILES:libstdc++-dev = "\ 208FILES: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"
216SUMMARY:libstdc++-dev = "GNU standard C++ library - development files" 215SUMMARY:libstdc++-dev = "GNU standard C++ library - development files"
217FILES:libstdc++-staticdev = "\ 216FILES:libstdc++-staticdev = "\
@@ -300,6 +299,7 @@ do_check[prefuncs] += "extend_recipe_sysroot"
300do_check[prefuncs] += "check_prepare" 299do_check[prefuncs] += "check_prepare"
301do_check[dirs] = "${WORKDIR}/dejagnu ${B}" 300do_check[dirs] = "${WORKDIR}/dejagnu ${B}"
302do_check[nostamp] = "1" 301do_check[nostamp] = "1"
302do_check[network] = "1"
303do_check() { 303do_check() {
304 export DEJAGNU="${WORKDIR}/dejagnu/site.exp" 304 export DEJAGNU="${WORKDIR}/dejagnu/site.exp"
305 305