emacs: add missing chunk in use-qemu.patch for 23.1, create libc.so -> libc.so.6...
authorMartin Jansa <Martin.Jansa@gmail.com>
Mon, 10 May 2010 08:07:23 +0000 (10:07 +0200)
committerMartin Jansa <Martin.Jansa@gmail.com>
Mon, 10 May 2010 14:43:43 +0000 (16:43 +0200)
* prefix-args were built with target compiler but later executed in host
  environment, older emacs versions used prefix-args from qemu, but this
  part was missing in emacs23.1-use-qemu.patch
* Paul Fertser suggested that prefix-args should be built with host
  compiler instead and then without need to use qemu-arm
* When there is no libc.so in ${STAGING_DIR_TARGET}, which is copied to
  treedir, then it tries to use libc.so from host, which is wrong.
  Added something like angstrom-libc-fixup-hack.bb but for treedir.
* Also add dbus to DEPENDS to make sure configure finds it for bindings.

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
recipes/emacs/emacs-x11_23.1.bb
recipes/emacs/emacs.inc
recipes/emacs/files/emacs23.1-use-qemu.patch

index 65665f2..a754c76 100644 (file)
@@ -1,7 +1,9 @@
 require emacs.inc
 
 # full X (non-diet) is needed for X support
-DEPENDS += "gtk+ libungif"
+DEPENDS += "gtk+ libungif dbus"
+
+PR = "r1"
 
 EXTRA_OECONF = "--without-sound --with-x-toolkit=gtk"
 
index d643d31..6645f41 100644 (file)
@@ -50,6 +50,11 @@ do_compile_prepend() {
         if [ -f ${CROSS_DIR}/${TARGET_SYS}/lib/libgcc_s.so.* ]; then
                 cp -pPR ${CROSS_DIR}/${TARGET_SYS}/lib/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/lib/libc.so ]; then
+               ln -s libc.so.6 $treedir/lib/libc.so
+       fi
 }
 
 EXTRA_OEMAKE += 'QEMU="${QEMU}"'
index dd1f384..255b07f 100644 (file)
@@ -64,6 +64,15 @@ Index: emacs-23.1/src/Makefile.in
 ===================================================================
 --- emacs-23.1.orig/src/Makefile.in
 +++ emacs-23.1/src/Makefile.in
+@@ -497,7 +497,7 @@
+    this with the shell''s ``for'' construct.
+    Note that some people do not have '.'  in their paths, so we must
+    use ./prefix-args.  */
+-#define YMF_PASS_LDFLAGS(flags) `./prefix-args -Xlinker flags`
++#define YMF_PASS_LDFLAGS(flags) `${QEMU} ./prefix-args -Xlinker flags`
+ #else
+ #define YMF_PASS_LDFLAGS(flags) flags
+ #endif
 @@ -895,9 +895,9 @@ LIBES = $(LOADLIBES) $(LIBS) $(LIBX) $(L
  #endif