Original HUSH source code based on ZEC 1.0.8 . For historical purposes only!
https://hush.is
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
72 lines
1.9 KiB
72 lines
1.9 KiB
#!/bin/bash
|
|
export CC=gcc-5
|
|
export CXX=g++-5
|
|
export LIBTOOL=libtool
|
|
export AR=ar
|
|
export RANLIB=ranlib
|
|
export STRIP=strip
|
|
export OTOOL=otool
|
|
export NM=nm
|
|
|
|
set -eu -o pipefail
|
|
|
|
if [ "x$*" = 'x--help' ]
|
|
then
|
|
cat <<EOF
|
|
Usage:
|
|
$0 --help
|
|
Show this help message and exit.
|
|
$0 [ --enable-lcov ] [ MAKEARGS... ]
|
|
Build Hush and most of its transitive dependencies from
|
|
source. MAKEARGS are applied to both dependencies and Hush itself. If
|
|
--enable-lcov is passed, Hush is configured to add coverage
|
|
instrumentation, thus enabling "make cov" to work.
|
|
EOF
|
|
exit 0
|
|
fi
|
|
|
|
# If --enable-lcov is the first argument, enable lcov coverage support:
|
|
LCOV_ARG=''
|
|
HARDENING_ARG='--disable-hardening'
|
|
if [ "x${1:-}" = 'x--enable-lcov' ]
|
|
then
|
|
LCOV_ARG='--enable-lcov'
|
|
HARDENING_ARG='--disable-hardening'
|
|
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
|
|
|
|
TRIPLET=`./depends/config.guess`
|
|
PREFIX="$(pwd)/depends/$TRIPLET"
|
|
|
|
NO_RUST="$RUST_ARG" NO_PROTON="$PROTON_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 "$HARDENING_ARG" "$LCOV_ARG" "$RUST_ARG" "$PROTON_ARG" "$MINING_ARG"
|
|
|
|
make "$@" V=1 NO_GTEST=0 STATIC=1
|
|
|