Browse Source

Fixed Windows WSL build.

wsl
Just Wonder 5 years ago
parent
commit
d5012d4d60
  1. 3
      configure.ac
  2. 22
      depends/packages/libsodium.mk
  3. 2
      depends/packages/packages.mk
  4. 2
      doc/build-unix.md
  5. 2
      doc/build-windows.md
  6. 2
      src/Makefile.am
  7. 2
      src/cn_utils/crypto/tree-hash.c

3
configure.ac

@ -787,7 +787,6 @@ AX_BOOST_FILESYSTEM @@ -787,7 +787,6 @@ AX_BOOST_FILESYSTEM
AX_BOOST_PROGRAM_OPTIONS
AX_BOOST_THREAD
AX_BOOST_CHRONO
AX_BOOST_DATE_TIME
dnl Boost 1.56 through 1.62 allow using std::atomic instead of its own atomic
dnl counter implementations. In 1.63 and later the std::atomic approach is default.
@ -854,7 +853,7 @@ fi @@ -854,7 +853,7 @@ fi
if test x$use_boost = xyes; then
BOOST_LIBS="$BOOST_LDFLAGS $BOOST_SYSTEM_LIB $BOOST_FILESYSTEM_LIB $BOOST_PROGRAM_OPTIONS_LIB $BOOST_THREAD_LIB $BOOST_CHRONO_LIB $BOOST_DATE_TIME_LIB"
BOOST_LIBS="$BOOST_LDFLAGS $BOOST_SYSTEM_LIB $BOOST_FILESYSTEM_LIB $BOOST_PROGRAM_OPTIONS_LIB $BOOST_THREAD_LIB $BOOST_CHRONO_LIB"
dnl If boost (prior to 1.57) was built without c++11, it emulated scoped enums

22
depends/packages/libsodium.mk

@ -0,0 +1,22 @@ @@ -0,0 +1,22 @@
package=libsodium
$(package)_version=1.0.18
$(package)_download_path=https://download.libsodium.org/libsodium/releases/
$(package)_file_name=$(package)-$($(package)_version)-stable.tar.gz
$(package)_sha256_hash=cd191879fe6da6adf1f64801d68ced47b610e1558080a754779b32cf704ce9e3
define $(package)_set_vars
$(package)_config_opts_mingw32+=CFLAGS="-Ofast -fomit-frame-pointer -march=pentium3 -mtune=westmere"
endef
define $(package)_config_cmds
./configure --host=$(HOST) --prefix=$(host_prefix) --exec-prefix=$(host_prefix)
endef
define $(package)_build_cmds
$(MAKE)
endef
define $(package)_stage_cmds
$(MAKE) DESTDIR=$($(package)_staging_dir) install
endef

2
depends/packages/packages.mk

@ -1,4 +1,4 @@ @@ -1,4 +1,4 @@
packages:=boost openssl libevent zeromq
packages:=boost openssl libevent zeromq libsodium
native_packages := native_ccache
qt_native_packages = native_protobuf

2
doc/build-unix.md

@ -65,7 +65,7 @@ Dependency Build Instructions: Ubuntu & Debian @@ -65,7 +65,7 @@ Dependency Build Instructions: Ubuntu & Debian
----------------------------------------------
Build requirements:
sudo apt-get install build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils python3
sudo apt-get install build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils python3 cmake libsodium-dev
Options when installing required Boost library files:

2
doc/build-windows.md

@ -58,7 +58,7 @@ installing the toolchain will be different. @@ -58,7 +58,7 @@ installing the toolchain will be different.
First, install the general dependencies:
sudo apt install build-essential libtool autotools-dev automake pkg-config bsdmainutils curl git
sudo apt install build-essential libtool autotools-dev automake pkg-config bsdmainutils curl git cmake libsodium-dev
A host toolchain (`build-essential`) is necessary because some dependency
packages (such as `protobuf`) need to build host utilities that are used in the

2
src/Makefile.am

@ -521,7 +521,7 @@ if GLIBC_BACK_COMPAT @@ -521,7 +521,7 @@ if GLIBC_BACK_COMPAT
endif
libbitcoinconsensus_la_LDFLAGS = $(AM_LDFLAGS) -no-undefined $(RELDFLAGS)
libbitcoinconsensus_la_LIBADD = $(LIBSECP256K1) $(CRYPTO_LIBS)
libbitcoinconsensus_la_LIBADD = $(BOOST_LIBS) $(LIBSECP256K1) $(CRYPTO_LIBS) $(LIBBITCOIN_CNUTILS)
libbitcoinconsensus_la_CPPFLAGS = $(AM_CPPFLAGS) -I$(builddir)/obj -I$(srcdir)/secp256k1/include $(CN_UTILS_INCLUDE) -DBUILD_BITCOIN_INTERNAL $(SSL_CFLAGS)
libbitcoinconsensus_la_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS)

2
src/cn_utils/crypto/tree-hash.c

@ -37,7 +37,7 @@ @@ -37,7 +37,7 @@
#ifdef _MSC_VER
#include <malloc.h>
#elif !defined(__FreeBSD__) && !defined(__OpenBSD__) && !defined(__DragonFly__) \
&& !defined(__NetBSD__)
&& !defined(__NetBSD__) && !defined(__MINGW32__)
#include <alloca.h>
#else
#include <stdlib.h>

Loading…
Cancel
Save