63 lines
2.1 KiB
Diff
63 lines
2.1 KiB
Diff
test for __compar_fn_t and if not defined by libc then define it
|
|
help make directfb compile with musl
|
|
|
|
Upstream-Status: Pending
|
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
Index: DirectFB-1.7.7/configure.in
|
|
===================================================================
|
|
--- DirectFB-1.7.7.orig/configure.in
|
|
+++ DirectFB-1.7.7/configure.in
|
|
@@ -112,6 +112,17 @@ AC_CHECK_SIZEOF(long)
|
|
AC_CHECK_SIZEOF(long long)
|
|
AC_CHECK_FUNCS(fork)
|
|
|
|
+AC_CACHE_CHECK([for compar_fn_t in stdlib.h],ccache_cv_COMPAR_FN_T, [
|
|
+ AC_TRY_COMPILE(
|
|
+ [#include <stdlib.h>],
|
|
+ [void test_fn(void) { qsort(NULL, 0, 0, (__compar_fn_t)NULL); }],
|
|
+ ccache_cv_COMPAR_FN_T=yes,
|
|
+ ccache_cv_COMPAR_FN_T=no)])
|
|
+if test x"$ccache_cv_COMPAR_FN_T" = x"yes"; then
|
|
+ AC_DEFINE(HAVE_COMPAR_FN_T, 1,
|
|
+ Define to 1 if you have the `__compar_fn_t' typedef.)
|
|
+fi
|
|
+
|
|
AC_PATH_PROGS(PERL, perl5 perl)
|
|
|
|
AC_PATH_PROG(MAN2HTML, man2html, no)
|
|
Index: DirectFB-1.7.7/inputdrivers/lirc/lirc.c
|
|
===================================================================
|
|
--- DirectFB-1.7.7.orig/inputdrivers/lirc/lirc.c
|
|
+++ DirectFB-1.7.7/inputdrivers/lirc/lirc.c
|
|
@@ -59,6 +59,11 @@
|
|
|
|
#include <core/input_driver.h>
|
|
|
|
+#if HAVE_COMPAR_FN_T
|
|
+#define COMPAR_FN_T __compar_fn_t
|
|
+#else
|
|
+typedef int (*COMPAR_FN_T)(const void *, const void *);
|
|
+#endif
|
|
|
|
DFB_INPUT_DRIVER( lirc )
|
|
|
|
@@ -97,7 +102,7 @@ static DFBInputDeviceKeySymbol lirc_pars
|
|
qsort ( keynames,
|
|
D_ARRAY_SIZE( keynames ),
|
|
sizeof(keynames[0]),
|
|
- (__compar_fn_t) keynames_sort_compare );
|
|
+ (COMPAR_FN_T) keynames_sort_compare );
|
|
keynames_sorted = true;
|
|
}
|
|
|
|
@@ -124,7 +129,7 @@ static DFBInputDeviceKeySymbol lirc_pars
|
|
symbol_name = bsearch( name, keynames,
|
|
D_ARRAY_SIZE( keynames ),
|
|
sizeof(keynames[0]),
|
|
- (__compar_fn_t) keynames_compare );
|
|
+ (COMPAR_FN_T) keynames_compare );
|
|
if (symbol_name)
|
|
return symbol_name->symbol;
|
|
break;
|