[yocto] [meta-java][PATCH 5/6] bdwgc: import from meta-oe
Maxin B. John
maxin.john at gmail.com
Tue Sep 26 08:21:40 PDT 2017
Hi,
On Tue, Sep 26, 2017 at 3:16 PM, Philip Balister <philip at balister.org> wrote:
> On 09/26/2017 04:19 AM, Maxin B. John wrote:
>> Hi Philip,
>>
>> On Mon, Sep 25, 2017 at 4:05 PM, Philip Balister <philip at balister.org> wrote:
>>> On 09/24/2017 05:05 PM, Maxin B. John wrote:
>>>> keep a copy of bdwgc recipe in meta-java from meta-oe layer.
>>>> cacao in meta-java depends on bdwgc.
>>>
>>> Duplicating recipes in recipes is frowned upon.
>>
>> Thanks for the review. Makes sense here. Will try to find a way to avoid this.
>>
>>> Shouldn't we have the discussion why you are not proposing this for
>>> Openembedded-core instead of duplicating the recipe? Duping a recipe
>>> just to drop a layer dependency isn't a long term solution.
>>
>> agree.
>
> Meta-oe has one recipe that uses it. I'm not sure about other layers.
zile in meta-oe depends on bdwgc.
> Does the layer index let us search for recipes that depend on another
> recipe?
https://layers.openembedded.org doesn't seems to help a lot in this case.
> Philip
Warm Regards,
Maxin
>>
>>>>
>>>> Signed-off-by: Maxin B. John <maxin.john at intel.com>
>>>> ---
>>>> ...ac-add-check-for-NO_GETCONTEXT-definition.patch | 29 +++++++++++++++
>>>> recipes-extended/bdwgc/bdwgc/musl_header_fix.patch | 27 ++++++++++++++
>>>> recipes-extended/bdwgc/bdwgc_7.6.0.bb | 42 ++++++++++++++++++++++
>>>> 3 files changed, 98 insertions(+)
>>>> create mode 100644 recipes-extended/bdwgc/bdwgc/0001-configure.ac-add-check-for-NO_GETCONTEXT-definition.patch
>>>> create mode 100644 recipes-extended/bdwgc/bdwgc/musl_header_fix.patch
>>>> create mode 100644 recipes-extended/bdwgc/bdwgc_7.6.0.bb
>>>>
>>>> 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 @@
>>>> +configure.ac: add check for NO_GETCONTEXT definition
>>>> +
>>>> +Signed-off-by: Samuel Martin <s.martin49 at gmail.com>
>>>> +[yann.morin.1998 at free.fr: add a comment, change variable name, use
>>>> + AS_IF, remove debug traces, use AC_CHECK_FUNCS (as suggested by
>>>> + Thomas)]
>>>> +Signed-off-by: "Yann E. MORIN" <yann.morin.1998 at free.fr>
>>>> +Cc: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
>>>> +
>>>> +---
>>>> +Upstream-Status: Pending
>>>> + configure.ac | 6 ++++++
>>>> + 1 file changed, 6 insertions(+)
>>>> +
>>>> +--- bdwgc-7.2f.orig/configure.ac 2014-06-01 19:00:47.000000000 +0200
>>>> ++++ bdwgc-7.2f/configure.ac 2014-12-23 14:13:11.585716713 +0100
>>>> +@@ -365,6 +365,12 @@
>>>> + AC_MSG_RESULT($ac_cv_fno_strict_aliasing)
>>>> + fi
>>>> +
>>>> ++# Check for getcontext (uClibc can be configured without it, for example)
>>>> ++AC_CHECK_FUNCS([getcontext])
>>>> ++AS_IF([test "$ac_cv_func_getcontext" = "no"],
>>>> ++ [CFLAGS="$CFLAGS -DNO_GETCONTEXT"
>>>> ++ CPPFLAGS="$CPPFLAGS -DNO_GETCONTEXT"])
>>>> ++
>>>> + case "$host" in
>>>> + # While IRIX 6 has libdl for the O32 and N32 ABIs, it's missing for N64
>>>> + # 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 @@
>>>> +Add missing header to avoid:
>>>> +
>>>> +| 1472659610.016355: ../git/pthread_stop_world.c: In function 'GC_brief_async_signal_safe_sleep':
>>>> +| 1472659610.0540252: ../git/pthread_stop_world.c:397:22: error: storage size of 'tv' isn't known
>>>> +| 1472659610.0540252: struct timeval tv;
>>>> +| 1472659610.0540252: ^~
>>>> +| 1472659610.054099: ../git/pthread_stop_world.c:397:22: warning: unused variable 'tv' [-Wunused-variable]
>>>> +| 1472659610.054099: struct timeval tv;
>>>> +| 1472659610.054099: ^~
>>>> +| 1472659610.054099: Makefile:1530: recipe for target 'pthread_stop_world.lo' failed
>>>> +
>>>> +in musl builds.
>>>> +
>>>> +Upstream-Status: Pending
>>>> +
>>>> +Index: git/pthread_stop_world.c
>>>> +===================================================================
>>>> +--- git.orig/pthread_stop_world.c
>>>> ++++ git/pthread_stop_world.c
>>>> +@@ -45,6 +45,7 @@
>>>> + #include <semaphore.h>
>>>> + #include <errno.h>
>>>> + #include <unistd.h>
>>>> ++#include <sys/time.h>
>>>> + #include "atomic_ops.h"
>>>> +
>>>> + /* 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 @@
>>>> +SUMMARY = "A garbage collector for C and C++"
>>>> +
>>>> +DESCRIPTION = "The Boehm-Demers-Weiser conservative garbage collector can be\
>>>> + used as a garbage collecting replacement for C malloc or C++ new. It allows\
>>>> + you to allocate memory basically as you normally would, without explicitly\
>>>> + deallocating memory that is no longer useful. The collector automatically\
>>>> + recycles memory when it determines that it can no longer be otherwise\
>>>> + accessed.\
>>>> + The collector is also used by a number of programming language\
>>>> + implementations that either use C as intermediate code, want to facilitate\
>>>> + easier interoperation with C libraries, or just prefer the simple collector\
>>>> + interface.\
>>>> + Alternatively, the garbage collector may be used as a leak detector for C\
>>>> + or C++ programs, though that is not its primary goal.\
>>>> + Empirically, this collector works with most unmodified C programs, simply\
>>>> + by replacing malloc with GC_malloc calls, replacing realloc with GC_realloc\
>>>> + calls, and removing free calls."
>>>> +
>>>> +HOMEPAGE = "http://www.hboehm.info/gc/"
>>>> +SECTION = "devel"
>>>> +LICENSE = "MIT"
>>>> +LIC_FILES_CHKSUM = "file://README.QUICK;md5=4f81f24ec69726c312487c2ac740e9e3"
>>>> +
>>>> +SRCREV = "8ac1d84a40eb7a431fec1b8097e3f24b48fb23fa"
>>>> +SRC_URI = "git://github.com/ivmai/bdwgc.git \
>>>> + file://0001-configure.ac-add-check-for-NO_GETCONTEXT-definition.patch \
>>>> + file://musl_header_fix.patch \
>>>> + "
>>>> +
>>>> +FILES_${PN}-doc = "${datadir}"
>>>> +
>>>> +S = "${WORKDIR}/git"
>>>> +
>>>> +ARM_INSTRUCTION_SET = "arm"
>>>> +
>>>> +inherit autotools pkgconfig
>>>> +
>>>> +# by default use external libatomic-ops
>>>> +PACKAGECONFIG ??= "libatomic-ops"
>>>> +PACKAGECONFIG[libatomic-ops] = "--with-libatomic-ops=yes,--with-libatomic-ops=no,libatomic-ops"
>>>> +
>>>> +BBCLASSEXTEND = "native nativesdk"
>>>>
>>> --
>>> _______________________________________________
>>> yocto mailing list
>>> yocto at yoctoproject.org
>>> https://lists.yoctoproject.org/listinfo/yocto
>>
More information about the yocto
mailing list