diff options
Diffstat (limited to 'meta-oe/recipes-support/emacs/emacs.inc')
-rw-r--r-- | meta-oe/recipes-support/emacs/emacs.inc | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/meta-oe/recipes-support/emacs/emacs.inc b/meta-oe/recipes-support/emacs/emacs.inc new file mode 100644 index 000000000..588371999 --- /dev/null +++ b/meta-oe/recipes-support/emacs/emacs.inc | |||
@@ -0,0 +1,68 @@ | |||
1 | DESCRIPTION = "Emacs" | ||
2 | HOMEPAGE = "http://www.gnu.org/software/emacs/" | ||
3 | LICENSE = "GPLv3" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" | ||
5 | SECTION = "editor" | ||
6 | # and it needs to run some generated binaries.. | ||
7 | DEPENDS += "qemu-native" | ||
8 | |||
9 | DEPENDS +=" liblockfile" | ||
10 | |||
11 | X11DEPENDS = "gtk+ libungif dbus" | ||
12 | |||
13 | EXTRA_OECONF = "--without-sound " | ||
14 | |||
15 | PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}" | ||
16 | PACKAGECONFIG[x11] = "--with-x-toolkit=gtk,--without-x,${X11DEPENDS}" | ||
17 | |||
18 | inherit autotools | ||
19 | |||
20 | PACKAGES =+ "${PN}-el" | ||
21 | |||
22 | FILES_${PN}-el = "${datadir}/emacs/*/*/*.el.gz \ | ||
23 | ${datadir}/emacs/*/*/*/*.el.gz" | ||
24 | |||
25 | FILES_${PN} += "${datadir}/emacs" | ||
26 | |||
27 | FILES_${PN}-dbg += "${libexecdir}/emacs/*/*/.debug ${datadir}/emacs/*/*/.debug" | ||
28 | |||
29 | TREEDIR = "${WORKDIR}/qemu-treedir" | ||
30 | |||
31 | QEMUARCH= "${TARGET_ARCH}" | ||
32 | QEMUARCH_i486 = "i386" | ||
33 | QEMUARCH_i586 = "i386" | ||
34 | QEMUARCH_i686 = "i386" | ||
35 | |||
36 | # Large stack is required at least on x86_64 host, otherwise random segfaults appear: | ||
37 | QEMU = "qemu-${QEMUARCH} ${QEMU_OPTIONS} -s 1048576 -L ${TREEDIR} " | ||
38 | |||
39 | export LOGNAME = "$(whoami)" | ||
40 | |||
41 | do_compile_prepend() { | ||
42 | sed -i ':1;s:\(START.* \|LIB_STANDARD.* \|LIBES.* \)/usr/lib:\1${STAGING_LIBDIR}:;t1' ${S}/src/s/gnu-linux.h `find "${S}" -name Makefile` | ||
43 | export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${TOOLCHAIN_PATH}/${TARGET_SYS}/lib" | ||
44 | # Ugly hack, see files/use-qemu.patch for more: | ||
45 | ln -sf ../src/emacs lisp/emacs | ||
46 | ln -sf ../src/emacs lib-src/emacs | ||
47 | ln -sf ../src/emacs leim/emacs | ||
48 | #copy STAGING_DIR_TARGET and libgcc_s.so* to WORKDIR/qemu-treedir #copied code from glibc-package.bbclass | ||
49 | treedir=${TREEDIR} | ||
50 | if [ -e $treedir ];then | ||
51 | rm -rf $treedir | ||
52 | fi | ||
53 | mkdir $treedir | ||
54 | cp -pPR ${STAGING_DIR_TARGET}/* $treedir | ||
55 | if [ -f ${TOOLCHAIN_PATH}/${TARGET_SYS}/lib/libgcc_s.so ]; then | ||
56 | cp -pPR ${TOOLCHAIN_PATH}/${TARGET_SYS}/lib/libgcc_s.so $treedir/lib | ||
57 | fi | ||
58 | if [ -f ${TOOLCHAIN_PATH}/${TARGET_SYS}/lib/libgcc_s.so.* ]; then | ||
59 | cp -pPR ${TOOLCHAIN_PATH}/${TARGET_SYS}/lib/libgcc_s.so.* $treedir/lib | ||
60 | fi | ||
61 | # stupid hack, but without it, it tries to use /usr/lib/libc.so from host and fails | ||
62 | # temacs: error while loading shared libraries: /usr/lib/libc.so: ELF file version does not match current one | ||
63 | if [ ! -f $treedir/lib/libc.so ]; then | ||
64 | ln -s libc.so.6 $treedir/lib/libc.so | ||
65 | fi | ||
66 | } | ||
67 | |||
68 | EXTRA_OEMAKE += 'QEMU="${QEMU}"' | ||