diff options
Diffstat (limited to 'meta/recipes-graphics/directfb/directfb/compar_fn_t.patch')
-rw-r--r-- | meta/recipes-graphics/directfb/directfb/compar_fn_t.patch | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/meta/recipes-graphics/directfb/directfb/compar_fn_t.patch b/meta/recipes-graphics/directfb/directfb/compar_fn_t.patch new file mode 100644 index 0000000000..ee4d900ba8 --- /dev/null +++ b/meta/recipes-graphics/directfb/directfb/compar_fn_t.patch | |||
@@ -0,0 +1,62 @@ | |||
1 | test for __compar_fn_t and if not defined by libc then define it | ||
2 | help make directfb compile with musl | ||
3 | |||
4 | Upstream-Status: Pending | ||
5 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
6 | |||
7 | Index: DirectFB-1.7.7/configure.in | ||
8 | =================================================================== | ||
9 | --- DirectFB-1.7.7.orig/configure.in | ||
10 | +++ DirectFB-1.7.7/configure.in | ||
11 | @@ -112,6 +112,17 @@ AC_CHECK_SIZEOF(long) | ||
12 | AC_CHECK_SIZEOF(long long) | ||
13 | AC_CHECK_FUNCS(fork) | ||
14 | |||
15 | +AC_CACHE_CHECK([for compar_fn_t in stdlib.h],ccache_cv_COMPAR_FN_T, [ | ||
16 | + AC_TRY_COMPILE( | ||
17 | + [#include <stdlib.h>], | ||
18 | + [void test_fn(void) { qsort(NULL, 0, 0, (__compar_fn_t)NULL); }], | ||
19 | + ccache_cv_COMPAR_FN_T=yes, | ||
20 | + ccache_cv_COMPAR_FN_T=no)]) | ||
21 | +if test x"$ccache_cv_COMPAR_FN_T" = x"yes"; then | ||
22 | + AC_DEFINE(HAVE_COMPAR_FN_T, 1, | ||
23 | + Define to 1 if you have the `__compar_fn_t' typedef.) | ||
24 | +fi | ||
25 | + | ||
26 | AC_PATH_PROGS(PERL, perl5 perl) | ||
27 | |||
28 | AC_PATH_PROG(MAN2HTML, man2html, no) | ||
29 | Index: DirectFB-1.7.7/inputdrivers/lirc/lirc.c | ||
30 | =================================================================== | ||
31 | --- DirectFB-1.7.7.orig/inputdrivers/lirc/lirc.c | ||
32 | +++ DirectFB-1.7.7/inputdrivers/lirc/lirc.c | ||
33 | @@ -59,6 +59,11 @@ | ||
34 | |||
35 | #include <core/input_driver.h> | ||
36 | |||
37 | +#if HAVE_COMPAR_FN_T | ||
38 | +#define COMPAR_FN_T __compar_fn_t | ||
39 | +#else | ||
40 | +typedef int (*COMPAR_FN_T)(const void *, const void *); | ||
41 | +#endif | ||
42 | |||
43 | DFB_INPUT_DRIVER( lirc ) | ||
44 | |||
45 | @@ -97,7 +102,7 @@ static DFBInputDeviceKeySymbol lirc_pars | ||
46 | qsort ( keynames, | ||
47 | D_ARRAY_SIZE( keynames ), | ||
48 | sizeof(keynames[0]), | ||
49 | - (__compar_fn_t) keynames_sort_compare ); | ||
50 | + (COMPAR_FN_T) keynames_sort_compare ); | ||
51 | keynames_sorted = true; | ||
52 | } | ||
53 | |||
54 | @@ -124,7 +129,7 @@ static DFBInputDeviceKeySymbol lirc_pars | ||
55 | symbol_name = bsearch( name, keynames, | ||
56 | D_ARRAY_SIZE( keynames ), | ||
57 | sizeof(keynames[0]), | ||
58 | - (__compar_fn_t) keynames_compare ); | ||
59 | + (COMPAR_FN_T) keynames_compare ); | ||
60 | if (symbol_name) | ||
61 | return symbol_name->symbol; | ||
62 | break; | ||