Files
poky/meta/classes/image-mklibs.bbclass
Richard Purdie 1588b02d14 image/image-prelink/image-mklibs/sanity: Drop pointless EXPORT_FUNCTIONS
I'm sick of seeing people adding to EXPORT_FUNCTIONS in these classes
when they clearly have no idea what it does.

Worse, these uses of it are all broken, the naming is incorrect and
they do nothing. Lets remove them and try and preserve any remaining
part of my sanity.

(From OE-Core rev: 05a2fb19f722652c5d13be911b8ed45a264bbb40)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-01 23:37:01 +01:00

72 lines
1.7 KiB
Plaintext

do_rootfs[depends] += "mklibs-native:do_populate_sysroot"
IMAGE_PREPROCESS_COMMAND += "mklibs_optimize_image; "
mklibs_optimize_image_doit() {
rm -rf ${WORKDIR}/mklibs
mkdir -p ${WORKDIR}/mklibs/dest
cd ${IMAGE_ROOTFS}
du -bs > ${WORKDIR}/mklibs/du.before.mklibs.txt
for i in `find .`; do file $i; done \
| grep ELF \
| grep "LSB *executable" \
| grep "dynamically linked" \
| sed "s/:.*//" \
| sed "s+^\./++" \
> ${WORKDIR}/mklibs/executables.list
case ${TARGET_ARCH} in
powerpc | mips | microblaze )
dynamic_loader="${base_libdir}/ld.so.1"
;;
powerpc64)
dynamic_loader="${base_libdir}/ld64.so.1"
;;
x86_64)
dynamic_loader="${base_libdir}/ld-linux-x86-64.so.2"
;;
i586 )
dynamic_loader="${base_libdir}/ld-linux.so.2"
;;
arm )
dynamic_loader="${base_libdir}/ld-linux.so.3"
;;
* )
dynamic_loader="/unknown_dynamic_linker"
;;
esac
mklibs -v \
--ldlib ${dynamic_loader} \
--libdir ${baselib} \
--sysroot ${PKG_CONFIG_SYSROOT_DIR} \
--gcc-options "--sysroot=${PKG_CONFIG_SYSROOT_DIR}" \
--root ${IMAGE_ROOTFS} \
--target `echo ${TARGET_PREFIX} | sed 's/-$//' ` \
-d ${WORKDIR}/mklibs/dest \
`cat ${WORKDIR}/mklibs/executables.list`
cd ${WORKDIR}/mklibs/dest
for i in *
do
cp $i `find ${IMAGE_ROOTFS} -name $i`
done
cd ${IMAGE_ROOTFS}
du -bs > ${WORKDIR}/mklibs/du.after.mklibs.txt
echo rootfs size before mklibs optimization: `cat ${WORKDIR}/mklibs/du.before.mklibs.txt`
echo rootfs size after mklibs optimization: `cat ${WORKDIR}/mklibs/du.after.mklibs.txt`
}
mklibs_optimize_image() {
for img in ${MKLIBS_OPTIMIZED_IMAGES}
do
if [ "${img}" = "${PN}" ] || [ "${img}" = "all" ]
then
mklibs_optimize_image_doit
break
fi
done
}