diff options
| author | Raymaekers Luca <luca@spacehb.net> | 2025-11-13 00:22:11 +0100 |
|---|---|---|
| committer | Raymaekers Luca <luca@spacehb.net> | 2025-11-13 00:22:11 +0100 |
| commit | 7c2d674835f78c3af9b4f7c1d75f29b6b5a10f6e (patch) | |
| tree | b8a2b7652bdf2536e6b178a4719327ca677a25db /src/haversine/build.sh | |
| parent | d4f6774c172ac1e7c193fc4e89230c873d179c2b (diff) | |
Added clustered approach
Diffstat (limited to 'src/haversine/build.sh')
| -rwxr-xr-x | src/haversine/build.sh | 77 |
1 files changed, 46 insertions, 31 deletions
diff --git a/src/haversine/build.sh b/src/haversine/build.sh index 38170c0..54fd9f2 100755 --- a/src/haversine/build.sh +++ b/src/haversine/build.sh @@ -1,36 +1,51 @@ #!/bin/sh -cd "$(dirname "$(readlink -f "$0")")" - -Build="../../build" -mkdir -p "$Build" -mkdir -p generated - -Compiler="clang" - -CompilerFlags=" --g --fdiagnostics-absolute-paths --nostdinc++ -" - -WarningFlags=" --Wall --Wextra --Wno-unused-label --Wno-unused-variable --Wno-unused-function --Wno-unused-value --Wno-unused-but-set-variable --Wno-missing-field-initializers --Wno-write-strings --Wno-unused-parameter -" +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="-lm" -printf '[debug mode]\n' -printf '[%s build]\n' "$Compiler" -$Compiler $CompilerFlags $WarningFlags $LinkerFlags \ - -o "$Build"/haversine_generator \ - haversine_generator.cpp
\ No newline at end of file +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" + +mkdir -p ../../build + +$Compiler $Flags -o ../../build/haversine_generator haversine_generator.cpp |
