Skip to content

Commit cb633d4

Browse files
authored
Merge pull request #2 from akshaynexus/8.19.0
Use CSHA256 for groestl,qubit and skein,Add openssl to depends and fix sse2 config
2 parents 089e1d8 + dd32d33 commit cb633d4

File tree

182 files changed

+201
-178
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

182 files changed

+201
-178
lines changed

configure.ac

Lines changed: 32 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -226,6 +226,12 @@ AC_ARG_ENABLE([zmq],
226226
[use_zmq=$enableval],
227227
[use_zmq=yes])
228228

229+
AC_ARG_ENABLE([sse2],
230+
[AS_HELP_STRING([--enable-sse2],
231+
[enable SSE2 instructions in the scrypt library. (default is disabled)])],
232+
[use_sse2=$enableval],
233+
[use_sse2=no])
234+
229235
AC_ARG_ENABLE([bip70],
230236
[AS_HELP_STRING([--enable-bip70],
231237
[BIP70 (payment protocol) support in the GUI (no longer supported)])],
@@ -547,9 +553,13 @@ case $host in
547553
dnl It's safe to add these paths even if the functionality is disabled by
548554
dnl the user (--without-wallet or --without-gui for example).
549555

556+
openssl_prefix=$($BREW --prefix openssl 2>/dev/null)
550557
bdb_prefix=$($BREW --prefix berkeley-db4 2>/dev/null)
551558
qt5_prefix=$($BREW --prefix qt5 2>/dev/null)
552-
openssl_prefix=$($BREW --prefix openssl 2>/dev/null)
559+
if test x$openssl_prefix != x; then
560+
PKG_CONFIG_PATH="$openssl_prefix/lib/pkgconfig:$PKG_CONFIG_PATH"
561+
export PKG_CONFIG_PATH
562+
fi
553563
if test x$bdb_prefix != x; then
554564
CPPFLAGS="$CPPFLAGS -I$bdb_prefix/include"
555565
LIBS="$LIBS -L$bdb_prefix/lib"
@@ -558,10 +568,6 @@ case $host in
558568
PKG_CONFIG_PATH="$qt5_prefix/lib/pkgconfig:$PKG_CONFIG_PATH"
559569
export PKG_CONFIG_PATH
560570
fi
561-
if test x$openssl_prefix != x; then
562-
PKG_CONFIG_PATH="$openssl_prefix/lib/pkgconfig:$PKG_CONFIG_PATH"
563-
export PKG_CONFIG_PATH
564-
fi
565571
fi
566572
else
567573
case $build_os in
@@ -1311,6 +1317,13 @@ else
13111317
fi
13121318
fi
13131319

1320+
save_CXXFLAGS="${CXXFLAGS}"
1321+
CXXFLAGS="${CXXFLAGS} ${CRYPTO_CFLAGS} ${SSL_CFLAGS}"
1322+
AC_CHECK_DECLS([EVP_MD_CTX_new],,,[AC_INCLUDES_DEFAULT
1323+
#include <openssl/x509_vfy.h>
1324+
])
1325+
CXXFLAGS="${save_CXXFLAGS}"
1326+
13141327
dnl RapidCheck property-based testing
13151328

13161329
enable_property_tests=no
@@ -1509,6 +1522,16 @@ else
15091522
BUILD_TEST=""
15101523
fi
15111524

1525+
AC_MSG_CHECKING([whether to enable sse2 instructions])
1526+
if test x$use_sse2 != xno; then
1527+
AC_MSG_RESULT(yes)
1528+
AC_DEFINE([USE_SSE2],[1],[Define if SSE2 support should be compiled in])
1529+
use_sse2=yes
1530+
CPPFLAGS="$CPPFLAGS -DUSE_SSE2=1"
1531+
else
1532+
AC_MSG_RESULT(no)
1533+
fi
1534+
15121535
AC_MSG_CHECKING([whether to reduce exports])
15131536
if test x$use_reduce_exports = xyes; then
15141537
AC_MSG_RESULT([yes])
@@ -1530,6 +1553,7 @@ AM_CONDITIONAL([ENABLE_QT],[test x$digibyte_enable_qt = xyes])
15301553
AM_CONDITIONAL([ENABLE_QT_TESTS],[test x$BUILD_TEST_QT = xyes])
15311554
AM_CONDITIONAL([ENABLE_BENCH],[test x$use_bench = xyes])
15321555
AM_CONDITIONAL([USE_QRCODE], [test x$use_qr = xyes])
1556+
AM_CONDITIONAL([USE_SSE2], [test x$use_sse2 = xyes])
15331557
AM_CONDITIONAL([USE_LCOV],[test x$use_lcov = xyes])
15341558
AM_CONDITIONAL([GLIBC_BACK_COMPAT],[test x$use_glibc_compat = xyes])
15351559
AM_CONDITIONAL([HARDEN],[test x$use_hardening = xyes])
@@ -1587,6 +1611,9 @@ AC_SUBST(SHANI_CXXFLAGS)
15871611
AC_SUBST(LIBTOOL_APP_LDFLAGS)
15881612
AC_SUBST(USE_UPNP)
15891613
AC_SUBST(USE_QRCODE)
1614+
AC_SUBST(CRYPTO_LIBS)
1615+
AC_SUBST(SSL_LIBS)
1616+
AC_SUBST(USE_SSE2)
15901617
AC_SUBST(BOOST_LIBS)
15911618
AC_SUBST(TESTDEFS)
15921619
AC_SUBST(LEVELDB_TARGET_FLAGS)

depends/packages/openssl.mk

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
package=openssl
2+
$(package)_version=1.0.1k
3+
$(package)_download_path=https://www.openssl.org/source
4+
$(package)_file_name=$(package)-$($(package)_version).tar.gz
5+
$(package)_sha256_hash=8f9faeaebad088e772f4ef5e38252d472be4d878c6b3a2718c10a4fcebe7a41c
6+
$(package)_patches=0001-Add-OpenSSL-termios-fix-for-musl-libc.patch
7+
8+
define $(package)_set_vars
9+
$(package)_config_env=AR="$($(package)_ar)" RANLIB="$($(package)_ranlib)" CC="$($(package)_cc)"
10+
$(package)_config_opts=--prefix=$(host_prefix) --openssldir=$(host_prefix)/etc/openssl
11+
$(package)_config_opts+=no-camellia
12+
$(package)_config_opts+=no-capieng
13+
$(package)_config_opts+=no-cast
14+
$(package)_config_opts+=no-comp
15+
$(package)_config_opts+=no-dso
16+
$(package)_config_opts+=no-dtls1
17+
$(package)_config_opts+=no-ec_nistp_64_gcc_128
18+
$(package)_config_opts+=no-gost
19+
$(package)_config_opts+=no-gmp
20+
$(package)_config_opts+=no-heartbeats
21+
$(package)_config_opts+=no-idea
22+
$(package)_config_opts+=no-jpake
23+
$(package)_config_opts+=no-krb5
24+
$(package)_config_opts+=no-libunbound
25+
$(package)_config_opts+=no-md2
26+
$(package)_config_opts+=no-mdc2
27+
$(package)_config_opts+=no-rc4
28+
$(package)_config_opts+=no-rc5
29+
$(package)_config_opts+=no-rdrand
30+
$(package)_config_opts+=no-rfc3779
31+
$(package)_config_opts+=no-rsax
32+
$(package)_config_opts+=no-sctp
33+
$(package)_config_opts+=no-seed
34+
$(package)_config_opts+=no-sha0
35+
$(package)_config_opts+=no-shared
36+
$(package)_config_opts+=no-ssl-trace
37+
$(package)_config_opts+=no-ssl2
38+
$(package)_config_opts+=no-ssl3
39+
$(package)_config_opts+=no-static_engine
40+
$(package)_config_opts+=no-store
41+
$(package)_config_opts+=no-unit-test
42+
$(package)_config_opts+=no-weak-ssl-ciphers
43+
$(package)_config_opts+=no-whirlpool
44+
$(package)_config_opts+=no-zlib
45+
$(package)_config_opts+=no-zlib-dynamic
46+
$(package)_config_opts+=$($(package)_cflags) $($(package)_cppflags)
47+
$(package)_config_opts_linux=-fPIC -Wa,--noexecstack
48+
$(package)_config_opts_x86_64_linux=linux-x86_64
49+
$(package)_config_opts_i686_linux=linux-generic32
50+
$(package)_config_opts_arm_linux=linux-generic32
51+
$(package)_config_opts_armv7l_linux=linux-generic32
52+
$(package)_config_opts_aarch64_linux=linux-generic64
53+
$(package)_config_opts_mipsel_linux=linux-generic32
54+
$(package)_config_opts_mips_linux=linux-generic32
55+
$(package)_config_opts_powerpc_linux=linux-generic32
56+
$(package)_config_opts_riscv32_linux=linux-generic32
57+
$(package)_config_opts_riscv64_linux=linux-generic64
58+
$(package)_config_opts_x86_64_darwin=darwin64-x86_64-cc
59+
$(package)_config_opts_x86_64_mingw32=mingw64
60+
$(package)_config_opts_i686_mingw32=mingw
61+
$(package)_config_opts_android=-fPIC
62+
$(package)_config_opts_aarch64_android=linux-generic64
63+
$(package)_config_opts_x86_64_android=linux-generic64
64+
$(package)_config_opts_armv7a_android=linux-generic32
65+
$(package)_config_opts_i686_android=linux-generic32
66+
endef
67+
68+
define $(package)_preprocess_cmds
69+
patch -p1 < $($(package)_patch_dir)/0001-Add-OpenSSL-termios-fix-for-musl-libc.patch && \
70+
sed -i.old "/define DATE/d" util/mkbuildinf.pl && \
71+
sed -i.old "s|engines apps test|engines|" Makefile.org
72+
endef
73+
74+
define $(package)_config_cmds
75+
./Configure $($(package)_config_opts)
76+
endef
77+
78+
define $(package)_build_cmds
79+
$(MAKE) -j1 build_libs libcrypto.pc libssl.pc openssl.pc
80+
endef
81+
82+
define $(package)_stage_cmds
83+
$(MAKE) INSTALL_PREFIX=$($(package)_staging_dir) -j1 install_sw
84+
endef
85+
86+
define $(package)_postprocess_cmds
87+
rm -rf share bin etc
88+
endef

depends/packages/packages.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
packages:=boost libevent
1+
packages:=boost openssl libevent
22

33
qt_packages = zlib
44

depends/packages/qt.mk

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ $(package)_download_path=https://download.qt.io/official_releases/qt/5.9/$($(pac
44
$(package)_suffix=opensource-src-$($(package)_version).tar.xz
55
$(package)_file_name=qtbase-$($(package)_suffix)
66
$(package)_sha256_hash=9b9dec1f67df1f94bce2955c5604de992d529dde72050239154c56352da0907d
7-
$(package)_dependencies=zlib
7+
$(package)_dependencies=openssl zlib
88
$(package)_linux_dependencies=freetype fontconfig libxcb
99
$(package)_build_subdir=qtbase
1010
$(package)_qt_libs=corelib network widgets gui plugins testlib
@@ -42,12 +42,10 @@ $(package)_config_opts += -no-libjpeg
4242
$(package)_config_opts += -no-libproxy
4343
$(package)_config_opts += -no-libudev
4444
$(package)_config_opts += -no-mtdev
45-
$(package)_config_opts += -no-openssl
4645
$(package)_config_opts += -no-openvg
4746
$(package)_config_opts += -no-reduce-relocations
4847
$(package)_config_opts += -no-qml-debug
4948
$(package)_config_opts += -no-sctp
50-
$(package)_config_opts += -no-securetransport
5149
$(package)_config_opts += -no-sql-db2
5250
$(package)_config_opts += -no-sql-ibase
5351
$(package)_config_opts += -no-sql-oci
@@ -64,6 +62,8 @@ $(package)_config_opts += -nomake examples
6462
$(package)_config_opts += -nomake tests
6563
$(package)_config_opts += -opensource
6664
$(package)_config_opts += -optimized-tools
65+
$(package)_config_opts += -openssl-linked
66+
$(package)_config_opts += -no-securetransport
6767
$(package)_config_opts += -pch
6868
$(package)_config_opts += -pkg-config
6969
$(package)_config_opts += -prefix $(host_prefix)
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
diff --git a/crypto/ui/ui_openssl.c b/crypto/ui/ui_openssl.c
2+
index a38c758..d99edc2 100644
3+
--- a/crypto/ui/ui_openssl.c
4+
+++ b/crypto/ui/ui_openssl.c
5+
@@ -190,9 +190,9 @@
6+
# undef SGTTY
7+
#endif
8+
9+
-#if defined(linux) && !defined(TERMIO)
10+
-# undef TERMIOS
11+
-# define TERMIO
12+
+#if defined(linux)
13+
+# define TERMIOS
14+
+# undef TERMIO
15+
# undef SGTTY
16+
#endif
17+

src/Makefile.am

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ else
2020
LIBUNIVALUE = $(UNIVALUE_LIBS)
2121
endif
2222

23-
DIGIBYTE_INCLUDES=-I$(builddir) $(BDB_CPPFLAGS) $(BOOST_CPPFLAGS) $(LEVELDB_CPPFLAGS) $(CRYPTO_CFLAGS) $(SSL_CFLAGS)
23+
DIGIBYTE_INCLUDES=-I$(builddir) $(BDB_CPPFLAGS) $(BOOST_CPPFLAGS) $(LEVELDB_CPPFLAGS) $(CRYPTO_CFLAGS) $(SSL_CFLAGS)
2424

2525
DIGIBYTE_INCLUDES += -I$(srcdir)/secp256k1/include
2626
DIGIBYTE_INCLUDES += $(UNIVALUE_CFLAGS)
@@ -685,7 +685,7 @@ endif
685685

686686
libdigibyteconsensus_la_LDFLAGS = $(AM_LDFLAGS) -no-undefined $(RELDFLAGS)
687687
libdigibyteconsensus_la_LIBADD = $(LIBSECP256K1) $(BOOST_LIBS) $(CRYPTO_LIBS)
688-
libdigibyteconsensus_la_CPPFLAGS = $(AM_CPPFLAGS) -I$(builddir)/obj -I$(srcdir)/secp256k1/include -DBUILD_DIGIBYTE_INTERNAL $(SSL_CFLAGS)
688+
libdigibyteconsensus_la_CPPFLAGS = $(AM_CPPFLAGS) -I$(builddir)/obj -I$(srcdir)/secp256k1/include -DBUILD_DIGIBYTE_INTERNAL
689689
libdigibyteconsensus_la_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS)
690690

691691
endif

0 commit comments

Comments
 (0)