beecrypt: bump version, build with C++ support if available
The issue with cppglue.cxx is still present in 4.2.1, but the previous workaround had to be extended to allow builds with C++ support. Similary, the ICU check didn't handle cross compilation. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
This commit is contained in:
parent
02ad75e9ee
commit
8145105ee3
@ -1,6 +1,10 @@
|
|||||||
config BR2_PACKAGE_BEECRYPT
|
config BR2_PACKAGE_BEECRYPT
|
||||||
bool "beecrypt"
|
bool "beecrypt"
|
||||||
|
select BR2_PACKAGE_ICU if BR2_INSTALL_LIBSTDCPP && BR2_USE_WCHAR
|
||||||
help
|
help
|
||||||
Beecrypt is a general-purpose cryptography library.
|
Beecrypt is a general-purpose cryptography library.
|
||||||
|
|
||||||
http://beecrypt.sf.net
|
http://beecrypt.sf.net
|
||||||
|
|
||||||
|
comment "beecrypt C++ support requires a toolchain with WCHAR enabled"
|
||||||
|
depends on BR2_INSTALL_LIBSTDCPP && !BR2_USE_WCHAR
|
||||||
|
@ -1,12 +0,0 @@
|
|||||||
diff -ru beecrypt-4.1.2_vanilla/Makefile.am beecrypt-4.1.2_disable-cxxglue/Makefile.am
|
|
||||||
--- beecrypt-4.1.2_vanilla/Makefile.am 2004-12-22 07:06:31.000000000 +0000
|
|
||||||
+++ beecrypt-4.1.2_disable-cxxglue/Makefile.am 2008-03-21 23:24:51.000000000 +0000
|
|
||||||
@@ -49,7 +49,7 @@
|
|
||||||
|
|
||||||
libalt_LTLIBRARIES = libbeecrypt.la
|
|
||||||
|
|
||||||
-libbeecrypt_la_SOURCES = aes.c base64.c beecrypt.c blockmode.c blockpad.c blowfish.c dhaes.c dldp.c dlkp.c dlpk.c dlsvdp-dh.c dsa.c elgamal.c endianness.c entropy.c fips186.c hmac.c hmacmd5.c hmacsha1.c hmacsha256.c md5.c hmacsha384.c hmacsha512.c memchunk.c mp.c mpbarrett.c mpnumber.c mpprime.c mtprng.c pkcs1.c pkcs12.c rsa.c rsakp.c rsapk.c sha1.c sha256.c sha384.c sha512.c sha_k.c timestamp.c cppglue.cxx
|
|
||||||
+libbeecrypt_la_SOURCES = aes.c base64.c beecrypt.c blockmode.c blockpad.c blowfish.c dhaes.c dldp.c dlkp.c dlpk.c dlsvdp-dh.c dsa.c elgamal.c endianness.c entropy.c fips186.c hmac.c hmacmd5.c hmacsha1.c hmacsha256.c md5.c hmacsha384.c hmacsha512.c memchunk.c mp.c mpbarrett.c mpnumber.c mpprime.c mtprng.c pkcs1.c pkcs12.c rsa.c rsakp.c rsapk.c sha1.c sha256.c sha384.c sha512.c sha_k.c timestamp.c
|
|
||||||
libbeecrypt_la_DEPENDENCIES = $(BEECRYPT_OBJECTS)
|
|
||||||
libbeecrypt_la_LIBADD = aesopt.lo blowfishopt.lo mpopt.lo sha1opt.lo
|
|
||||||
libbeecrypt_la_LDFLAGS = -no-undefined -version-info $(LIBBEECRYPT_LT_CURRENT):$(LIBBEECRYPT_LT_REVISION):$(LIBBEECRYPT_LT_AGE)
|
|
28
package/beecrypt/beecrypt-cppglue.cxx-cplusplus-only.patch
Normal file
28
package/beecrypt/beecrypt-cppglue.cxx-cplusplus-only.patch
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
Makefile.am: Only compile/link cppglue.cxx if --with-cplusplus is used
|
||||||
|
|
||||||
|
Bloats libbeecrypt for no use and breaks build on systems without a C++
|
||||||
|
compiler.
|
||||||
|
|
||||||
|
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
|
||||||
|
---
|
||||||
|
Makefile.am | 7 ++++++-
|
||||||
|
1 file changed, 6 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
Index: beecrypt-4.2.1/Makefile.am
|
||||||
|
===================================================================
|
||||||
|
--- beecrypt-4.2.1.orig/Makefile.am
|
||||||
|
+++ beecrypt-4.2.1/Makefile.am
|
||||||
|
@@ -62,7 +62,12 @@
|
||||||
|
|
||||||
|
lib_LTLIBRARIES = libbeecrypt.la
|
||||||
|
|
||||||
|
-libbeecrypt_la_SOURCES = aes.c base64.c beecrypt.c blockmode.c blockpad.c blowfish.c dhies.c dldp.c dlkp.c dlpk.c dlsvdp-dh.c dsa.c elgamal.c endianness.c entropy.c fips186.c hmac.c hmacmd5.c hmacsha1.c hmacsha224.c hmacsha256.c md4.c md5.c hmacsha384.c hmacsha512.c memchunk.c mp.c mpbarrett.c mpnumber.c mpprime.c mtprng.c pkcs1.c pkcs12.c ripemd128.c ripemd160.c ripemd256.c ripemd320.c rsa.c rsakp.c rsapk.c sha1.c sha224.c sha256.c sha384.c sha512.c sha2k32.c sha2k64.c timestamp.c cppglue.cxx
|
||||||
|
+libbeecrypt_la_SOURCES = aes.c base64.c beecrypt.c blockmode.c blockpad.c blowfish.c dhies.c dldp.c dlkp.c dlpk.c dlsvdp-dh.c dsa.c elgamal.c endianness.c entropy.c fips186.c hmac.c hmacmd5.c hmacsha1.c hmacsha224.c hmacsha256.c md4.c md5.c hmacsha384.c hmacsha512.c memchunk.c mp.c mpbarrett.c mpnumber.c mpprime.c mtprng.c pkcs1.c pkcs12.c ripemd128.c ripemd160.c ripemd256.c ripemd320.c rsa.c rsakp.c rsapk.c sha1.c sha224.c sha256.c sha384.c sha512.c sha2k32.c sha2k64.c timestamp.c
|
||||||
|
+
|
||||||
|
+if WITH_CPLUSPLUS
|
||||||
|
+libbeecrypt_la_SOURCES += cppglue.cxx
|
||||||
|
+endif
|
||||||
|
+
|
||||||
|
libbeecrypt_la_DEPENDENCIES = $(BEECRYPT_OBJECTS)
|
||||||
|
libbeecrypt_la_LIBADD = blowfishopt.lo mpopt.lo sha1opt.lo $(OPENMP_LIBS)
|
||||||
|
libbeecrypt_la_LDFLAGS = -no-undefined -version-info $(LIBBEECRYPT_LT_CURRENT):$(LIBBEECRYPT_LT_REVISION):$(LIBBEECRYPT_LT_AGE)
|
31
package/beecrypt/beecrypt-icu-check-cross-compile.patch
Normal file
31
package/beecrypt/beecrypt-icu-check-cross-compile.patch
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
configure: Use AC_COMPILE_IFELSE for ICU check for cross compilation compat
|
||||||
|
|
||||||
|
AC_RUN_IFELSE doesn't work when cross compiling, but we can do the
|
||||||
|
check in the preprocessor instead, so use AC_COMPILE_IFELSE instead.
|
||||||
|
|
||||||
|
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
|
||||||
|
---
|
||||||
|
configure.ac | 6 +++---
|
||||||
|
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
Index: beecrypt-4.2.1/configure.ac
|
||||||
|
===================================================================
|
||||||
|
--- beecrypt-4.2.1.orig/configure.ac
|
||||||
|
+++ beecrypt-4.2.1/configure.ac
|
||||||
|
@@ -295,13 +295,13 @@
|
||||||
|
if test "$ac_with_cplusplus" = yes; then
|
||||||
|
AC_MSG_CHECKING([for IBM's ICU library version >= 2.8])
|
||||||
|
AC_LANG_PUSH(C)
|
||||||
|
- AC_RUN_IFELSE([
|
||||||
|
+ AC_COMPILE_IFELSE([
|
||||||
|
AC_LANG_PROGRAM([[#include <unicode/uversion.h>]],[[
|
||||||
|
#if U_ICU_VERSION_MAJOR_NUM < 2
|
||||||
|
- exit(1);
|
||||||
|
+ #error too old
|
||||||
|
#elif U_ICU_VERSION_MAJOR_NUM == 2
|
||||||
|
# if U_ICU_VERSION_MINOR_NUM < 8
|
||||||
|
- exit(1);
|
||||||
|
+ #error too old
|
||||||
|
# else
|
||||||
|
exit(0);
|
||||||
|
# endif
|
@ -3,14 +3,27 @@
|
|||||||
# beecrypt
|
# beecrypt
|
||||||
#
|
#
|
||||||
#############################################################
|
#############################################################
|
||||||
BEECRYPT_VERSION = 4.1.2
|
BEECRYPT_VERSION = 4.2.1
|
||||||
BEECRYPT_SITE = http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/beecrypt
|
BEECRYPT_SITE = http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/beecrypt
|
||||||
BEECRYPT_AUTORECONF = YES
|
BEECRYPT_AUTORECONF = YES
|
||||||
BEECRYPT_INSTALL_STAGING = YES
|
BEECRYPT_INSTALL_STAGING = YES
|
||||||
|
BEECRYPT_CONF_OPT = \
|
||||||
BEECRYPT_CONF_OPT = --without-cplusplus \
|
|
||||||
--without-java \
|
--without-java \
|
||||||
--without-python \
|
--without-python
|
||||||
--disable-rpath
|
|
||||||
|
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 $(call AUTOTARGETS))
|
$(eval $(call AUTOTARGETS))
|
||||||
|
Loading…
Reference in New Issue
Block a user