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>
This commit is contained in:
Pedro Aguilar 2014-11-24 23:56:28 +01:00 committed by Thomas Petazzoni
parent 7522023a84
commit b0476427f6
3 changed files with 37 additions and 0 deletions

View File

@ -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
package/bdwgc/Config.in Normal file
View File

@ -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
package/bdwgc/bdwgc.mk Normal file
View File

@ -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))