x11vnc: fix the endian issue in mips for bug 782

x11vnc use LIBVNCSERVER_WORDS_BIGENDIAN to handle the endian, however
it is not set correctly when cross-compile for mips, thus x11vnc mips
does not work correctly.

meanwhile, x11vnc has the autconf macro AC_C_BIGENDIAN which can
handle the endian correctly. so this patch replace the
LIBVNCSERVER_WORDS_BIGENDIAN with WORDS_BIGENDIAN (generated by
AC_C_BIGENDIAN) to fix this issue.

this patch fix the bug [YOCTO #782]

this appraoch is suggested by Khem Raj

CC: Khem Raj <raj.khem@gmail.com>

(From OE-Core rev: da4b22c8bdf00813164d8830e52e1d6ad35cdd94)

Signed-off-by: Yu Ke <ke.yu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Yu Ke 2011-03-04 21:11:37 +08:00 committed by Richard Purdie
parent 0bc244181f
commit 87290a8497
2 changed files with 26 additions and 1 deletions

View File

@ -0,0 +1,22 @@
libvncserver: replace LIBVNCSERVER_WORDS_BIGENDIAN with WORDS_BIGENDIAN
since macro AC_C_BIGENDIAN is used in autoconf and WORDS_BIGENDIAN is
automatically set for different arch, it is better to use WORDS_BIGENDIAN
instead of LIBVNCSERVER_WORDS_BIGENDIAN, which cuase issue in mips.
Signed-off-by: Yu Ke <ke.yu@intel.com>
diff --git a/libvncserver/main.c b/libvncserver/main.c
index b6bd930..8bbb7bf 100644
--- a/libvncserver/main.c
+++ b/libvncserver/main.c
@@ -47,7 +47,7 @@ static MUTEX(extMutex);
static int rfbEnableLogging=1;
-#ifdef LIBVNCSERVER_WORDS_BIGENDIAN
+#ifdef WORDS_BIGENDIAN
char rfbEndianTest = (1==0);
#else
char rfbEndianTest = (1==1);

View File

@ -9,8 +9,11 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=361b6b837cad26c6900a926b62aada5f \
DEPENDS = "openssl virtual/libx11 libxext avahi jpeg zlib"
PR = "r1"
SRC_URI = "${SOURCEFORGE_MIRROR}/libvncserver/x11vnc-${PV}.tar.gz\
file://starting-fix.patch"
file://starting-fix.patch \
file://endian-fix.patch "
SRC_URI[md5sum] = "1498a68d02aa7b6c97bf746c073c8d00"
SRC_URI[sha256sum] = "60a7cceee2c9a5f1c854340b2bae13f975ac55906237042f81f795b28a154a79"