Browse Source

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>
Pedro Aguilar 10 years ago
parent
commit
b0476427f6
3 changed files with 37 additions and 0 deletions
  1. 1 0
      package/Config.in
  2. 10 0
      package/bdwgc/Config.in
  3. 26 0
      package/bdwgc/bdwgc.mk

+ 1 - 0
package/Config.in

@@ -859,6 +859,7 @@ menu "Other"
 	source "package/apr-util/Config.in"
 	source "package/argp-standalone/Config.in"
 	source "package/armadillo/Config.in"
+	source "package/bdwgc/Config.in"
 	source "package/boost/Config.in"
 	source "package/clapack/Config.in"
 	source "package/classpath/Config.in"

+ 10 - 0
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/

+ 26 - 0
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))