summaryrefslogtreecommitdiffstats
path: root/recipes-extended/bdwgc
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-extended/bdwgc')
-rw-r--r--recipes-extended/bdwgc/bdwgc/0001-configure.ac-add-check-for-NO_GETCONTEXT-definition.patch29
-rw-r--r--recipes-extended/bdwgc/bdwgc/musl_header_fix.patch27
-rw-r--r--recipes-extended/bdwgc/bdwgc_7.6.0.bb42
3 files changed, 98 insertions, 0 deletions
diff --git a/recipes-extended/bdwgc/bdwgc/0001-configure.ac-add-check-for-NO_GETCONTEXT-definition.patch b/recipes-extended/bdwgc/bdwgc/0001-configure.ac-add-check-for-NO_GETCONTEXT-definition.patch
new file mode 100644
index 0000000..8ef774f
--- /dev/null
+++ b/recipes-extended/bdwgc/bdwgc/0001-configure.ac-add-check-for-NO_GETCONTEXT-definition.patch
@@ -0,0 +1,29 @@
1configure.ac: add check for NO_GETCONTEXT definition
2
3Signed-off-by: Samuel Martin <s.martin49@gmail.com>
4[yann.morin.1998@free.fr: add a comment, change variable name, use
5 AS_IF, remove debug traces, use AC_CHECK_FUNCS (as suggested by
6 Thomas)]
7Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
8Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
9
10---
11Upstream-Status: Pending
12 configure.ac | 6 ++++++
13 1 file changed, 6 insertions(+)
14
15--- bdwgc-7.2f.orig/configure.ac 2014-06-01 19:00:47.000000000 +0200
16+++ bdwgc-7.2f/configure.ac 2014-12-23 14:13:11.585716713 +0100
17@@ -365,6 +365,12 @@
18 AC_MSG_RESULT($ac_cv_fno_strict_aliasing)
19 fi
20
21+# Check for getcontext (uClibc can be configured without it, for example)
22+AC_CHECK_FUNCS([getcontext])
23+AS_IF([test "$ac_cv_func_getcontext" = "no"],
24+ [CFLAGS="$CFLAGS -DNO_GETCONTEXT"
25+ CPPFLAGS="$CPPFLAGS -DNO_GETCONTEXT"])
26+
27 case "$host" in
28 # While IRIX 6 has libdl for the O32 and N32 ABIs, it's missing for N64
29 # and unnecessary everywhere.
diff --git a/recipes-extended/bdwgc/bdwgc/musl_header_fix.patch b/recipes-extended/bdwgc/bdwgc/musl_header_fix.patch
new file mode 100644
index 0000000..4a18496
--- /dev/null
+++ b/recipes-extended/bdwgc/bdwgc/musl_header_fix.patch
@@ -0,0 +1,27 @@
1Add missing header to avoid:
2
3| 1472659610.016355: ../git/pthread_stop_world.c: In function 'GC_brief_async_signal_safe_sleep':
4| 1472659610.0540252: ../git/pthread_stop_world.c:397:22: error: storage size of 'tv' isn't known
5| 1472659610.0540252: struct timeval tv;
6| 1472659610.0540252: ^~
7| 1472659610.054099: ../git/pthread_stop_world.c:397:22: warning: unused variable 'tv' [-Wunused-variable]
8| 1472659610.054099: struct timeval tv;
9| 1472659610.054099: ^~
10| 1472659610.054099: Makefile:1530: recipe for target 'pthread_stop_world.lo' failed
11
12in musl builds.
13
14Upstream-Status: Pending
15
16Index: git/pthread_stop_world.c
17===================================================================
18--- git.orig/pthread_stop_world.c
19+++ git/pthread_stop_world.c
20@@ -45,6 +45,7 @@
21 #include <semaphore.h>
22 #include <errno.h>
23 #include <unistd.h>
24+#include <sys/time.h>
25 #include "atomic_ops.h"
26
27 /* It's safe to call original pthread_sigmask() here. */
diff --git a/recipes-extended/bdwgc/bdwgc_7.6.0.bb b/recipes-extended/bdwgc/bdwgc_7.6.0.bb
new file mode 100644
index 0000000..dcb68f0
--- /dev/null
+++ b/recipes-extended/bdwgc/bdwgc_7.6.0.bb
@@ -0,0 +1,42 @@
1SUMMARY = "A garbage collector for C and C++"
2
3DESCRIPTION = "The Boehm-Demers-Weiser conservative garbage collector can be\
4 used as a garbage collecting replacement for C malloc or C++ new. It allows\
5 you to allocate memory basically as you normally would, without explicitly\
6 deallocating memory that is no longer useful. The collector automatically\
7 recycles memory when it determines that it can no longer be otherwise\
8 accessed.\
9 The collector is also used by a number of programming language\
10 implementations that either use C as intermediate code, want to facilitate\
11 easier interoperation with C libraries, or just prefer the simple collector\
12 interface.\
13 Alternatively, the garbage collector may be used as a leak detector for C\
14 or C++ programs, though that is not its primary goal.\
15 Empirically, this collector works with most unmodified C programs, simply\
16 by replacing malloc with GC_malloc calls, replacing realloc with GC_realloc\
17 calls, and removing free calls."
18
19HOMEPAGE = "http://www.hboehm.info/gc/"
20SECTION = "devel"
21LICENSE = "MIT"
22LIC_FILES_CHKSUM = "file://README.QUICK;md5=4f81f24ec69726c312487c2ac740e9e3"
23
24SRCREV = "8ac1d84a40eb7a431fec1b8097e3f24b48fb23fa"
25SRC_URI = "git://github.com/ivmai/bdwgc.git \
26 file://0001-configure.ac-add-check-for-NO_GETCONTEXT-definition.patch \
27 file://musl_header_fix.patch \
28 "
29
30FILES_${PN}-doc = "${datadir}"
31
32S = "${WORKDIR}/git"
33
34ARM_INSTRUCTION_SET = "arm"
35
36inherit autotools pkgconfig
37
38# by default use external libatomic-ops
39PACKAGECONFIG ??= "libatomic-ops"
40PACKAGECONFIG[libatomic-ops] = "--with-libatomic-ops=yes,--with-libatomic-ops=no,libatomic-ops"
41
42BBCLASSEXTEND = "native nativesdk"