summaryrefslogtreecommitdiff
path: root/package/bdwgc
diff options
context:
space:
mode:
authorPedro Aguilar <paguilar@paguilar.org>2014-11-24 23:56:28 +0100
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>2014-11-26 21:51:41 +0100
commitb0476427f6c0036b7803d591a5394923c4b07142 (patch)
tree5b6f8812d86e6d5159f59fe492737ae1474e85ba /package/bdwgc
parent7522023a845f2bb20999c49eb52f1bb4d0aa22ff (diff)
bdwgc: Add new package
bdwgc is a garbage collector for C and C++. The Boehm-Demers-Weiser conservative garbage collector can be used as a garbage collecting replacement for C 'malloc' or C++ 'new'. [Thomas: - drop the dependency on host-bdwgc, since it is not needed. Only host-guile will need host-bdwgc, but bdwgc itself doesn't need host-bdwgc. - add dependency on host-pkgconf, needed to detect libatomic_ops - add --with-libatomic-ops=yes to force bdwgc to use the system libatomic_ops, and not the internal one. - instead of using BDWGC_LIBTOOL_PATCH = NO (needed to avoid patching libtool because the libtool version used by bdwgc does not have a corresponding patch in Buildroot), use BDWGC_AUTORECONF = YES, which generates a proper libtool (without this, some -L/usr/lib flags are added by libtool).] Signed-off-by: Pedro Aguilar <paguilar@paguilar.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Diffstat (limited to 'package/bdwgc')
-rw-r--r--package/bdwgc/Config.in10
-rw-r--r--package/bdwgc/bdwgc.mk26
2 files changed, 36 insertions, 0 deletions
diff --git a/package/bdwgc/Config.in b/package/bdwgc/Config.in
new file mode 100644
index 000000000..9aa7c7dff
--- /dev/null
+++ b/package/bdwgc/Config.in
@@ -0,0 +1,10 @@
+config BR2_PACKAGE_BDWGC
+ bool "bdwgc"
+ depends on BR2_PACKAGE_LIBATOMIC_ARCH_SUPPORTS
+ 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'.
+
+ http://www.hboehm.info/gc/
diff --git a/package/bdwgc/bdwgc.mk b/package/bdwgc/bdwgc.mk
new file mode 100644
index 000000000..3e6de1ac9
--- /dev/null
+++ b/package/bdwgc/bdwgc.mk
@@ -0,0 +1,26 @@
+################################################################################
+#
+# bdwgc
+#
+################################################################################
+
+BDWGC_VERSION = 7.2f
+BDWGC_SOURCE = gc-$(BDWGC_VERSION).tar.gz
+BDWGC_SITE = http://www.hboehm.info/gc/gc_source
+BDWGC_INSTALL_STAGING = YES
+BDWGC_LICENSE = bdwgc license
+BDWGC_LICENSE_FILES = README.QUICK
+BDWGC_DEPENDENCIES = libatomic_ops host-pkgconf
+
+# The libtool shipped with the package is bogus and generates some
+# -L/usr/lib flags. It uses a version not supported by Buildroot
+# libtool patches, so autoreconfiguring the packages is the easiest
+# solution.
+BDWGC_AUTORECONF = YES
+
+# Ensure we use the system libatomic_ops, and not the internal one.
+BDWGC_CONF_OPTS = --with-libatomic-ops=yes
+HOST_BDWGC_CONF_OPTS = --with-libatomic-ops=yes
+
+$(eval $(autotools-package))
+$(eval $(host-autotools-package))