diff mbox

[2/3] package/libgc: add Boehm-Demers-Weiser gc library

Message ID 1397225156-23112-3-git-send-email-alex.bennee@linaro.org
State Accepted
Headers show

Commit Message

Alex Bennée April 11, 2014, 2:05 p.m. UTC
This is needed for applications like Zile

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>

---
v2
- fix whitespace
- proper dependancies
- use system libatomic

 create mode 100644 package/libgc/Config.in
 create mode 100644 package/libgc/libgc.mk

Comments

Thomas De Schampheleire April 11, 2014, 8:03 p.m. UTC | #1
"Alex Bennée" <alex.bennee@linaro.org> schreef:
>This is needed for applications like Zile
>
>Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
>
>---
>v2
>- fix whitespace
>- proper dependancies
>- use system libatomic
>
> create mode 100644 package/libgc/Config.in
> create mode 100644 package/libgc/libgc.mk
>
>diff --git a/package/Config.in b/package/Config.in
>index 6abc7b3..0e7e246 100644
>--- a/package/Config.in
>+++ b/package/Config.in
>@@ -788,6 +788,7 @@ source "package/libev/Config.in"
> source "package/libevdev/Config.in"
> source "package/libevent/Config.in"
> source "package/libffi/Config.in"
>+source "package/libgc/Config.in"
> source "package/libglib2/Config.in"
> source "package/libical/Config.in"
> source "package/libnspr/Config.in"
>diff --git a/package/libgc/Config.in b/package/libgc/Config.in
>new file mode 100644
>index 0000000..5bceb3d
>--- /dev/null
>+++ b/package/libgc/Config.in
>@@ -0,0 +1,10 @@
>+config BR2_PACKAGE_LIBGC
>+	bool "libgc"
>+	select BR2_PACKAGE_LIBATOMIC_OPS
>+	help
>+	  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.
>+
>+	  http://www.hboehm.info/gc/
>diff --git a/package/libgc/libgc.mk b/package/libgc/libgc.mk
>new file mode 100644
>index 0000000..e3c5bf1
>--- /dev/null
>+++ b/package/libgc/libgc.mk
>@@ -0,0 +1,15 @@
>+################################################################################
>+#
>+# libgc
>+#
>+################################################################################
>+
>+LIBGC_VERSION = 7.4.0
>+LIBGC_SOURCE = gc-${LIBGC_VERSION}.tar.gz
>+LIBGC_SITE = http://www.hboehm.info/gc/gc_source/
>+LIBGC_DEPENDANCIES += libatomic_ops

This should be: ..._DEPENDENCIES with E.

>+LIBGC_LICENSE = GPLv1+
>+LIBGC_LICENSE_FILES = COPYING
>+LIBGC_INSTALL_STAGING = YES
>+
>+$(eval $(autotools-package))

Best regards,
Thomas
Thomas Petazzoni April 11, 2014, 10:22 p.m. UTC | #2
Dear Thomas De Schampheleire,

On Fri, 11 Apr 2014 22:03:23 +0200, Thomas De Schampheleire wrote:

> >+LIBGC_VERSION = 7.4.0
> >+LIBGC_SOURCE = gc-${LIBGC_VERSION}.tar.gz
> >+LIBGC_SITE = http://www.hboehm.info/gc/gc_source/
> >+LIBGC_DEPENDANCIES += libatomic_ops
> 
> This should be: ..._DEPENDENCIES with E.

And the += is not needed, a simple = is sufficient here.

Thomas
Thomas Petazzoni April 16, 2014, 5:05 p.m. UTC | #3
Dear Alex Bennée,

I applied your patch, but there were several problems to fix. See
below for details.

On Fri, 11 Apr 2014 15:05:55 +0100, Alex Bennée wrote:

> diff --git a/package/libgc/Config.in b/package/libgc/Config.in
> new file mode 100644
> index 0000000..5bceb3d
> --- /dev/null
> +++ b/package/libgc/Config.in
> @@ -0,0 +1,10 @@
> +config BR2_PACKAGE_LIBGC
> +	bool "libgc"
> +	select BR2_PACKAGE_LIBATOMIC_OPS

When you select a package, you need to duplicate the dependencies of
that package. So here, you should have duplicate the dependencies of
the libatomic_ops package. To make this easier, I've made a small
change to the libatomic_ops package so that it provides a
BR2_PACKAGE_LIBATOMIC_OPS_ARCH_SUPPORTS Config.in option that other
packages can depend on.

> +	help
> +	  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.
> +
> +	  http://www.hboehm.info/gc/
> diff --git a/package/libgc/libgc.mk b/package/libgc/libgc.mk
> new file mode 100644
> index 0000000..e3c5bf1
> --- /dev/null
> +++ b/package/libgc/libgc.mk
> @@ -0,0 +1,15 @@
> +################################################################################
> +#
> +# libgc
> +#
> +################################################################################
> +
> +LIBGC_VERSION = 7.4.0
> +LIBGC_SOURCE = gc-${LIBGC_VERSION}.tar.gz

We normally use $(...) to reference make variables, not ${...}.

> +LIBGC_SITE = http://www.hboehm.info/gc/gc_source/
> +LIBGC_DEPENDANCIES += libatomic_ops

It should have been DEPENDENCIES, and the += is unnecessary, = is
enough.

> +LIBGC_LICENSE = GPLv1+

libgc is apparently not under GPLv1+, but under some X11-like
permissive license.

> +LIBGC_LICENSE_FILES = COPYING

There was no file named COPYING, the copyright details are found in the
README.md file.

> +LIBGC_INSTALL_STAGING = YES
> +
> +$(eval $(autotools-package))

Thanks,

Thomas
diff mbox

Patch

diff --git a/package/Config.in b/package/Config.in
index 6abc7b3..0e7e246 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -788,6 +788,7 @@  source "package/libev/Config.in"
 source "package/libevdev/Config.in"
 source "package/libevent/Config.in"
 source "package/libffi/Config.in"
+source "package/libgc/Config.in"
 source "package/libglib2/Config.in"
 source "package/libical/Config.in"
 source "package/libnspr/Config.in"
diff --git a/package/libgc/Config.in b/package/libgc/Config.in
new file mode 100644
index 0000000..5bceb3d
--- /dev/null
+++ b/package/libgc/Config.in
@@ -0,0 +1,10 @@ 
+config BR2_PACKAGE_LIBGC
+	bool "libgc"
+	select BR2_PACKAGE_LIBATOMIC_OPS
+	help
+	  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.
+
+	  http://www.hboehm.info/gc/
diff --git a/package/libgc/libgc.mk b/package/libgc/libgc.mk
new file mode 100644
index 0000000..e3c5bf1
--- /dev/null
+++ b/package/libgc/libgc.mk
@@ -0,0 +1,15 @@ 
+################################################################################
+#
+# libgc
+#
+################################################################################
+
+LIBGC_VERSION = 7.4.0
+LIBGC_SOURCE = gc-${LIBGC_VERSION}.tar.gz
+LIBGC_SITE = http://www.hboehm.info/gc/gc_source/
+LIBGC_DEPENDANCIES += libatomic_ops
+LIBGC_LICENSE = GPLv1+
+LIBGC_LICENSE_FILES = COPYING
+LIBGC_INSTALL_STAGING = YES
+
+$(eval $(autotools-package))