From 6fad44af4ae20b424ff1caddc8b38957897d400a Mon Sep 17 00:00:00 2001 From: Raymaekers Luca Date: Thu, 13 Nov 2025 12:37:21 +0100 Subject: checkpoint --- src/haversine_processor/build.sh | 51 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100755 src/haversine_processor/build.sh (limited to 'src/haversine_processor/build.sh') diff --git a/src/haversine_processor/build.sh b/src/haversine_processor/build.sh new file mode 100755 index 0000000..2cd5f25 --- /dev/null +++ b/src/haversine_processor/build.sh @@ -0,0 +1,51 @@ +#!/bin/sh + +set -eu + +ScriptDirectory="$(dirname "$(readlink -f "$0")")" +cd "$ScriptDirectory" + +#- Globals +CommonCompilerFlags="-DOS_LINUX=1 -fsanitize-trap -nostdinc++" +CommonWarningFlags="-Wall -Wextra -Wconversion -Wdouble-promotion -Wno-sign-conversion -Wno-sign-compare -Wno-double-promotion -Wno-unused-but-set-variable -Wno-unused-variable -Wno-write-strings -Wno-pointer-arith -Wno-unused-parameter -Wno-unused-function" +LinkerFlags="" + +DebugFlags="-g -ggdb -g3" +ReleaseFlags="-O3" + +ClangFlags="-fdiagnostics-absolute-paths -ftime-trace +-Wno-null-dereference -Wno-missing-braces -Wno-vla-extension -Wno-writable-strings -Wno-missing-field-initializers -Wno-address-of-temporary -Wno-int-to-void-pointer-cast" + +GCCFlags="-Wno-cast-function-type -Wno-missing-field-initializers -Wno-int-to-pointer-cast" + +#- Main + +clang=1 +gcc=0 +debug=1 +release=0 +for Arg in "$@"; do eval "$Arg=1"; done +# Exclusive flags +[ "$release" = 1 ] && debug=0 +[ "$gcc" = 1 ] && clang=0 + +[ "$gcc" = 1 ] && Compiler="g++" +[ "$clang" = 1 ] && Compiler="clang" + +Flags="$CommonCompilerFlags" +[ "$debug" = 1 ] && Flags="$Flags $DebugFlags" +[ "$release" = 1 ] && Flags="$Flags $ReleaseFlags" +Flags="$Flags $CommonCompilerFlags" +Flags="$Flags $CommonWarningFlags" +[ "$clang" = 1 ] && Flags="$Flags $ClangFlags" +[ "$gcc" = 1 ] && Flags="$Flags $GCCFlags" +Flags="$Flags $LinkerFlags" + +[ "$debug" = 1 ] && printf '[debug mode]\n' +[ "$release" = 1 ] && printf '[release mode]\n' +printf '[%s compile]\n' "$Compiler" + +Build="../../build" +mkdir -p "$Build" + +$Compiler $Flags -o "$Build"/haversine_processor haversine_processor.cpp -- cgit v1.2.3-70-g09d2