aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/emacs/emacs.inc
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/emacs/emacs.inc')
-rw-r--r--recipes/emacs/emacs.inc21
1 files changed, 20 insertions, 1 deletions
diff --git a/recipes/emacs/emacs.inc b/recipes/emacs/emacs.inc
index 05acd828dc..0464a26706 100644
--- a/recipes/emacs/emacs.inc
+++ b/recipes/emacs/emacs.inc
@@ -5,6 +5,8 @@ SECTION = "editor"
# and it needs to run some generated binaries..
DEPENDS += "qemu-native"
+DEPENDS +=" liblockfile"
+
inherit autotools
PACKAGES =+ "${PN}-el"
@@ -16,8 +18,12 @@ FILES_${PN} += "${datadir}/emacs"
FILES_${PN}-dbg += "${libexecdir}/emacs/*/*/.debug ${datadir}/emacs/*/*/.debug"
+TREEDIR = "${WORKDIR}/qemu-treedir"
+
# Large stack is required at least on x86_64 host, otherwise random segfaults appear:
-QEMU = "qemu-${TARGET_ARCH} ${QEMU_OPTIONS} -s 1048576 -L ${STAGING_DIR_TARGET}"
+QEMU = "qemu-${TARGET_ARCH} ${QEMU_OPTIONS} -s 1048576 -L ${TREEDIR}"
+
+export LOGNAME = "$(whoami)"
do_compile_prepend() {
sed -i ':1;s:\(START.* \|LIB_STANDARD.* \|LIBES.* \)/usr/lib:\1${STAGING_LIBDIR}:;t1' ${S}/src/s/gnu-linux.h `find "${S}" -name Makefile`
@@ -26,6 +32,19 @@ do_compile_prepend() {
ln -sf ../src/emacs lisp/emacs
ln -sf ../src/emacs lib-src/emacs
ln -sf ../src/emacs leim/emacs
+#copy STAGING_DIR_TARGET and libgcc_s.so* to WORKDIR/qemu-treedir #copied code from glibc-package.bbclass
+ treedir=${TREEDIR}
+ if [ -e $treedir ];then
+ rm -rf $treedir
+ fi
+ mkdir $treedir
+ cp -pPR ${STAGING_DIR_TARGET}/* $treedir
+ if [ -f ${CROSS_DIR}/${TARGET_SYS}/lib/libgcc_s.so ]; then
+ cp -pPR ${CROSS_DIR}/${TARGET_SYS}/lib/libgcc_s.so $treedir/lib
+ fi
+ if [ -f ${CROSS_DIR}/${TARGET_SYS}/lib/libgcc_s.so.* ]; then
+ cp -pPR ${CROSS_DIR}/${TARGET_SYS}/lib/libgcc_s.so.* $treedir/lib
+ fi
}
EXTRA_OEMAKE += 'QEMU="${QEMU}"'