@@ -2,6 +2,7 @@
# Released under the MIT license (see COPYING.MIT for the terms)
require musl.inc
+inherit linuxloader
SRCREV = "0fa1e638e87cf257e9f96b4019b2076afd674a19"
@@ -26,6 +27,7 @@ DEPENDS = "virtual/${TARGET_PREFIX}binutils \
bsd-headers \
libssp-nonshared \
"
+GLIBC_LDSO = "${@get_glibc_loader(d)}"
export CROSS_COMPILE="${TARGET_PREFIX}"
@@ -62,12 +64,26 @@ do_install() {
install -d ${D}${bindir}
rm -f ${D}${bindir}/ldd
lnr ${D}${libdir}/libc.so ${D}${bindir}/ldd
+ lnr ${D}${libdir}/libc.so ${D}${GLIBC_LDSO}
for l in crypt dl m pthread resolv rt util xnet
do
ln -sf libc.so ${D}${libdir}/lib$l.so
done
+ for i in libc.so.6 libcrypt.so.1 libdl.so.2 libm.so.6 libpthread.so.0 libresolv.so.2 librt.so.1 libutil.so.1; do
+ ln -sf libc.so ${D}${libdir}/$i
+ done
}
+PACKAGES =+ "${PN}-glibc-compat"
+
+FILES_${PN}-glibc-compat += "\
+ ${libdir}/libc.so.6 ${libdir}/libcrypt.so.1 \
+ ${libdir}/libdl.so.2 ${libdir}/libm.so.6 \
+ ${libdir}/libpthread.so.0 ${libdir}/libresolv.so.2 \
+ ${libdir}/librt.so.1 ${libdir}/libutil.so.1 \
+ ${GLIBC_LDSO} \
+ "
+
RDEPENDS_${PN}-dev += "linux-libc-headers-dev bsd-headers-dev libssp-nonshared-staticdev"
RPROVIDES_${PN}-dev += "libc-dev virtual-libc-dev"
RPROVIDES_${PN} += "ldd libsegfault rtld(GNU_HASH)"
This is a step towards running pebuilt applications for glibc on musl There are many realworld applications which are not always built from source, especially provided by third party Package the glibc symlinks into new package musl-glibc-compat Signed-off-by: Khem Raj <raj.khem@gmail.com> --- V3: Inherit linuxloader for glibc ldso meta/recipes-core/musl/musl_git.bb | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) -- 2.19.0 -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core