Browse Source

Merge branch 'dev' of https://git.hush.is/hush/hush3 into dev

witness_cache
Duke 7 months ago
parent
commit
1dc4920186
  1. 2
      AUTHORS
  2. 6
      depends/packages/libcurl.mk
  3. 2
      depends/packages/rust.mk
  4. 5
      util/README.md
  5. 139
      util/build-arm-xcompile.sh

2
AUTHORS

@ -2,7 +2,7 @@
Duke Leto https://git.hush.is/duke https://github.com/leto
Miodrag https://github.com/miodragpop
jahway603 https://git.hush.is/jahway603 https://github.com/jahway603
jahway603 https://git.hush.is/jahway603 https://codeberg.org/jahway603 https://github.com/jahway603
# The SuperNET Developers

6
depends/packages/libcurl.mk

@ -5,14 +5,14 @@ $(package)_version=7.67.0
$(package)_file_name=curl-$($(package)_version).tar.gz
$(package)_sha256_hash=52af3361cf806330b88b4fe6f483b6844209d47ae196ac46da4de59bb361ab02
else
$(package)_version=7.77.0
$(package)_version=8.4.0
$(package)_file_name=curl-$($(package)_version).tar.gz
$(package)_sha256_hash=b0a3428acb60fa59044c4d0baae4e4fc09ae9af1d8a3aa84b2e3fbcd99841f77
$(package)_sha256_hash=816e41809c043ff285e8c0f06a75a1fa250211bbfb2dc0a037eeef39f1a9e427
endif
$(package)_dependencies=wolfssl
$(package)_download_path=https://curl.haxx.se/download
$(package)_config_opts_linux=--disable-shared --enable-static --with-wolfssl --without-ssl --prefix=$(host_prefix) --host=$(host)
$(package)_config_opts_linux=--disable-shared --enable-static --without-ssl --prefix=$(host_prefix) --host=$(host)
$(package)_config_opts_mingw32=--enable-mingw --disable-shared --enable-static --with-wolfssl --without-ssl --prefix=$(host_prefix) --host=x86_64-w64-mingw32
$(package)_config_opts_darwin=--disable-shared --enable-static --with-wolfssl --without-ssl --prefix=$(host_prefix)
$(package)_cflags_darwin=-mmacosx-version-min=10.9

2
depends/packages/rust.mk

@ -7,6 +7,8 @@ $(package)_file_name_darwin=rust-$($(package)_version)-x86_64-apple-darwin.tar.g
$(package)_sha256_hash_darwin=f0dfba507192f9b5c330b5984ba71d57d434475f3d62bd44a39201e36fa76304
$(package)_file_name_mingw32=rust-$($(package)_version)-x86_64-pc-windows-gnu.tar.gz
$(package)_sha256_hash_mingw32=358e1435347c67dbf33aa9cad6fe501a833d6633ed5d5aa1863d5dffa0349be9
$(package)_file_name_aarch64_linux=rust-$($(package)_version)-aarch64-unknown-linux-gnu.tar.gz
$(package)_sha256_hash_aarch64_linux=60def40961728212da4b3a9767d5a2ddb748400e150a5f8a6d5aa0e1b8ba1cee
# Mapping from GCC canonical hosts to Rust targets
# If a mapping is not present, we assume they are identical, unless $host_os is

5
util/README.md

@ -12,6 +12,11 @@ Compile Hush full node code.
## build-arm.sh
Compile Hush full node code for ARM architecture.
**has not worked for some time**
## build-arm-xcompile.sh
Cross-Compile Hush full node code for ARM architecture on an x86 build server.
## build-debian-package.sh

139
util/build-arm-xcompile.sh

@ -0,0 +1,139 @@
#!/usr/bin/env bash
# Copyright (c) 2016-2023 The Hush developers
# Distributed under the GPLv3 software license, see the accompanying
# file COPYING or https://www.gnu.org/licenses/gpl-3.0.en.html
# For use with https://git.hush.is/jahway603/hush-docs/src/branch/master/advanced/cross-compile-hush-full-node-to-aarch64-with-docker.md,
# Please follow that
set -eu -o pipefail
# Check if cmake, a new dependency for randomx support, is installed on system and exits if it is not
if ! [ -x "$(command -v cmake)" ]; then
echo 'Error: cmake is not installed. Install cmake and try again.' >&2
exit 1
fi
function cmd_pref() {
if type -p "$2" > /dev/null; then
eval "$1=$2"
else
eval "$1=$3"
fi
}
cat <<'EOF'
.~~~~~~~~~~~~~~~~.
{{ Building Hush!! }}
`~~~~~~~~~~~~~~~~`
\ ^__^
\ (@@)\_______
(__)\ HUSH )\/\ $
z zz ||----w | z |
zz zz z || z ||xxx z z|z zz
zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
EOF
# 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 ./util/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 ./util/build.sh
if [[ -z "${BUILD-}" ]]; then
BUILD="$(./depends/config.guess)"
fi
if [[ -z "${HOST-}" ]]; then
HOST="$BUILD"
fi
# Allow users to set arbitrary compile flags. Most users will not need this.
if [[ -z "${CONFIGURE_FLAGS-}" ]]; then
CONFIGURE_FLAGS=""
fi
if [ "x$*" = 'x--help' ]
then
cat ./util/dragon.txt
cat <<EOF
Welcome To The Hush Build System, Here Be Dragons!
Usage:
$0 --help
Show this help message and exit.
$0 [ --enable-lcov || --disable-tests ] [ --disable-mining ] [ --disable-libs ] [ 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.
If --disable-tests is passed instead, the Hush tests are not built.
If --disable-mining is passed, Hush is configured to not build any mining code. It must be passed after the test arguments, if present.
It must be passed after the test/mining arguments, if present.
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
# Just show the useful info
eval "$MAKE" --version | head -n2
as --version | head -n1
as --version | tail -n1
ld -v
HOST="$HOST" BUILD="$BUILD" "$MAKE" "$@" -C ./depends/ V=1
./autogen.sh
CONFIG_SITE="$PWD/depends/$HOST/share/config.site" ./configure "$HARDENING_ARG" "$LCOV_ARG" "$TEST_ARG" "$MINING_ARG" $CONFIGURE_FLAGS CXXFLAGS='-g'
# Build CryptoConditions stuff
WD=$PWD
cd src/cc
echo $PWD
./makecustom
cd $WD
# Build RandomX
cd src/RandomX
if [ -d "build" ]
then
ls -la build/librandomx*
else
mkdir build && cd build
cmake -DCMAKE_C_COMPILER=aarch64-linux-gnu-gcc -DCMAKE_CXX_COMPILER=aarch64-linux-gnu-g++ -DCMAKE_STRIP=/usr/bin/aarch64-linux-gnu-strip -DARCH_ID=aarch64 ..
make
fi
cd $WD
"$MAKE" "$@" V=1
Loading…
Cancel
Save