emacs: fix X11DEPENDS and build without x11 enabled at all

* also added copy for libcroco
  librsvg is linked to it by default after
  http://git.openembedded.org/openembedded-core/commit/?id=e177f1475c55c7d0bf3e2752e6502a7e8577a075

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
This commit is contained in:
Martin Jansa 2012-09-22 13:44:54 +02:00
parent ac89f82dc8
commit c988ce5518
2 changed files with 60 additions and 48 deletions

View File

@ -8,7 +8,13 @@ DEPENDS += "qemu-native"
DEPENDS +=" liblockfile" DEPENDS +=" liblockfile"
X11DEPENDS = "gtk+ libungif dbus" X11DEPENDS = " \
libice libsm atk cairo dbus expat libffi fontconfig freetype gconf giflib \
jpeg xz pixman libpng librsvg tiff libcroco \
libx11 libxau libxcomposite libxcursor libxdamage libxdmcp libxext libxfixes \
libxft libxpm libxrandr libxrender \
gdk-pixbuf glib-2.0 gtk+ pango libxcb \
"
EXTRA_OECONF = "--without-sound --with-crt-dir=${STAGING_LIBDIR} " EXTRA_OECONF = "--without-sound --with-crt-dir=${STAGING_LIBDIR} "
@ -51,10 +57,23 @@ do_compile_prepend() {
rm -rf $treedir rm -rf $treedir
fi fi
mkdir -p $treedir/${base_libdir}
if [ -f ${TOOLCHAIN_PATH}/${TARGET_SYS}/${base_libdir}/libgcc_s.so ]; then
cp -pPR ${TOOLCHAIN_PATH}/${TARGET_SYS}/${base_libdir}/libgcc_s.so $treedir/${base_libdir}
fi
if [ -f ${TOOLCHAIN_PATH}/${TARGET_SYS}/${base_libdir}/libgcc_s.so.* ]; then
cp -pPR ${TOOLCHAIN_PATH}/${TARGET_SYS}/${base_libdir}/libgcc_s.so.* $treedir/${base_libdir}
fi
# stupid hack, but without it, it tries to use /usr/lib/libc.so from host and fails
# temacs: error while loading shared libraries: /usr/lib/libc.so: ELF file version does not match current one
if [ ! -f $treedir/${base_libdir}/libc.so ]; then
ln -s libc.so.6 $treedir/${base_libdir}/libc.so
fi
# copy only as much stuff as we need # copy only as much stuff as we need
# before: 5.5G ../../qemu-treedir/ # before: 5.5G ../../qemu-treedir/
# after: 86M ../../qemu-treedir/ # after: 17M ../../qemu-treedir/
mkdir -p $treedir/${base_libdir}
cp -pPR \ cp -pPR \
${STAGING_DIR_TARGET}/${base_libdir}/ld-* \ ${STAGING_DIR_TARGET}/${base_libdir}/ld-* \
${STAGING_DIR_TARGET}/${base_libdir}/libc.* \ ${STAGING_DIR_TARGET}/${base_libdir}/libc.* \
@ -65,12 +84,16 @@ do_compile_prepend() {
${STAGING_DIR_TARGET}/${base_libdir}/libresolv* \ ${STAGING_DIR_TARGET}/${base_libdir}/libresolv* \
${STAGING_DIR_TARGET}/${base_libdir}/libdl* \ ${STAGING_DIR_TARGET}/${base_libdir}/libdl* \
${STAGING_DIR_TARGET}/${base_libdir}/librt* \ ${STAGING_DIR_TARGET}/${base_libdir}/librt* \
${STAGING_DIR_TARGET}/${base_libdir}/libresolv* \
${STAGING_DIR_TARGET}/${base_libdir}/libgcc_s.so.* \ ${STAGING_DIR_TARGET}/${base_libdir}/libgcc_s.so.* \
${STAGING_DIR_TARGET}/${base_libdir}/libuuid.so.* \
${STAGING_DIR_TARGET}/${base_libdir}/libpthread* $treedir/${base_libdir}/ ${STAGING_DIR_TARGET}/${base_libdir}/libpthread* $treedir/${base_libdir}/
if [ ! -z "${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}" ] ; then
echo "X11 build enabled"
# copy only as much stuff as we need
# before: 5.5G ../../qemu-treedir/
# after: 86M ../../qemu-treedir/
cp -pPR \ cp -pPR \
${STAGING_DIR_TARGET}/${base_libdir}/libuuid.so.* \
${STAGING_DIR_TARGET}/${libdir}/libICE.so.* \ ${STAGING_DIR_TARGET}/${libdir}/libICE.so.* \
${STAGING_DIR_TARGET}/${libdir}/libSM.so.* \ ${STAGING_DIR_TARGET}/${libdir}/libSM.so.* \
${STAGING_DIR_TARGET}/${libdir}/libatk-1.0.so.* \ ${STAGING_DIR_TARGET}/${libdir}/libatk-1.0.so.* \
@ -91,6 +114,7 @@ do_compile_prepend() {
${STAGING_DIR_TARGET}/${libdir}/libstdc++.so.* \ ${STAGING_DIR_TARGET}/${libdir}/libstdc++.so.* \
${STAGING_DIR_TARGET}/${libdir}/libtiff.so.* \ ${STAGING_DIR_TARGET}/${libdir}/libtiff.so.* \
${STAGING_DIR_TARGET}/${libdir}/libxml2.so.* \ ${STAGING_DIR_TARGET}/${libdir}/libxml2.so.* \
${STAGING_DIR_TARGET}/${libdir}/libcroco-0.6.so.* \
${STAGING_DIR_TARGET}/${libdir}/libz.so.* $treedir/${base_libdir}/ ${STAGING_DIR_TARGET}/${libdir}/libz.so.* $treedir/${base_libdir}/
# X11 Xau Xcomposite Xcursor Xdamage Xdmcp Xext Xfixes Xft Xpm Xrandr Xrender # X11 Xau Xcomposite Xcursor Xdamage Xdmcp Xext Xfixes Xft Xpm Xrandr Xrender
@ -104,18 +128,6 @@ do_compile_prepend() {
# xcb-render xcb-shm xcb # xcb-render xcb-shm xcb
cp -pPR ${STAGING_DIR_TARGET}/${libdir}/libxcb*.so.* $treedir/${base_libdir}/ cp -pPR ${STAGING_DIR_TARGET}/${libdir}/libxcb*.so.* $treedir/${base_libdir}/
#cp -pPR ${STAGING_DIR_TARGET}/* $treedir
if [ -f ${TOOLCHAIN_PATH}/${TARGET_SYS}/${base_libdir}/libgcc_s.so ]; then
cp -pPR ${TOOLCHAIN_PATH}/${TARGET_SYS}/${base_libdir}/libgcc_s.so $treedir/lib
fi
if [ -f ${TOOLCHAIN_PATH}/${TARGET_SYS}/${base_libdir}/libgcc_s.so.* ]; then
cp -pPR ${TOOLCHAIN_PATH}/${TARGET_SYS}/${base_libdir}/libgcc_s.so.* $treedir/lib
fi
# stupid hack, but without it, it tries to use /usr/lib/libc.so from host and fails
# temacs: error while loading shared libraries: /usr/lib/libc.so: ELF file version does not match current one
if [ ! -f $treedir/${base_libdir}/libc.so ]; then
ln -s libc.so.6 $treedir/${base_libdir}/libc.so
fi fi
} }

View File

@ -1,6 +1,6 @@
require emacs.inc require emacs.inc
PR = "r1" PR = "r2"
SRC_URI = "${GNU_MIRROR}/emacs/emacs-${PV}.tar.gz;name=tarball \ SRC_URI = "${GNU_MIRROR}/emacs/emacs-${PV}.tar.gz;name=tarball \
file://use-qemu.patch \ file://use-qemu.patch \