Skip to content

Commit

Permalink
Merge pull request #108 from anonymousbitcoin/v2/final_sapling
Browse files Browse the repository at this point in the history
Zcash vulnerability fix, sprout burn and upgrade to sapling.
  • Loading branch information
thedon-chris authored Apr 5, 2019
2 parents 69aa516 + 14a2a28 commit 1804dad
Show file tree
Hide file tree
Showing 436 changed files with 32,369 additions and 116,045 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,7 @@ qa/pull-tester/test.*/*
qa/pull-tester/tests_config.py

!src/leveldb*/Makefile
!src/snark/Makefile

/doc/doxygen/

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

[![Build Status](https://travis-ci.com/ByeBugDevelopment/anon-backup.svg?token=WBBgtRXJbdCRsjxqqhJy&branch=master)](https://travis-ci.com/ByeBugDevelopment/anon-backup)

**Anonymous Bitcoin v.2.1.2**
**Anonymous Bitcoin v.2.2.0**

ANON is an implementation of the zerocash protocol, bootstrapped with a merge of the Official Bitcoin and Zclassic UTXO sets via a snapshot and airdrop, and with the additional implementation of masternodes.

Expand Down
144 changes: 144 additions & 0 deletions anonutil/build-mac-clang.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,144 @@
#!/usr/bin/env bash

set -eu -o pipefail

function cmd_pref() {
if type -p "$2" > /dev/null; then
eval "$1=$2"
else
eval "$1=$3"
fi
}

# If a g-prefixed version of the command exists, use it preferentially.
function gprefix() {
cmd_pref "$1" "g$2" "$2"
}

gprefix READLINK readlink
cd "$(dirname "$("$READLINK" -f "$0")")/.."

# Allow user overrides to $MAKE. Typical usage for users who need it:
# MAKE=gmake ./zcutil/build.sh -j$(nproc)
if [[ -z "${MAKE-}" ]]; then
MAKE=make
fi

# Allow overrides to $BUILD and $HOST for porters. Most users will not need it.
# BUILD=i686-pc-linux-gnu ./zcutil/build.sh
if [[ -z "${BUILD-}" ]]; then
BUILD="$(./depends/config.guess)"
fi
if [[ -z "${HOST-}" ]]; then
HOST="$BUILD"
fi

# Allow override to $CC and $CXX for porters. Most users will not need it.
if [[ -z "${CC-}" ]]; then
CC=gcc
fi
if [[ -z "${CXX-}" ]]; then
CXX=g++
fi

if [ "x$*" = 'x--help' ]
then
cat <<EOF
Usage:
$0 --help
Show this help message and exit.
$0 [ --enable-lcov || --disable-tests ] [ --disable-mining ] [ --disable-rust ] [ --enable-proton ] [ --disable-libs ] [ MAKEARGS... ]
Build ANON and most of its transitive dependencies from
source. MAKEARGS are applied to both dependencies and ANON itself.
If --enable-lcov is passed, ANON is configured to add coverage
instrumentation, thus enabling "make cov" to work.
If --disable-tests is passed instead, the ANON tests are not built.
If --disable-mining is passed, ANON is configured to not build any mining
code. It must be passed after the test arguments, if present.
If --disable-rust is passed, ANON is configured to not build any Rust language
assets. It must be passed after test/mining arguments, if present.
If --enable-proton is passed, ANON is configured to build the Apache Qpid Proton
library required for AMQP support. This library is not built by default.
It must be passed after the test/mining/Rust arguments, if present.
If --disable-libs is passed, ANON is configured to not build any libraries like
'libzcashconsensus'.
EOF
exit 0
fi

set -x

# If --enable-lcov is the first argument, enable lcov coverage support:
LCOV_ARG=''
HARDENING_ARG='--enable-hardening'
TEST_ARG=''
if [ "x${1:-}" = 'x--enable-lcov' ]
then
LCOV_ARG='--enable-lcov'
HARDENING_ARG='--disable-hardening'
shift
elif [ "x${1:-}" = 'x--disable-tests' ]
then
TEST_ARG='--enable-tests=no'
shift
fi

# If --disable-mining is the next argument, disable mining code:
MINING_ARG=''
if [ "x${1:-}" = 'x--disable-mining' ]
then
MINING_ARG='--enable-mining=no'
shift
fi

# If --disable-rust is the next argument, disable Rust code:
RUST_ARG=''
if [ "x${1:-}" = 'x--disable-rust' ]
then
RUST_ARG='--enable-rust=no'
shift
fi

# If --enable-proton is the next argument, enable building Proton code:
PROTON_ARG='--enable-proton=no'
if [ "x${1:-}" = 'x--enable-proton' ]
then
PROTON_ARG=''
shift
fi

# If --disable-libs is the next argument, build without libs:
LIBS_ARG=''
if [ "x${1:-}" = 'x--disable-libs' ]
then
LIBS_ARG='--without-libs'
shift
fi

PREFIX="$(pwd)/depends/$BUILD/"

eval "$MAKE" --version
eval "$CC" --version
eval "$CXX" --version
as --version
ld -v

# ANON MOD START
#echo '================================================'
#echo "HOST=" "$HOST" "BUILD=" "$BUILD" "NO_RUST=" "$RUST_ARG"
#echo "$MAKE" "$@" "-C ./depends/ V=1"
#echo '================================================'
# ANON MOD END

HOST="$HOST" BUILD="$BUILD" NO_RUST="$RUST_ARG" NO_PROTON="$PROTON_ARG" "$MAKE" "$@" -C ./depends/ V=1
./autogen.sh
# CC="$CC" CXX="$CXX" ./configure --prefix="${PREFIX}" --host="$HOST" --build="$BUILD" "$RUST_ARG" "$HARDENING_ARG" "$LCOV_ARG" "$TEST_ARG" "$MINING_ARG" "$PROTON_ARG" "$LIBS_ARG" --enable-werror CXXFLAGS='-fwrapv -fno-strict-aliasing -Wno-builtin-declaration-mismatch -Werror -g'
CC="$CC" CXX="$CXX" ./configure --prefix="${PREFIX}" --host="$HOST" --build="$BUILD" "$RUST_ARG" "$HARDENING_ARG" "$LCOV_ARG" "$TEST_ARG" "$MINING_ARG" "$PROTON_ARG" "$LIBS_ARG" --enable-werror CXXFLAGS='-Wno-literal-conversion -g'
"$MAKE" "$@" V=1
51 changes: 23 additions & 28 deletions anonutil/build-mac.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
# Copyright (c) 2018 ANON Core developers
# Copyright (c) 2018 Bitcoin Private Core developers
#!/bin/bash
export CC=gcc-5
export CXX=g++-5
Expand All @@ -16,47 +14,29 @@ if [ "x$*" = 'x--help' ]
then
cat <<EOF
Usage:
$0 --help
Show this help message and exit.
$0 [ --enable-lcov || --disable-tests ] [ --disable-mining ] [ --disable-rust ] [ --enable-proton ] [ MAKEARGS... ]
Build Anonymous Bitcoin and most of its transitive dependencies from
source. MAKEARGS are applied to both dependencies and Anonymous Bitcoin itself.
If --enable-lcov is passed, Anonymous Bitcoin is configured to add coverage
$0 [ --enable-lcov ] [ MAKEARGS... ]
Build ANON and most of its transitive dependencies from
source. MAKEARGS are applied to both dependencies and ANON itself. If
--enable-lcov is passed, ANON is configured to add coverage
instrumentation, thus enabling "make cov" to work.
If --disable-tests is passed instead, the Anonymous Bitcoin tests are not built.
If --disable-mining is passed, Anonymous Bitcoin is configured to not build any mining
code. It must be passed after the test arguments, if present.
If --disable-rust is passed, Anonymous Bitcoin is configured to not build any Rust language
assets. It must be passed after test/mining arguments, if present.
If --enable-proton is passed, Anonymous Bitcoin is configured to build the Apache Qpid Proton
library required for AMQP support. This library is not built by default.
It must be passed after the test/mining/Rust arguments, if present.
EOF
exit 0
fi


# If --enable-lcov is the first argument, enable lcov coverage support:
LCOV_ARG=''
HARDENING_ARG='--disable-hardening'
TEST_ARG=''
if [ "x${1:-}" = 'x--enable-lcov' ]
then
LCOV_ARG='--enable-lcov'
HARDENING_ARG='--disable-hardening'
shift
elif [ "x${1:-}" = 'x--disable-tests' ]
then
TEST_ARG='--enable-tests=no'
shift
fi


# If --disable-mining is the next argument, disable mining code:
MINING_ARG=''
if [ "x${1:-}" = 'x--disable-mining' ]
Expand All @@ -81,14 +61,29 @@ then
shift
fi


# If --disable-libs is the next argument, build without libs:
LIBS_ARG=''
if [ "x${1:-}" = 'x--disable-libs' ]
then
LIBS_ARG='--without-libs'
shift
fi


TRIPLET=`./depends/config.guess`
PREFIX="$(pwd)/depends/$TRIPLET"

NO_RUST="$RUST_ARG" NO_PROTON="$PROTON_ARG" make "$@" -C ./depends/ V=1 NO_QT=1
# NO_RUST="$RUST_ARG" make "$@" -C ./depends/ V=1 NO_QT=1

./autogen.sh
CPPFLAGS="-I$PREFIX/include -arch x86_64" LDFLAGS="-L$PREFIX/lib -arch x86_64 -Wl,-no_pie" \
CXXFLAGS='-arch x86_64 -I/usr/local/Cellar/gcc5/5.4.0/include/c++/5.4.0 -I$PREFIX/include -fwrapv -fno-strict-aliasing -Werror -g -Wl,-undefined -Wl,dynamic_lookup' \
./configure --prefix="${PREFIX}" --with-gui=no "$RUST_ARG" "$HARDENING_ARG" "$LCOV_ARG" "$TEST_ARG" "$MINING_ARG" "$PROTON_ARG"
CXXFLAGS="-arch x86_64 -I/usr/local/Cellar/gcc\@5/5.5.0/include/c++/5.5.0 -I$PREFIX/include -fwrapv -fno-strict-aliasing -Werror -g -Wl,-undefined -Wl,dynamic_lookup" \
./configure --disable-dependency-tracking --prefix="${PREFIX}" --with-gui=no "$HARDENING_ARG" "$LCOV_ARG" "$RUST_ARG" "$MINING_ARG"
# --disable-dependency-tracking
#CPPFLAGS="-I$PREFIX/include -arch x86_64" LDFLAGS="-L$PREFIX/lib -arch x86_64 -Wl,-no_pie" \
#CXXFLAGS='-arch x86_64 -I/usr/local/Cellar/gcc5/5.4.0/include/c++/5.4.0 -I$PREFIX/include -fwrapv -fno-strict-aliasing -Werror -g -Wl,-undefined -Wl,dynamic_lookup' \
#./configure --prefix="${PREFIX}" --with-gui=no "$HARDENING_ARG" "$LCOV_ARG" "$RUST_ARG" "$MINING_ARG"

make "$@" V=1 NO_GTEST=0 STATIC=1
Loading

0 comments on commit 1804dad

Please sign in to comment.