gamin: fix build with musl
authorBaruch Siach <baruch@tkos.co.il>
Tue, 1 Mar 2016 13:03:11 +0000 (15:03 +0200)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tue, 29 Mar 2016 22:02:28 +0000 (00:02 +0200)
musl does not provide the non portable PTHREAD_MUTEX_RECURSIVE_NP. Add a patch
removing the assumption the PTHREAD_MUTEX_RECURSIVE_NP is available when
'linux' is defined.

Upstream had no new release since 2008, so there is no much hope of getting
this fix applied upstream.

Also, fix the pthread dependency comment. gamin code uses pthread directly.

Fixes:
http://autobuild.buildroot.net/results/3a9/3a9328f384fc648ae61316402a84eaffb175881b/
http://autobuild.buildroot.net/results/69d/69d2a93bc97ab0d70c3acb2f9c9f28612ea95871/
http://autobuild.buildroot.net/results/092/092ac7380beb8ce403a1a6fd8e4176e9234413a3/

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
package/gamin/0003-fix-missing-PTHREAD_MUTEX_RECURSIVE_NP.patch [new file with mode: 0644]
package/gamin/Config.in

diff --git a/package/gamin/0003-fix-missing-PTHREAD_MUTEX_RECURSIVE_NP.patch b/package/gamin/0003-fix-missing-PTHREAD_MUTEX_RECURSIVE_NP.patch
new file mode 100644 (file)
index 0000000..4291277
--- /dev/null
@@ -0,0 +1,20 @@
+Fix missing PTHREAD_MUTEX_RECURSIVE_NP
+
+The musl C library does not provide the non portable
+PTHREAD_MUTEX_RECURSIVE_NP. Test for PTHREAD_MUTEX_RECURSIVE_NP only.
+
+Signed-off-by: Baruch Siach <baruch@tkos.co.il>
+---
+
+diff -Nuar gamin-0.1.10-orig/libgamin/gam_data.c gamin-0.1.10/libgamin/gam_data.c
+--- gamin-0.1.10-orig/libgamin/gam_data.c      2007-07-04 16:36:48.000000000 +0300
++++ gamin-0.1.10/libgamin/gam_data.c   2016-03-01 14:50:18.931696959 +0200
+@@ -470,7 +470,7 @@
+     }
+     if (is_threaded > 0) {
+       pthread_mutexattr_init(&attr);
+-#if defined(linux) || defined(PTHREAD_MUTEX_RECURSIVE_NP)
++#if defined(PTHREAD_MUTEX_RECURSIVE_NP)
+       pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE_NP);
+ #else
+       pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
index c191be06f65defb0762c482bceafa7de7c81795b..55e037a4a40d5f1258756f34d9bb29d559acceff 100644 (file)
@@ -1,7 +1,7 @@
 config BR2_PACKAGE_GAMIN
        bool "gamin"
        depends on BR2_USE_WCHAR # glib2
-       depends on BR2_TOOLCHAIN_HAS_THREADS # glib2
+       depends on BR2_TOOLCHAIN_HAS_THREADS
        depends on BR2_USE_MMU # glib2
        select BR2_PACKAGE_LIBGLIB2
        help