mirror of
https://git.wownero.com/wowlet/wowlet.git
synced 2024-08-15 01:03:14 +00:00
Feather, a free Monero desktop wallet
Co-Authored-By: tobtoht <thotbot@protonmail.com>
This commit is contained in:
commit
133700160a
728 changed files with 55961 additions and 0 deletions
126
contrib/build_tor.sh
Executable file
126
contrib/build_tor.sh
Executable file
|
@ -0,0 +1,126 @@
|
|||
#!/usr/bin/env bash
|
||||
# this file is used by feather's CMake
|
||||
# arguments: ./build.tor $TAG $ROOT_FEATHER_DIR
|
||||
|
||||
set -ex
|
||||
|
||||
ERR_WIN="This script does not work on Windows"
|
||||
if [[ "$OSTYPE" == "msys" ]]; then
|
||||
echo "$ERR_WIN"
|
||||
exit 1
|
||||
elif [[ "$OSTYPE" == "win32" ]]; then
|
||||
echo "$ERR_WIN"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
TOR_TAG="$1"
|
||||
ROOT_DIR="$2"
|
||||
STATIC="$3"
|
||||
TOR_DIR="$ROOT_DIR/contrib/tor"
|
||||
TORSOCKS_DIR="$ROOT_DIR/contrib/torsocks"
|
||||
TARGET_DIR="$ROOT_DIR/src/tor"
|
||||
|
||||
CPU_CORE_COUNT="$(nproc)"
|
||||
|
||||
#
|
||||
### tor
|
||||
#
|
||||
|
||||
pushd "$TOR_DIR"
|
||||
|
||||
rm -rf "$TOR_DIR/build"
|
||||
mkdir -p "$TOR_DIR/build"
|
||||
|
||||
# configure
|
||||
git -C "$TOR_DIR" fetch
|
||||
git -C "$TOR_DIR" checkout tor-0.4.3.5
|
||||
bash "$TOR_DIR/autogen.sh"
|
||||
|
||||
if [[ "$STATIC" = "ON" ]]; then
|
||||
# static assumes that openssl has been compiled with:
|
||||
# CFLAGS='-fPIC' CXXFLAGS='-fPIC' ./config no-asm no-shared no-zlib-dynamic --prefix=/usr/local/openssl --openssldir=/usr/local/openssl
|
||||
# and libevent with:
|
||||
# cmake -DEVENT_LIBRARY_STATIC=ON -DOPENSSL_ROOT_DIR=/usr/local/openssl -DCMAKE_INSTALL_PREFIX=/usr/local/libevent
|
||||
# and zlib with:
|
||||
# CFLAGS='-fPIC' CXXFLAGS='-fPIC' ./configure --static --prefix=/usr/local/zlib
|
||||
|
||||
LDFLAGS="-L/usr/local/openssl/lib/" LIBS="-lssl -lcrypto -lpthread -ldl" CPPFLAGS="-I/usr/local/openssl/include/" ./configure \
|
||||
--enable-static-zlib \
|
||||
--enable-static-openssl \
|
||||
--enable-static-libevent \
|
||||
--disable-system-torrc \
|
||||
--with-libevent-dir=/usr/local/libevent \
|
||||
--with-openssl-dir=/usr/local/openssl/ \
|
||||
--with-zlib-dir=/usr/local/zlib \
|
||||
--disable-system-torrc \
|
||||
--disable-tool-name-check \
|
||||
--disable-systemd \
|
||||
--disable-lzma \
|
||||
--disable-unittests \
|
||||
--disable-zstd \
|
||||
--disable-seccomp \
|
||||
--disable-asciidoc \
|
||||
--disable-manpage \
|
||||
--disable-html-manual \
|
||||
--disable-system-torrc \
|
||||
--prefix="$TOR_DIR/build"
|
||||
else
|
||||
bash "$TOR_DIR/configure" \
|
||||
--disable-tool-name-check \
|
||||
--disable-systemd \
|
||||
--disable-lzma \
|
||||
--disable-unittests \
|
||||
--disable-zstd \
|
||||
--disable-asciidoc \
|
||||
--disable-manpage \
|
||||
--disable-html-manual \
|
||||
--prefix="$TOR_DIR/build"
|
||||
fi
|
||||
|
||||
# build
|
||||
make -j "$CPU_CORE_COUNT"
|
||||
make install -j "$CPU_CORE_COUNT"
|
||||
|
||||
# copy to lib/tor
|
||||
cp "$TOR_DIR/build/bin/tor" "$TARGET_DIR"
|
||||
cp "$TOR_DIR/build/etc/tor/torrc.sample"* "$TARGET_DIR"
|
||||
|
||||
#
|
||||
### torsocks
|
||||
#
|
||||
|
||||
pushd "$TORSOCKS_DIR"
|
||||
mkdir -p "$TORSOCKS_DIR/build"
|
||||
|
||||
# configure
|
||||
bash "$TORSOCKS_DIR/autogen.sh"
|
||||
bash "$TORSOCKS_DIR/configure" --prefix="$TORSOCKS_DIR/build"
|
||||
|
||||
# build
|
||||
make -j "$CPU_CORE_COUNT"
|
||||
make install -j "$CPU_CORE_COUNT"
|
||||
|
||||
# copy to lib/torsocks
|
||||
cp "$TORSOCKS_DIR/build/lib/torsocks/"* "$TARGET_DIR"
|
||||
cp "$TORSOCKS_DIR/build/bin/"* "$TARGET_DIR"
|
||||
cp "$TORSOCKS_DIR/build/etc/tor/"* "$TARGET_DIR"
|
||||
|
||||
#
|
||||
### verify installation
|
||||
#
|
||||
|
||||
if [[ "$OSTYPE" == "linux-gnu"* ]]; then
|
||||
for fn in "$TARGET_DIR/libtorsocks.so" "$TARGET_DIR/tor"; do
|
||||
if [[ ! -f "$fn" ]]; then
|
||||
echo "[*] Failed to install tor or torsocks: no such file $fn"
|
||||
exit 1
|
||||
fi; done
|
||||
elif [[ "$OSTYPE" == "darwin"* ]]; then
|
||||
for fn in "$TARGET_DIR/libtorsocks.dylib" "$TARGET_DIR/tor"; do
|
||||
if [[ ! -f "$fn" ]]; then
|
||||
echo "[*] Failed to install tor or torsocks: no such file $fn"
|
||||
exit 1
|
||||
fi; done
|
||||
fi
|
||||
|
||||
echo "[*] Compiled tor/torsocks into $TARGET_DIR"
|
Loading…
Add table
Add a link
Reference in a new issue