diff --git a/.travis.yml b/.travis.yml index 0ffc452..273e8d0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,7 +4,7 @@ services: env: global: - DOCKERBUILDER=greenaddress/core_builder_for_android - - DOCKERHASH=06e3e394f41bd389a11ce51a2bb4ec46ff082e86d25f4f90644aad5b4faaf0f1 + - DOCKERHASH=9e8e2dd9ea172a500e106a87fb116976e466e14d5cbac4307759961b946977a1 - REPO=https://github.com/bitcoin/bitcoin.git - COMMIT=1bc9988993ee84bc814e5a7f33cc90f670a19f6a - TARGETHOST=aarch64-linux-android diff --git a/Dockerfile b/Dockerfile index 047e580..ffe0be9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,3 +1,3 @@ -FROM debian:buster@sha256:41f76363fd83982e14f7644486e1fb04812b3894aa4e396137c3435eaf05de88 +FROM debian:buster@sha256:79f0b1682af1a6a29ff63182c8103027f4de98b22d8fb50040e9c4bb13e3de78 COPY /buster_deps.sh / RUN /buster_deps.sh diff --git a/buster_deps.sh b/buster_deps.sh index c2b3eb0..4f645ca 100755 --- a/buster_deps.sh +++ b/buster_deps.sh @@ -7,7 +7,7 @@ sha256_file=8381c440fe61fcbb01e209211ac01b519cd6adf51ab1c2281d5daad6ca4c8c8c apt-get -yqq update &> /dev/null apt-get -yqq upgrade &> /dev/null -apt-get -yqq install python curl build-essential libtool autotools-dev automake pkg-config bsdmainutils unzip git &> /dev/null +apt-get -yqq install python python3-{pip,virtualenv,mako} curl build-essential libtool autotools-dev automake pkg-config bsdmainutils unzip git gettext &> /dev/null mkdir -p /opt diff --git a/fetchbuild.sh b/fetchbuild.sh index a794a88..62905b1 100755 --- a/fetchbuild.sh +++ b/fetchbuild.sh @@ -9,25 +9,30 @@ configextra=$5 target_host=$6 bits=$7 - unpackdep() { - curl -sL -o tmp.tar.gz $1 - echo "$2 tmp.tar.gz" | sha256sum --check - tar xzf tmp.tar.gz - rm tmp.tar.gz + archive=$(basename $1) + curl -sL -o ${archive} $1 + echo "$2 ${archive}" | sha256sum --check + tar xf ${archive} + rm ${archive} } +# build lightning deps +LNBUILDROOT=$PWD/ln_build_root +mkdir $LNBUILDROOT export ANDROID_NDK_HOME=/opt/android-ndk-r20b export PATH=$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin:${PATH} -export AR=${target_host/v7a/}-ar -export AS=${target_host}21-clang -export CC=${target_host}21-clang -export CXX=${target_host}21-clang++ -export LD=${target_host/v7a/}-ld +export AR=${target_host/v7a}-ar +export AS=${target_host}24-clang +export CC=${target_host}24-clang +export CXX=${target_host}24-clang++ +export LD=${target_host/v7a}-ld export STRIP=${target_host/v7a}-strip -export CFLAGS="-flto" -export LDFLAGS="$CFLAGS -pie -static-libstdc++ -fuse-ld=lld" +export LDFLAGS="-pie" +export MAKE_HOST=${target_host/v7a} +export HOST=${target_host/v7a} +export CONFIGURATOR_CC="/usr/bin/gcc" NDKARCH=arm if [ "$target_host" = "i686-linux-android" ]; then @@ -38,16 +43,67 @@ elif [ "$target_host" = "aarch64-linux-android" ]; then NDKARCH=arm64 fi -NDKV=19 -if [ "$bits" = "64" ]; then - NDKV=21 -fi - num_jobs=4 if [ -f /proc/cpuinfo ]; then num_jobs=$(grep ^processor /proc/cpuinfo | wc -l) fi +## build cln first + +# sqlite +unpackdep https://www.sqlite.org/2018/sqlite-autoconf-3260000.tar.gz 5daa6a3fb7d1e8c767cd59c4ded8da6e4b00c61d3b466d0685e35c4dd6d7bf5d +cd sqlite-autoconf-3260000 +./configure --enable-static --disable-readline --disable-threadsafe --host=${target_host} CC=$CC --prefix=${LNBUILDROOT} +make -j $num_jobs +make install +cd .. +rm -rf sqlite-autoconf-3260000 + +# gmp +unpackdep https://gmplib.org/download/gmp/gmp-6.1.2.tar.bz2 5275bb04f4863a13516b2f39392ac5e272f5e1bb8057b18aec1c9b79d73d8fb2 +cd gmp-6.1.2 +./configure --enable-static --disable-assembly --host=${target_host} CC=$CC --prefix=${LNBUILDROOT} +make -j $num_jobs +make install +cd .. +rm -rf gmp-6.1.2 + +# download lightning +git clone https://github.com/ElementsProject/lightning.git lightning +cd lightning +git checkout v0.7.3 + +# set virtualenv for lightning +python3 -m virtualenv venv +. venv/bin/activate +pip install -r requirements.txt + +# set standard cc for the configurator +sed -i 's/$CC ${CWARNFLAGS-$BASE_WARNFLAGS} $CDEBUGFLAGS $COPTFLAGS -o $CONFIGURATOR $CONFIGURATOR.c/$CONFIGURATOR_CC ${CWARNFLAGS-$BASE_WARNFLAGS} $CDEBUGFLAGS $COPTFLAGS -o $CONFIGURATOR $CONFIGURATOR.c/g' configure +sed -i 's/-Wno-maybe-uninitialized/-Wno-uninitialized/g' configure +./configure CONFIGURATOR_CC=${CONFIGURATOR_CC} --prefix=${LNBUILDROOT} --disable-developer --disable-compat --disable-valgrind --enable-static + +cp /repo/lightning-gen_header_versions.h gen_header_versions.h +# update arch based on toolchain +sed "s'NDKCOMPILER'${CC}'" /repo/lightning-config.vars > config.vars +sed "s'NDKCOMPILER'${CC}'" /repo/lightning-config.h > ccan/config.h + +# patch makefile +patch -p1 < /repo/lightning-makefile.patch +patch -p1 < /repo/lightning-jsonrpc.patch +patch -p1 < /repo/lightning-endian.patch + +# build external libraries and source +make PIE=1 DEVELOPER=0 || echo "continue" +make clean -C ccan/ccan/cdump/tools +make LDFLAGS="" CC="${CONFIGURATOR_CC}" LDLIBS="-L/usr/local/lib" -C ccan/ccan/cdump/tools +make PIE=1 DEVELOPER=0 +deactivate +cd .. + + +export CFLAGS="-flto" +export LDFLAGS="$CFLAGS -pie -static-libstdc++ -fuse-ld=lld" # build core git clone $repo ${reponame} cd ${reponame} @@ -129,7 +185,12 @@ cd .. if [ "${reponame}" != "${rename}" ]; then mv ${reponame}/depends/${target_host/v7a/}/bin/${reponame}d ${reponame}/depends/${target_host/v7a/}/bin/${rename}d mv ${reponame}/depends/${target_host/v7a/}/bin/${reponame}-cli ${reponame}/depends/${target_host/v7a/}/bin/${rename}-cli - tar -Jcf /repo/${target_host/v7a/}_${rename}.tar.xz -C ${reponame}/depends/${target_host/v7a/}/bin ${rename}d ${rename}-cli tor + outputtar=/repo/${target_host/v7a/}_${rename}.tar else - tar -Jcf /repo/${target_host/v7a/}_$(basename $(dirname ${repo})).tar.xz -C ${reponame}/depends/${target_host/v7a/}/bin ${rename}d ${rename}-cli tor + outputtar=/repo/${target_host/v7a/}_$(basename $(dirname ${repo})).tar fi +tar -cf ${outputtar} -C ${reponame}/depends/${target_host/v7a/}/bin ${rename}d ${rename}-cli tor +tar -rf ${outputtar} -C lightning/lightningd lightning_channeld lightning_closingd lightning_connectd lightning_gossipd lightning_hsmd lightning_onchaind lightning_openingd lightningd +tar -rf ${outputtar} -C lightning plugins/autoclean plugins/fundchannel plugins/pay +tar -rf ${outputtar} -C lightning/cli lightning-cli +xz ${outputtar} diff --git a/lightning-config.h b/lightning-config.h new file mode 100644 index 0000000..9260d74 --- /dev/null +++ b/lightning-config.h @@ -0,0 +1,90 @@ +/* Generated by CCAN configurator */ +#ifndef CCAN_CONFIG_H +#define CCAN_CONFIG_H +#ifndef _GNU_SOURCE +#define _GNU_SOURCE /* Always use GNU extensions. */ +#endif +#define CCAN_COMPILER "NDKCOMPILER" +#define CCAN_CFLAGS "-Wall -Wundef -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wold-style-definition -Werror -std=gnu11 -g -fstack-protector -Og" +#define CCAN_OUTPUT_EXE_CFLAG "-o" + +#define HAVE_CCAN 1 +#define HAVE_32BIT_OFF_T 0 +#define HAVE_ALIGNOF 1 +#define HAVE_ASPRINTF 1 +#define HAVE_ATTRIBUTE_COLD 1 +#define HAVE_ATTRIBUTE_CONST 1 +#define HAVE_ATTRIBUTE_DEPRECATED 0 +#define HAVE_ATTRIBUTE_NONNULL 1 +#define HAVE_ATTRIBUTE_SENTINEL 1 +#define HAVE_ATTRIBUTE_PURE 1 +#define HAVE_ATTRIBUTE_MAY_ALIAS 1 +#define HAVE_ATTRIBUTE_NORETURN 1 +#define HAVE_ATTRIBUTE_PRINTF 1 +#define HAVE_ATTRIBUTE_UNUSED 1 +#define HAVE_ATTRIBUTE_USED 1 +#define HAVE_BACKTRACE 0 +#define HAVE_BIG_ENDIAN 0 +#define HAVE_BSWAP_64 0 +#define HAVE_BUILTIN_CHOOSE_EXPR 1 +#define HAVE_BUILTIN_CLZ 1 +#define HAVE_BUILTIN_CLZL 1 +#define HAVE_BUILTIN_CLZLL 1 +#define HAVE_BUILTIN_CTZ 1 +#define HAVE_BUILTIN_CTZL 1 +#define HAVE_BUILTIN_CTZLL 1 +#define HAVE_BUILTIN_CONSTANT_P 1 +#define HAVE_BUILTIN_EXPECT 1 +#define HAVE_BUILTIN_FFS 1 +#define HAVE_BUILTIN_FFSL 1 +#define HAVE_BUILTIN_FFSLL 1 +#define HAVE_BUILTIN_POPCOUNT 1 +#define HAVE_BUILTIN_POPCOUNTL 1 +#define HAVE_BUILTIN_POPCOUNTLL 1 +#define HAVE_BUILTIN_TYPES_COMPATIBLE_P 1 +#define HAVE_ICCARM_INTRINSICS 0 +#define HAVE_BYTESWAP_H 0 +#define HAVE_CLOCK_GETTIME 1 +#define HAVE_CLOCK_GETTIME_IN_LIBRT 0 +#define HAVE_COMPOUND_LITERALS 1 +#define HAVE_FCHDIR 1 +#define HAVE_ERR_H 1 +#define HAVE_FILE_OFFSET_BITS 0 +#define HAVE_FOR_LOOP_DECLARATION 1 +#define HAVE_FLEXIBLE_ARRAY_MEMBER 1 +#define HAVE_GETPAGESIZE 1 +#define HAVE_ISBLANK 1 +#define HAVE_LITTLE_ENDIAN 1 +#define HAVE_MEMMEM 1 +#define HAVE_MEMRCHR 0 +#define HAVE_MMAP 1 +#define HAVE_PROC_SELF_MAPS 0 +#define HAVE_QSORT_R_PRIVATE_LAST 0 +#define HAVE_STRUCT_TIMESPEC 1 +#define HAVE_SECTION_START_STOP 1 +#define HAVE_STACK_GROWS_UPWARDS 0 +#define HAVE_STATEMENT_EXPR 1 +#define HAVE_SYS_FILIO_H 1 +#define HAVE_SYS_TERMIOS_H 0 +#define HAVE_SYS_UNISTD_H 1 +#define HAVE_TYPEOF 1 +#define HAVE_UNALIGNED_ACCESS 1 +#define HAVE_UTIME 1 +#define HAVE_WARN_UNUSED_RESULT 1 +#define HAVE_OPENMP 0 +#define HAVE_VALGRIND_MEMCHECK_H 0 +#define HAVE_UCONTEXT 0 +#define HAVE_POINTER_SAFE_MAKECONTEXT 0 +#define HAVE_BUILTIN_CPU_SUPPORTS 1 +#define HAVE_GOOD_LIBSODIUM 0 +#define HAVE_SQLITE3_EXPANDED_SQL 1 +#define HAVE_SQLITE3 1 +#define HAVE_POSTGRES 0 +#define HAVE_GCC 0 +#define HAVE_MODERN_GCC 0 +#define HAVE_PWRITEV 0 +#endif /* CCAN_CONFIG_H */ +#define DEVELOPER 0 +#define EXPERIMENTAL_FEATURES 0 +#define COMPAT 0 +#include "../ccan_compat.h" diff --git a/lightning-config.vars b/lightning-config.vars new file mode 100644 index 0000000..b459c24 --- /dev/null +++ b/lightning-config.vars @@ -0,0 +1,88 @@ +HAVE_32BIT_OFF_T=0 +HAVE_ALIGNOF=1 +HAVE_ASPRINTF=1 +HAVE_ATTRIBUTE_COLD=1 +HAVE_ATTRIBUTE_CONST=1 +HAVE_ATTRIBUTE_DEPRECATED=0 +HAVE_ATTRIBUTE_NONNULL=1 +HAVE_ATTRIBUTE_SENTINEL=1 +HAVE_ATTRIBUTE_PURE=1 +HAVE_ATTRIBUTE_MAY_ALIAS=1 +HAVE_ATTRIBUTE_NORETURN=1 +HAVE_ATTRIBUTE_PRINTF=1 +HAVE_ATTRIBUTE_UNUSED=1 +HAVE_ATTRIBUTE_USED=1 +HAVE_BACKTRACE=0 +HAVE_BIG_ENDIAN=0 +HAVE_BSWAP_64=0 +HAVE_BUILTIN_CHOOSE_EXPR=1 +HAVE_BUILTIN_CLZ=1 +HAVE_BUILTIN_CLZL=1 +HAVE_BUILTIN_CLZLL=1 +HAVE_BUILTIN_CTZ=1 +HAVE_BUILTIN_CTZL=1 +HAVE_BUILTIN_CTZLL=1 +HAVE_BUILTIN_CONSTANT_P=1 +HAVE_BUILTIN_EXPECT=1 +HAVE_BUILTIN_FFS=1 +HAVE_BUILTIN_FFSL=1 +HAVE_BUILTIN_FFSLL=1 +HAVE_BUILTIN_POPCOUNT=1 +HAVE_BUILTIN_POPCOUNTL=1 +HAVE_BUILTIN_POPCOUNTLL=1 +HAVE_BUILTIN_TYPES_COMPATIBLE_P=1 +HAVE_ICCARM_INTRINSICS=0 +HAVE_BYTESWAP_H=0 +HAVE_CLOCK_GETTIME=1 +HAVE_CLOCK_GETTIME_IN_LIBRT=0 +HAVE_COMPOUND_LITERALS=1 +HAVE_FCHDIR=1 +HAVE_ERR_H=1 +HAVE_FILE_OFFSET_BITS=0 +HAVE_FOR_LOOP_DECLARATION=1 +HAVE_FLEXIBLE_ARRAY_MEMBER=1 +HAVE_GETPAGESIZE=1 +HAVE_ISBLANK=1 +HAVE_LITTLE_ENDIAN=1 +HAVE_MEMMEM=1 +HAVE_MEMRCHR=0 +HAVE_MMAP=1 +HAVE_PROC_SELF_MAPS=0 +HAVE_QSORT_R_PRIVATE_LAST=0 +HAVE_STRUCT_TIMESPEC=1 +HAVE_SECTION_START_STOP=1 +HAVE_STACK_GROWS_UPWARDS=0 +HAVE_STATEMENT_EXPR=1 +HAVE_SYS_FILIO_H=1 +HAVE_SYS_TERMIOS_H=0 +HAVE_SYS_UNISTD_H=1 +HAVE_TYPEOF=1 +HAVE_UNALIGNED_ACCESS=1 +HAVE_UTIME=1 +HAVE_WARN_UNUSED_RESULT=1 +HAVE_OPENMP=0 +HAVE_VALGRIND_MEMCHECK_H=0 +HAVE_UCONTEXT=0 +HAVE_POINTER_SAFE_MAKECONTEXT=0 +HAVE_BUILTIN_CPU_SUPPORTS=1 +HAVE_GOOD_LIBSODIUM=0 +HAVE_SQLITE3_EXPANDED_SQL=1 +HAVE_SQLITE3=1 +HAVE_POSTGRES=0 +HAVE_GCC=0 +HAVE_MODERN_GCC=0 +HAVE_PWRITEV=0 +PREFIX=/ln_build_root +CC=NDKCOMPILER +CONFIGURATOR_CC=/usr/bin/gcc +CWARNFLAGS=-Wall -Wundef -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wold-style-definition -Werror +CDEBUGFLAGS=-std=gnu11 -g -fstack-protector +COPTFLAGS=-Og +VALGRIND=0 +DEVELOPER=0 +EXPERIMENTAL_FEATURES=0 +COMPAT=0 +PYTEST= +STATIC=1 +ASAN=0 +TEST_NETWORK=regtest diff --git a/lightning-endian.patch b/lightning-endian.patch new file mode 100644 index 0000000..ae3d447 --- /dev/null +++ b/lightning-endian.patch @@ -0,0 +1,17 @@ +diff --git a/ccan/ccan/endian/endian.h b/ccan/ccan/endian/endian.h +index 3753f490..6e9d8046 100644 +--- a/ccan/ccan/endian/endian.h ++++ b/ccan/ccan/endian/endian.h +@@ -104,8 +104,12 @@ static inline uint64_t bswap_64(uint64_t val) + #endif + + /* Needed for Glibc like endiness check */ ++#ifndef __LITTLE_ENDIAN + #define __LITTLE_ENDIAN 1234 ++#endif ++#ifndef __BIG_ENDIAN + #define __BIG_ENDIAN 4321 ++#endif + + /* Sanity check the defines. We don't handle weird endianness. */ + #if !HAVE_LITTLE_ENDIAN && !HAVE_BIG_ENDIAN diff --git a/lightning-gen_header_versions.h b/lightning-gen_header_versions.h new file mode 100644 index 0000000..f67d270 --- /dev/null +++ b/lightning-gen_header_versions.h @@ -0,0 +1,29 @@ +/* Generated file by tools/headerversions, do not edit! */ +/* GMP version: 6.1.2 */ +/* SQLITE3 version: 3024000 */ +/* ZLIB version: 1.2.11 */ +#include +#include +#include +#include + +static inline void check_linked_library_versions(void) +{ + char compiled_gmp_version[100]; + if (SQLITE_VERSION_NUMBER != sqlite3_libversion_number()) + errx(1, "SQLITE version mismatch: compiled %u, now %u", + SQLITE_VERSION_NUMBER, sqlite3_libversion_number()); + /* zlib documents that first char alters ABI. Kudos! */ + if (zlibVersion()[0] != ZLIB_VERSION[0]) + errx(1, "zlib version mismatch: compiled %s, now %s", + ZLIB_VERSION, zlibVersion()); + /* GMP doesn't say anything, and we have to assemble our own string. */ + snprintf(compiled_gmp_version, sizeof(compiled_gmp_version), + "%u.%u.%u", + __GNU_MP_VERSION, + __GNU_MP_VERSION_MINOR, + __GNU_MP_VERSION_PATCHLEVEL); + if (strcmp(compiled_gmp_version, gmp_version) != 0) + errx(1, "gmp version mismatch: compiled %s, now %s", + compiled_gmp_version, gmp_version); +} diff --git a/lightning-jsonrpc.patch b/lightning-jsonrpc.patch new file mode 100644 index 0000000..714522f --- /dev/null +++ b/lightning-jsonrpc.patch @@ -0,0 +1,69 @@ +diff --git a/cli/lightning-cli.c b/cli/lightning-cli.c +index bb120f1b..7b9c01a5 100644 +--- a/cli/lightning-cli.c ++++ b/cli/lightning-cli.c +@@ -522,10 +522,12 @@ int main(int argc, char *argv[]) + fd = socket(AF_UNIX, SOCK_STREAM, 0); + if (strlen(rpc_filename) + 1 > sizeof(addr.sun_path)) + errx(ERROR_USAGE, "rpc filename '%s' too long", rpc_filename); +- strcpy(addr.sun_path, rpc_filename); ++ addr.sun_path[0] = '\0'; ++ strcpy(addr.sun_path + 1, rpc_filename); + addr.sun_family = AF_UNIX; + +- if (connect(fd, (struct sockaddr *)&addr, sizeof(addr)) != 0) ++ if (connect(fd, (struct sockaddr *)&addr, sizeof(addr.sun_family) + ++ strlen(rpc_filename) + 1) != 0) + err(ERROR_TALKING_TO_LIGHTNINGD, + "Connecting to '%s'", rpc_filename); + +diff --git a/lightningd/jsonrpc.c b/lightningd/jsonrpc.c +index c5c7fa7d..9de8d8c4 100644 +--- a/lightningd/jsonrpc.c ++++ b/lightningd/jsonrpc.c +@@ -945,17 +945,20 @@ void jsonrpc_listen(struct jsonrpc *jsonrpc, struct lightningd *ld) + } + if (strlen(rpc_filename) + 1 > sizeof(addr.sun_path)) + errx(1, "rpc filename '%s' too long", rpc_filename); +- strcpy(addr.sun_path, rpc_filename); ++ addr.sun_path[0] = '\0'; ++ strcpy(addr.sun_path + 1, rpc_filename); + addr.sun_family = AF_UNIX; + + /* Of course, this is racy! */ +- if (connect(fd, (struct sockaddr *)&addr, sizeof(addr)) == 0) ++ if (connect(fd, (struct sockaddr *)&addr, sizeof(addr.sun_family) + ++ strlen(rpc_filename) + 1) == 0) + errx(1, "rpc filename '%s' in use", rpc_filename); + unlink(rpc_filename); + + /* This file is only rw by us! */ + old_umask = umask(0177); +- if (bind(fd, (struct sockaddr *)&addr, sizeof(addr))) ++ if (bind(fd, (struct sockaddr *)&addr, sizeof(addr.sun_family) + ++ strlen(rpc_filename) + 1)) + err(1, "Binding rpc socket to '%s'", rpc_filename); + umask(old_umask); + +diff --git a/plugins/libplugin.c b/plugins/libplugin.c +index 7461f2a7..6c85156b 100644 +--- a/plugins/libplugin.c ++++ b/plugins/libplugin.c +@@ -550,11 +550,14 @@ static struct command_result *handle_init(struct command *init_cmd, + plugin_err("rpc filename '%.*s' too long", + rpctok->end - rpctok->start, + buf + rpctok->start); +- memcpy(addr.sun_path, buf + rpctok->start, rpctok->end - rpctok->start); +- addr.sun_path[rpctok->end - rpctok->start] = '\0'; ++ ++ memcpy(addr.sun_path + 1, buf + rpctok->start, rpctok->end - rpctok->start); ++ addr.sun_path[0] = '\0'; ++ addr.sun_path[rpctok->end - rpctok->start + 1] = '\0'; + addr.sun_family = AF_UNIX; + +- if (connect(rpc_conn.fd, (struct sockaddr *)&addr, sizeof(addr)) != 0) ++ const size_t len = sizeof(addr.sun_family) + (rpctok->end - rpctok->start) + 1; ++ if (connect(rpc_conn.fd, (struct sockaddr *)&addr, len) != 0) + plugin_err("Connecting to '%.*s': %s", + rpctok->end - rpctok->start, buf + rpctok->start, + strerror(errno)); diff --git a/lightning-makefile.patch b/lightning-makefile.patch new file mode 100644 index 0000000..f23f999 --- /dev/null +++ b/lightning-makefile.patch @@ -0,0 +1,56 @@ +diff --git a/Makefile b/Makefile +index 7c19a5d6..eb72e8d6 100644 +--- a/Makefile ++++ b/Makefile +@@ -189,19 +189,19 @@ BOLT_DEPS := $(BOLT_GEN) + ALL_PROGRAMS = + + CPPFLAGS += -DBINTOPKGLIBEXECDIR="\"$(shell sh tools/rel.sh $(bindir) $(pkglibexecdir))\"" +-CFLAGS = $(CPPFLAGS) $(CWARNFLAGS) $(CDEBUGFLAGS) $(COPTFLAGS) -I $(CCANDIR) $(EXTERNAL_INCLUDE_FLAGS) -I . -I/usr/local/include $(FEATURES) $(COVFLAGS) $(DEV_CFLAGS) -DSHACHAIN_BITS=48 -DJSMN_PARENT_LINKS $(PIE_CFLAGS) $(COMPAT_CFLAGS) -DBUILD_ELEMENTS=1 ++CFLAGS = $(CPPFLAGS) $(CWARNFLAGS) $(CDEBUGFLAGS) $(COPTFLAGS) -I $(CCANDIR) $(EXTERNAL_INCLUDE_FLAGS) -I . -I$(PREFIX)/include $(FEATURES) $(COVFLAGS) $(DEV_CFLAGS) -DSHACHAIN_BITS=48 -DJSMN_PARENT_LINKS $(PIE_CFLAGS) $(COMPAT_CFLAGS) -DBUILD_ELEMENTS=1 + + # We can get configurator to run a different compile cmd to cross-configure. +-CONFIGURATOR_CC := $(CC) ++#CONFIGURATOR_CC := $(CC) + + LDFLAGS += $(PIE_LDFLAGS) $(SANITIZER_FLAGS) $(COPTFLAGS) + ifeq ($(STATIC),1) + # For MacOS, Jacob Rapoport changed this to: + # -L/usr/local/lib -Wl,-lgmp -lsqlite3 -lz -Wl,-lm -lpthread -ldl $(COVFLAGS) + # But that doesn't static link. +-LDLIBS = -L/usr/local/lib -Wl,-dn -lgmp -lsqlite3 -lz -Wl,-dy -lm -lpthread -ldl $(COVFLAGS) ++LDLIBS = -L$(PREFIX)/lib -Wl,-dn -lgmp -lsqlite3 -lz -Wl,-dy -lm -ldl $(COVFLAGS) + else +-LDLIBS = -L/usr/local/lib -lm -lgmp -lsqlite3 -lz $(COVFLAGS) ++LDLIBS = -L$(PREFIX)/lib -lm -lgmp -lsqlite3 -lz $(COVFLAGS) + endif + + # If we have the postgres client library we need to link against it as well +@@ -382,7 +382,7 @@ gen_header_versions.h: tools/headerversions + @tools/headerversions $@ + + # Rebuild the world if this changes. +-ALL_GEN_HEADERS += gen_header_versions.h ++#ALL_GEN_HEADERS += gen_header_versions.h + + # All binaries require the external libs, ccan and system library versions. + $(ALL_PROGRAMS) $(ALL_TEST_PROGRAMS): $(EXTERNAL_LIBS) $(CCAN_OBJS) +@@ -433,7 +433,7 @@ clean: + $(RM) $(ALL_PROGRAMS) $(ALL_PROGRAMS:=.o) + $(RM) $(ALL_TEST_PROGRAMS) $(ALL_TEST_PROGRAMS:=.o) + $(RM) gen_*.h ccan/tools/configurator/configurator +- $(RM) ccan/ccan/cdump/tools/cdump-enumstr.o ++ #$(RM) ccan/ccan/cdump/tools/cdump-enumstr.o + find . -name '*gcda' -delete + find . -name '*gcno' -delete + find . -name '*.nccout' -delete +diff --git a/bitcoin/Makefile b/bitcoin/Makefile +index 33dc5f7c..90e67cde 100644 +--- a/bitcoin/Makefile ++++ b/bitcoin/Makefile +@@ -54,4 +54,4 @@ clean: bitcoin-clean + bitcoin-clean: + $(RM) $(BITCOIN_OBJS) $(BITCOIN_TEST_PROGRAMS) $(BITCOIN_TEST_OBJS) + +-include bitcoin/test/Makefile ++#include bitcoin/test/Makefile diff --git a/run.sh b/run.sh index 2f9f274..2302d4b 100755 --- a/run.sh +++ b/run.sh @@ -1,7 +1,7 @@ #! /bin/bash set -xeo pipefail -DOCKERHASH=06e3e394f41bd389a11ce51a2bb4ec46ff082e86d25f4f90644aad5b4faaf0f1 +DOCKERHASH=9e8e2dd9ea172a500e106a87fb116976e466e14d5cbac4307759961b946977a1 DOCKERIMAGE=greenaddress/core_builder_for_android@sha256:$DOCKERHASH docker pull $DOCKERIMAGE