S03-H3 CLOSED baseline

This commit is contained in:
2026-08-27 11:12:22 +02:00
commit 4b5fbb6c23
30 changed files with 10130 additions and 0 deletions
+88
View File
@@ -0,0 +1,88 @@
#!/usr/bin/env bash
# Determina la directory common indipendentemente dalla directory corrente.
MARTE_COMMON_DIR="$(
cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 &&
pwd
)"
# Carica i percorsi canonici della benchmark suite.
source "$MARTE_COMMON_DIR/paths.sh"
# Directory contenenti le librerie richieste dagli scenari S00, S01 e S02.
MARTE2_CORE_LIB_DIR="$MARTE2_ROOT/Build/$MARTE_TARGET/Core"
LINUX_TIMER_LIB_DIR="$MARTE2_COMPONENTS_ROOT/Build/$MARTE_TARGET/Components/DataSources/LinuxTimer"
LOGGER_DATA_SOURCE_LIB_DIR="$MARTE2_COMPONENTS_ROOT/Build/$MARTE_TARGET/Components/DataSources/LoggerDataSource"
FILE_DATA_SOURCE_LIB_DIR="$MARTE2_COMPONENTS_ROOT/Build/$MARTE_TARGET/Components/DataSources/FileDataSource"
IOGAM_LIB_DIR="$MARTE2_COMPONENTS_ROOT/Build/$MARTE_TARGET/Components/GAMs/IOGAM"
# Librerie che devono essere presenti.
MARTE2_CORE_LIB="$MARTE2_CORE_LIB_DIR/MARTe2.so"
LINUX_TIMER_LIB="$LINUX_TIMER_LIB_DIR/LinuxTimer.so"
LOGGER_DATA_SOURCE_LIB="$LOGGER_DATA_SOURCE_LIB_DIR/LoggerDataSource.so"
FILE_DATA_SOURCE_LIB="$FILE_DATA_SOURCE_LIB_DIR/FileDataSource.so"
IOGAM_LIB="$IOGAM_LIB_DIR/IOGAM.so"
# Verifica delle directory runtime.
for marte_runtime_dir in \
"$MARTE2_CORE_LIB_DIR" \
"$LINUX_TIMER_LIB_DIR" \
"$LOGGER_DATA_SOURCE_LIB_DIR" \
"$FILE_DATA_SOURCE_LIB_DIR" \
"$IOGAM_LIB_DIR"
do
if [ ! -d "$marte_runtime_dir" ]; then
printf "DIRECTORY RUNTIME ASSENTE: %s\n" "$marte_runtime_dir" >&2
return 2 2>/dev/null || exit 2
fi
done
# Verifica delle librerie runtime.
for marte_runtime_lib in \
"$MARTE2_CORE_LIB" \
"$LINUX_TIMER_LIB" \
"$LOGGER_DATA_SOURCE_LIB" \
"$FILE_DATA_SOURCE_LIB" \
"$IOGAM_LIB"
do
if [ ! -f "$marte_runtime_lib" ]; then
printf "LIBRERIA RUNTIME ASSENTE: %s\n" "$marte_runtime_lib" >&2
return 3 2>/dev/null || exit 3
fi
done
# Inserisce una directory allinizio di LD_LIBRARY_PATH solo se non è già presente.
marte_prepend_library_path() {
marte_directory="$1"
case ":${LD_LIBRARY_PATH-}:" in
*":${marte_directory}:"*)
;;
*)
if [ -n "${LD_LIBRARY_PATH-}" ]; then
LD_LIBRARY_PATH="${marte_directory}:${LD_LIBRARY_PATH}"
else
LD_LIBRARY_PATH="${marte_directory}"
fi
;;
esac
}
# Ordine inverso perché ogni voce viene inserita in testa.
marte_prepend_library_path "$FILE_DATA_SOURCE_LIB_DIR"
marte_prepend_library_path "$IOGAM_LIB_DIR"
marte_prepend_library_path "$LOGGER_DATA_SOURCE_LIB_DIR"
marte_prepend_library_path "$LINUX_TIMER_LIB_DIR"
marte_prepend_library_path "$MARTE2_CORE_LIB_DIR"
export MARTE2_CORE_LIB_DIR
export LINUX_TIMER_LIB_DIR
export LOGGER_DATA_SOURCE_LIB_DIR
export FILE_DATA_SOURCE_LIB_DIR
export IOGAM_LIB_DIR
export LD_LIBRARY_PATH
unset marte_runtime_dir
unset marte_runtime_lib
unset marte_directory
unset -f marte_prepend_library_path