buildrootschalter/package/beecrypt/beecrypt.mk
Thomas De Schampheleire cc2c75b0ec beecrypt: unconditionally disable openpm
beecrypt does not properly handle its dependency on openpm, so that
applications using libbeecrypt are not aware that they also need openmp
(libgomp). This causes error messages during linking, such as (rpm):

..-gcc [..] -lbeecrypt  -lbz2 -lz -lpopt -lpthread
libbecrypt.so: undefined reference to `GOMP_sections_end_nowait'
libbecrypt.so: undefined reference to `GOMP_parallel_end'
libbecrypt.so: undefined reference to `GOMP_sections_next'
libbecrypt.so: undefined reference to `GOMP_parallel_sections_start'

Because the openpm dependency of beecrypt is only used by rsa.c, to
parallelize the calculation of RSA cyphers, we can simply disable openmp in
beecrypt instead of trying to fix the way -lgomp is passed.

Fixes http://autobuild.buildroot.net/results/bcf/bcff4b81bfbb1191f97317b0945c74d948c9774b/

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2013-11-23 00:20:40 +01:00

41 lines
1.1 KiB
Makefile

################################################################################
#
# beecrypt
#
################################################################################
BEECRYPT_VERSION = 4.2.1
BEECRYPT_SITE = http://downloads.sourceforge.net/project/beecrypt/beecrypt/$(BEECRYPT_VERSION)
BEECRYPT_AUTORECONF = YES
BEECRYPT_INSTALL_STAGING = YES
BEECRYPT_LICENSE = LGPLv2.1+
BEECRYPT_LICENSE_FILES = COPYING.LIB
# beecrypt contains C++ code that g++ 4.7 doesn't really
# like. Upstream does not seem to be really active, so workaround this
# by passing -fpermissive.
BEECRYPT_CONF_ENV = \
CXXFLAGS="$(TARGET_CXXFLAGS) -fpermissive"
BEECRYPT_CONF_OPT = \
--without-java \
--without-python \
--disable-openmp
ifeq ($(BR2_PACKAGE_ICU),y)
# C++ support needs icu
BEECRYPT_DEPENDENCIES += icu
else
BEECRYPT_CONF_OPT += --without-cplusplus
# automake/libtool uses the C++ compiler to link libbeecrypt because of
# (the optional) cppglue.cxx. Force it to use the C compiler instead.
define BEECRYPT_LINK_WITH_CC
$(SED) 's/--tag=CXX/--tag=CC/g' $(@D)/Makefile
endef
BEECRYPT_POST_CONFIGURE_HOOKS += BEECRYPT_LINK_WITH_CC
endif
$(eval $(autotools-package))