diff --git a/core/recipes-core/glibc/glibc-locale_%.bbappend b/core/recipes-core/glibc/glibc-locale_%.bbappend index c5c0655..260cde9 100644 --- a/core/recipes-core/glibc/glibc-locale_%.bbappend +++ b/core/recipes-core/glibc/glibc-locale_%.bbappend @@ -2,3 +2,9 @@ python () { if d.getVar('TCMODE', True).startswith('external-sourcery'): d.setVar('INHIBIT_PACKAGE_DEBUG_SPLIT', '1') } + +# localedef needs libgcc & libc +do_package[depends] += "${MLPREFIX}libgcc:do_packagedata virtual/${MLPREFIX}libc:do_packagedata" +do_package_write_ipk[depends] += "${MLPREFIX}libgcc:do_packagedata virtual/${MLPREFIX}libc:do_packagedata" +do_package_write_deb[depends] += "${MLPREFIX}libgcc:do_packagedata virtual/${MLPREFIX}libc:do_packagedata" +do_package_write_rpm[depends] += "${MLPREFIX}libgcc:do_packagedata virtual/${MLPREFIX}libc:do_packagedata" diff --git a/recipes-external/gcc/gcc-runtime-external.bb b/recipes-external/gcc/gcc-runtime-external.bb index a249283..e477084 100644 --- a/recipes-external/gcc/gcc-runtime-external.bb +++ b/recipes-external/gcc/gcc-runtime-external.bb @@ -55,3 +55,9 @@ FILES_libstdc++-dev = "\ ${libdir}/libsupc++.la \ " BBCLASSEXTEND = "" + +# libstdc++ needs glibc +do_package[depends] += "virtual/${MLPREFIX}libc:do_packagedata" +do_package_write_ipk[depends] += "virtual/${MLPREFIX}libc:do_packagedata" +do_package_write_deb[depends] += "virtual/${MLPREFIX}libc:do_packagedata" +do_package_write_rpm[depends] += "virtual/${MLPREFIX}libc:do_packagedata" diff --git a/recipes-external/gcc/libgcc-external.bb b/recipes-external/gcc/libgcc-external.bb index 4d4264c..f026386 100644 --- a/recipes-external/gcc/libgcc-external.bb +++ b/recipes-external/gcc/libgcc-external.bb @@ -9,6 +9,12 @@ inherit external-toolchain LICENSE = "GPL-3.0-with-GCC-exception" PACKAGES =+ "libgcov-dev" +# libgcc needs libc, but glibc's utilities need libgcc, so short-circuit the +# interdependency here by manually specifying it rather than depending on the +# libc packagedata. +RDEPENDS_${PN} += "${TCLIBC}" +INSANE_SKIP_${PN} += "build-deps" + external_libroot = "${@os.path.realpath('${EXTERNAL_TOOLCHAIN_LIBROOT}').replace(os.path.realpath('${EXTERNAL_TOOLCHAIN}') + '/', '/')}" FILES_MIRRORS =. "${libdir}/gcc/${TARGET_SYS}/${GCC_VERSION}/|${external_libroot}/\n" @@ -29,8 +35,3 @@ INSANE_SKIP_${PN}-dev += "staticdev" FILES_${PN}-dbg += "${base_libdir}/.debug/libgcc_s.so.*.debug" FILES_libgcov-dev = "${libdir}/gcc/${TARGET_SYS}/${GCC_VERSION}/libgcov.a" INSANE_SKIP_libgcov-dev += "staticdev" - -do_package[depends] += "virtual/${MLPREFIX}libc:do_packagedata" -do_package_write_ipk[depends] += "virtual/${MLPREFIX}libc:do_packagedata" -do_package_write_deb[depends] += "virtual/${MLPREFIX}libc:do_packagedata" -do_package_write_rpm[depends] += "virtual/${MLPREFIX}libc:do_packagedata" diff --git a/recipes-external/glibc/glibc-external.bb b/recipes-external/glibc/glibc-external.bb index 3a21225..4a2cf41 100644 --- a/recipes-external/glibc/glibc-external.bb +++ b/recipes-external/glibc/glibc-external.bb @@ -208,3 +208,9 @@ FILES_${PN}-dev[file-checksums] += "${libc_headers_file}" # Currently, ldd and tzcode from Sourcery G++ still have #!/bin/bash RDEPENDS_ldd += "bash" RDEPENDS_tzcode += "bash" + +# glibc's utils need libgcc +do_package[depends] += "${MLPREFIX}libgcc:do_packagedata" +do_package_write_ipk[depends] += "${MLPREFIX}libgcc:do_packagedata" +do_package_write_deb[depends] += "${MLPREFIX}libgcc:do_packagedata" +do_package_write_rpm[depends] += "${MLPREFIX}libgcc:do_packagedata"