dns-bench/.build.sh

42 lines
823 B
Bash
Raw Normal View History

#!/bin/echo Must be sourced from a bash script **
# strict mode
export IFS=$'\n'
set -eu -o pipefail
# git clone wrapper
clone () {
if ! [ -e "$2" ]; then
git clone \
--single-branch --depth 1 \
--recurse-submodules \
"$1" \
"$2"
else
echo " ** '$2/' already exists"
fi
}
2024-12-20 19:25:20 +04:00
# optimizations
set_cflags () {
export \
CFLAGS="-std=gnu2x -Ofast -march=native" \
CPPFLAGS="-Ofast -march=native" \
LDFLAGS="-Wl,-O3" \
RUSTFLAGS="-C target-cpu=native -C panic=abort"
}
# in a separate fn because ring does not build with LTO
use_lto () {
export \
CFLAGS="$CFLAGS -flto=auto -fwhole-program" \
CPPFLAGS="$CPPFLAGS -flto=auto -fwhole-program"
2024-12-20 19:25:20 +04:00
}
# make -j12
make_maxthreads() {
[ -v JOBS ] || JOBS=$(nproc || echo 4)
JOBS="${JOBS//[^0-9]/}"
make -j"$JOBS"
}