directfb: Update to 1.5.3.
Fix build errors for armv5tel and armv7hl. Fixes #10136.
This commit is contained in:
parent
02d0735a39
commit
8bc9695a0e
|
@ -4,23 +4,26 @@
|
|||
###############################################################################
|
||||
|
||||
name = directfb
|
||||
version = 1.4.1
|
||||
release = 2
|
||||
version = %{ver_major}.%{ver_minor}
|
||||
release = 1
|
||||
thisapp = DirectFB-%{version}
|
||||
|
||||
ver_major = 1.5
|
||||
ver_minor = 3
|
||||
|
||||
groups = System/Graphics
|
||||
url = http://www.directfb.org/
|
||||
license = LGPLv2+
|
||||
summary = Graphics abstraction library for the Linux Framebuffer Device.
|
||||
|
||||
description
|
||||
DirectFB is a thin library that provides hardware graphics acceleration, \
|
||||
input device handling and abstraction, integrated windowing system with \
|
||||
support for translucent windows and multiple display layers on top of the \
|
||||
DirectFB is a thin library that provides hardware graphics acceleration,
|
||||
input device handling and abstraction, integrated windowing system with
|
||||
support for translucent windows and multiple display layers on top of the
|
||||
Linux Framebuffer Device.
|
||||
end
|
||||
|
||||
source_dl =
|
||||
source_dl = http://www.directfb.org/download/DirectFBGL/DirectFB-%{ver_major}/
|
||||
|
||||
build
|
||||
requires
|
||||
|
@ -32,11 +35,14 @@ build
|
|||
zlib-devel
|
||||
end
|
||||
|
||||
LDFLAGS += \
|
||||
-Wl,-z,relro \
|
||||
-Wl,-z,noexecstack
|
||||
|
||||
configure_options += \
|
||||
--disable-x11 \
|
||||
--enable-sdl \
|
||||
--enable-video4linux2 \
|
||||
--enable-libv412 \
|
||||
--enable-zlib \
|
||||
--with-dither-rgb16=advanced \
|
||||
--disable-mmx \
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,64 @@
|
|||
--- DirectFB-1.5.3_orig/lib/direct/atomic.h 2011-07-31 14:51:06.000000000 -0400
|
||||
+++ DirectFB-1.5.3/lib/direct/atomic.h 2012-05-09 01:24:02.692169840 -0400
|
||||
@@ -185,20 +185,13 @@
|
||||
|
||||
#if defined(ARCH_ARM) && !defined(ARCH_IWMMXT)
|
||||
|
||||
-static inline int _D__atomic_cmpxchg(volatile int *ptr, int old, int new)
|
||||
+static inline int _D__atomic_cmpxchg(volatile int *ptr, int old, int _new)
|
||||
{
|
||||
- unsigned long oldval, res;
|
||||
|
||||
- do {
|
||||
- __asm__ __volatile__("@ atomic_cmpxchg\n"
|
||||
- "ldrex %1, [%2]\n"
|
||||
- "mov %0, #0\n"
|
||||
- "teq %1, %3\n"
|
||||
- "strexeq %0, %4, [%2]\n"
|
||||
- : "=&r" (res), "=&r" (oldval)
|
||||
- : "r" (ptr), "Ir" (old), "r" (new)
|
||||
- : "cc");
|
||||
- } while (res);
|
||||
+ unsigned long oldval = old;
|
||||
+
|
||||
+ __atomic_compare_exchange_n(ptr, &oldval, _new,
|
||||
+ false, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST);
|
||||
|
||||
return oldval;
|
||||
}
|
||||
@@ -220,24 +213,14 @@ static inline int _D__atomic_cmpxchg(vol
|
||||
|
||||
static inline int _D__atomic_add_return(int i, volatile int *v)
|
||||
{
|
||||
- unsigned long tmp;
|
||||
- int result;
|
||||
|
||||
- __asm__ __volatile__("@ atomic_add_return\n"
|
||||
-"1: ldrex %0, [%2]\n"
|
||||
-" add %0, %0, %3\n"
|
||||
-" strex %1, %0, [%2]\n"
|
||||
-" teq %1, #0\n"
|
||||
-" bne 1b"
|
||||
- : "=&r" (result), "=&r" (tmp)
|
||||
- : "r" (v), "Ir" (i)
|
||||
- : "cc");
|
||||
+ int result = __atomic_add_fetch(v, i, __ATOMIC_SEQ_CST);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
#define D_SYNC_ADD_AND_FETCH( ptr, value ) \
|
||||
- (_D__atomic_add_return( (int) (value), (void*) (ptr) ))
|
||||
+ (_D__atomic_add_return( (int) (value), (volatile int*) (ptr) ))
|
||||
|
||||
#endif
|
||||
|
||||
@@ -308,7 +291,7 @@ static inline int _D__atomic_add_return(
|
||||
}
|
||||
|
||||
#define D_SYNC_ADD_AND_FETCH( ptr, value ) \
|
||||
- (_D__atomic_add_return( (int) (value), (void*) (ptr) ))
|
||||
+ (_D__atomic_add_return( (int) (value), (volatile int*) (ptr) ))
|
||||
|
||||
#endif
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
diff -up DirectFB-1.5.3/tests/Makefile.am.lm DirectFB-1.5.3/tests/Makefile.am
|
||||
--- DirectFB-1.5.3/tests/Makefile.am.lm 2011-08-23 23:43:18.208040936 +0200
|
||||
+++ DirectFB-1.5.3/tests/Makefile.am 2011-08-23 23:46:11.940784728 +0200
|
||||
@@ -98,11 +98,11 @@ dfbtest_gl1_LDADD = $(libdirectfb) $(l
|
||||
|
||||
dfbtest_gl2_SOURCES = dfbtest_gl2.c
|
||||
dfbtest_gl2_CFLAGS = $(GLES2_CFLAGS)
|
||||
-dfbtest_gl2_LDADD = $(libdirectfb) $(libvoodoo) $(libfusion) $(libdirect) $(GLES2_LIBS)
|
||||
+dfbtest_gl2_LDADD = $(libdirectfb) $(libvoodoo) $(libfusion) $(libdirect) $(GLES2_LIBS) -lm
|
||||
|
||||
dfbtest_gl3_SOURCES = dfbtest_gl3.c
|
||||
dfbtest_gl3_CFLAGS = $(GLES2_CFLAGS)
|
||||
-dfbtest_gl3_LDADD = $(libdirectfb) $(libvoodoo) $(libfusion) $(libdirect) $(GLES2_LIBS)
|
||||
+dfbtest_gl3_LDADD = $(libdirectfb) $(libvoodoo) $(libfusion) $(libdirect) $(GLES2_LIBS) -lm
|
||||
|
||||
dfbtest_mirror_SOURCES = dfbtest_mirror.c
|
||||
dfbtest_mirror_LDADD = $(libdirectfb) $(libvoodoo) $(libfusion) $(libdirect)
|
||||
diff -up DirectFB-1.5.3/tests/Makefile.in.lm DirectFB-1.5.3/tests/Makefile.in
|
||||
--- DirectFB-1.5.3/tests/Makefile.in.lm 2011-08-07 10:17:49.000000000 +0200
|
||||
+++ DirectFB-1.5.3/tests/Makefile.in 2011-08-23 23:46:54.616981247 +0200
|
||||
@@ -575,10 +575,10 @@ dfbtest_gl1_CFLAGS = $(GLES2_CFLAGS)
|
||||
dfbtest_gl1_LDADD = $(libdirectfb) $(libvoodoo) $(libfusion) $(libdirect) $(GLES2_LIBS)
|
||||
dfbtest_gl2_SOURCES = dfbtest_gl2.c
|
||||
dfbtest_gl2_CFLAGS = $(GLES2_CFLAGS)
|
||||
-dfbtest_gl2_LDADD = $(libdirectfb) $(libvoodoo) $(libfusion) $(libdirect) $(GLES2_LIBS)
|
||||
+dfbtest_gl2_LDADD = $(libdirectfb) $(libvoodoo) $(libfusion) $(libdirect) $(GLES2_LIBS) -lm
|
||||
dfbtest_gl3_SOURCES = dfbtest_gl3.c
|
||||
dfbtest_gl3_CFLAGS = $(GLES2_CFLAGS)
|
||||
-dfbtest_gl3_LDADD = $(libdirectfb) $(libvoodoo) $(libfusion) $(libdirect) $(GLES2_LIBS)
|
||||
+dfbtest_gl3_LDADD = $(libdirectfb) $(libvoodoo) $(libfusion) $(libdirect) $(GLES2_LIBS) -lm
|
||||
dfbtest_mirror_SOURCES = dfbtest_mirror.c
|
||||
dfbtest_mirror_LDADD = $(libdirectfb) $(libvoodoo) $(libfusion) $(libdirect)
|
||||
dfbtest_reinit_SOURCES = dfbtest_reinit.c
|
Loading…
Reference in New Issue