diff --git a/configure b/configure index b9ad3cef1..385413855 100755 --- a/configure +++ b/configure @@ -156,7 +156,22 @@ if [ "$ASAN" = "1" ]; then fi rm -f $CONFIG_VAR_FILE.$$ -$CONFIGURATOR --autotools-style --var-file=$CONFIG_VAR_FILE.$$ --header-file=$CONFIG_HEADER --configurator-cc="$CONFIGURATOR_CC" "$CC" $CWARNFLAGS $CDEBUGFLAGS +$CONFIGURATOR --extra-tests --autotools-style --var-file=$CONFIG_VAR_FILE.$$ --header-file=$CONFIG_HEADER --configurator-cc="$CONFIGURATOR_CC" "$CC" $CWARNFLAGS $CDEBUGFLAGS < +#include + +int main(void) +{ + printf("%p\n", crypto_aead_chacha20poly1305_ietf_encrypt); + exit(0); +} +/*END*/ +EOF mv $CONFIG_VAR_FILE.$$ $CONFIG_VAR_FILE add_var PREFIX "$PREFIX" diff --git a/doc/INSTALL.md b/doc/INSTALL.md index 85ed25e78..29014ff89 100644 --- a/doc/INSTALL.md +++ b/doc/INSTALL.md @@ -36,7 +36,7 @@ Get dependencies: sudo apt-get update sudo apt-get install -y \ autoconf automake build-essential git libtool libgmp-dev \ - libsqlite3-dev python python3 net-tools zlib1g-dev + libsqlite3-dev python python3 net-tools zlib1g-dev libsodium If you don't have Bitcoin installed locally you'll need to install that as well: @@ -93,7 +93,8 @@ $ sudo dnf update -y && \ net-tools \ valgrind \ wget \ - zlib-devel && \ + zlib-devel \ + libsodium-devel && \ sudo dnf clean all ``` @@ -132,7 +133,7 @@ OS version: FreeBSD 11.1-RELEASE or above Get dependencies: # pkg install -y \ - autoconf automake git gmp asciidoc gmake libtool python python3 sqlite3 + autoconf automake git gmp asciidoc gmake libtool python python3 sqlite3 libsodium If you don't have Bitcoin installed locally you'll need to install that as well: @@ -167,7 +168,7 @@ Use nix-shell launch a shell with a full clightning dev environment: ``` $ nix-shell -Q -p gdb sqlite autoconf git clang libtool gmp sqlite autoconf \ -autogen automake 'python3.withPackages (p: [p.bitcoinlib])' \ +autogen automake libsodium 'python3.withPackages (p: [p.bitcoinlib])' \ valgrind asciidoc --run make ``` @@ -181,7 +182,7 @@ Assuming you have Xcode and Homebrew installed. Install dependencies: If you don't have bitcoind installed locally you'll need to install that as well: - $ brew install berkeley-db4 boost miniupnpc openssl pkg-config libevent + $ brew install berkeley-db4 boost miniupnpc openssl pkg-config libevent libsodium $ git clone https://github.com/bitcoin/bitcoin $ cd bitcoin $ ./autogen.sh diff --git a/external/Makefile b/external/Makefile index 71b9d81ef..ccaf7d3fb 100644 --- a/external/Makefile +++ b/external/Makefile @@ -15,10 +15,9 @@ JSMN_HEADERS := external/jsmn/jsmn.h LIBBASE58_HEADERS := external/libbase58/libbase58.h EXTERNAL_HEADERS := $(LIBSODIUM_HEADERS) $(LIBWALLY_HEADERS) $(LIBSECP_HEADERS) $(JSMN_HEADERS) $(LIBBASE58_HEADERS) -EXTERNAL_LIBS := external/libwallycore.a external/libsecp256k1.a external/libsodium.a external/libjsmn.a external/libbase58.a external/libbacktrace.a +EXTERNAL_LIBS := external/libwallycore.a external/libsecp256k1.a external/libjsmn.a external/libbase58.a external/libbacktrace.a EXTERNAL_INCLUDE_FLAGS := \ - -I external/libsodium/src/libsodium/include \ -I external/libwally-core/include/ \ -I external/libwally-core/src/secp256k1/include/ \ -I external/jsmn/ \ @@ -26,6 +25,13 @@ EXTERNAL_INCLUDE_FLAGS := \ -I external/libbacktrace/ \ -I external/libbacktrace-build +ifneq ($(HAVE_GOOD_LIBSODIUM),1) +EXTERNAL_INCLUDE_FLAGS += -I external/libsodium/src/libsodium/include +EXTERNAL_LIBS += external/libsodium.a +else +LDLIBS += -lsodium +endif + EXTERNAL_LDLIBS := -Lexternal $(patsubst lib%.a,-l%,$(notdir $(EXTERNAL_LIBS))) submodcheck: FORCE