aboutsummaryrefslogtreecommitdiffstats
path: root/libraries/vendors/compile-vunit.sh
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/vendors/compile-vunit.sh')
-rwxr-xr-xlibraries/vendors/compile-vunit.sh124
1 files changed, 60 insertions, 64 deletions
diff --git a/libraries/vendors/compile-vunit.sh b/libraries/vendors/compile-vunit.sh
index f77961be2..0cecf3685 100755
--- a/libraries/vendors/compile-vunit.sh
+++ b/libraries/vendors/compile-vunit.sh
@@ -118,18 +118,14 @@ elif [ "$HELP" == "TRUE" ]; then
fi
if [ "$ALL" == "TRUE" ]; then
- UNISIM=TRUE
- UNIMACRO=TRUE
- SIMPRIM=TRUE
- SECUREIP=TRUE
+ COMPILE_VUNIT=TRUE
fi
# extract data from configuration
-InstallDir=${InstallationDirectory[VUnit]}
-SourceDir="$InstallDir"
+SourceDir=${SourceDirectory[VUnit]}
DestinationDir=${DestinationDirectory[VUnit]}
-if [ -z $InstallDir ] || [ -z $DestinationDir ]; then
+if [ -z $DestinationDir ]; then
echo -e "${COLORED_ERROR} VUnit is not configured in '$ScriptDir/config.sh'${ANSI_RESET}"
exit -1
elif [ ! -d $SourceDir ]; then
@@ -163,7 +159,7 @@ else
fi
fi
-STOPCOMPILING=FALSE
+ERRORCOUNT=0
# Cleanup directory
# ==============================================================================
@@ -175,68 +171,68 @@ fi
# Library vunit_lib
# ==============================================================================
# compile vunit packages
-if [ "$STOPCOMPILING" == "FALSE" ]; then
- echo -e "${ANSI_YELLOW}Compiling library 'vunit_lib' ...${ANSI_RESET}"
- GHDL_PARAMS=(${GHDL_OPTIONS[@]})
- GHDL_PARAMS+=(--std=08)
- Files=(
- $SourceDir/vhdl/run/src/stop_api.vhd
- $SourceDir/vhdl/vhdl/src/lib/std/textio.vhd
- $SourceDir/vhdl/vhdl/src/lang/lang.vhd
- $SourceDir/vhdl/com/src/com_types.vhd
- $SourceDir/vhdl/run/src/stop_body_2008.vhd
- $SourceDir/vhdl/com/src/com_api.vhd
- $SourceDir/vhdl/string_ops/src/string_ops.vhd
- $SourceDir/vhdl/path/src/path.vhd
- $SourceDir/vhdl/logging/src/log_types.vhd
- $SourceDir/vhdl/logging/src/log_formatting.vhd
- $SourceDir/vhdl/logging/src/log_special_types200x.vhd
- $SourceDir/vhdl/array/src/array_pkg.vhd
- $SourceDir/vhdl/logging/src/log_base_api.vhd
- $SourceDir/vhdl/logging/src/log_base.vhd
- $SourceDir/vhdl/logging/src/log_api.vhd
- $SourceDir/vhdl/logging/src/log.vhd
- $SourceDir/vhdl/check/src/check_types.vhd
- $SourceDir/vhdl/check/src/check_special_types200x.vhd
- $SourceDir/vhdl/check/src/check_base_api.vhd
- $SourceDir/vhdl/check/src/check_base.vhd
- $SourceDir/vhdl/check/src/check_api.vhd
- $SourceDir/vhdl/check/src/check.vhd
- $SourceDir/vhdl/dictionary/src/dictionary.vhd
- $SourceDir/vhdl/run/src/run_types.vhd
- $SourceDir/vhdl/run/src/run_special_types200x.vhd
- $SourceDir/vhdl/run/src/run_base_api.vhd
- $SourceDir/vhdl/run/src/run_base.vhd
- $SourceDir/vhdl/run/src/run_api.vhd
- $SourceDir/vhdl/run/src/run.vhd
- $SourceDir/vhdl/vunit_run_context.vhd
- $SourceDir/vhdl/vunit_context.vhd
- $SourceDir/vhdl/com/src/com_std_codec_builder.vhd
- $SourceDir/vhdl/com/src/com_debug_codec_builder.vhd
- $SourceDir/vhdl/com/src/com_string.vhd
- $SourceDir/vhdl/com/src/com_codec_api.vhd
- $SourceDir/vhdl/com/src/com_codec.vhd
- $SourceDir/vhdl/com/src/com.vhd
- $SourceDir/vhdl/com/src/com_context.vhd
- )
- for File in ${Files[@]}; do
- FileName=$(basename "$File")
- if [ "$SKIP_EXISTING_FILES" == "TRUE" ] && [ -e "${FileName%.*}.o" ]; then
- echo -e "${ANSI_CYAN}Skipping package '$File'${ANSI_RESET}"
- else
- echo -e "${ANSI_CYAN}Analyzing package '$File'${ANSI_RESET}"
- ghdl -a ${GHDL_PARAMS[@]} --work=vunit_lib "$File" 2>&1 | $GRC_COMMAND
- if [ $? -ne 0 ] && [ "$HALT_ON_ERROR" == "TRUE" ]; then
- STOPCOMPILING=TRUE
+echo -e "${ANSI_YELLOW}Compiling library 'vunit_lib' ...${ANSI_RESET}"
+GHDL_PARAMS=(${GHDL_OPTIONS[@]})
+GHDL_PARAMS+=(--std=08)
+Files=(
+ $SourceDir/run/src/stop_api.vhd
+ $SourceDir/vhdl/src/lib/std/textio.vhd
+ $SourceDir/vhdl/src/lang/lang.vhd
+ $SourceDir/com/src/com_types.vhd
+ $SourceDir/run/src/stop_body_2008.vhd
+ $SourceDir/com/src/com_api.vhd
+ $SourceDir/string_ops/src/string_ops.vhd
+ $SourceDir/path/src/path.vhd
+ $SourceDir/logging/src/log_types.vhd
+ $SourceDir/logging/src/log_formatting.vhd
+ $SourceDir/logging/src/log_special_types200x.vhd
+ $SourceDir/array/src/array_pkg.vhd
+ $SourceDir/logging/src/log_base_api.vhd
+ $SourceDir/logging/src/log_base.vhd
+ $SourceDir/logging/src/log_api.vhd
+ $SourceDir/logging/src/log.vhd
+ $SourceDir/check/src/check_types.vhd
+ $SourceDir/check/src/check_special_types200x.vhd
+ $SourceDir/check/src/check_base_api.vhd
+ $SourceDir/check/src/check_base.vhd
+ $SourceDir/check/src/check_api.vhd
+ $SourceDir/check/src/check.vhd
+ $SourceDir/dictionary/src/dictionary.vhd
+ $SourceDir/run/src/run_types.vhd
+ $SourceDir/run/src/run_special_types200x.vhd
+ $SourceDir/run/src/run_base_api.vhd
+ $SourceDir/run/src/run_base.vhd
+ $SourceDir/run/src/run_api.vhd
+ $SourceDir/run/src/run.vhd
+ $SourceDir/vunit_run_context.vhd
+ $SourceDir/vunit_context.vhd
+ $SourceDir/com/src/com_std_codec_builder.vhd
+ $SourceDir/com/src/com_debug_codec_builder.vhd
+ $SourceDir/com/src/com_string.vhd
+ $SourceDir/com/src/com_codec_api.vhd
+ $SourceDir/com/src/com_codec.vhd
+ $SourceDir/com/src/com.vhd
+ $SourceDir/com/src/com_context.vhd
+)
+for File in ${Files[@]}; do
+ FileName=$(basename "$File")
+ if [ "$SKIP_EXISTING_FILES" == "TRUE" ] && [ -e "${FileName%.*}.o" ]; then
+ echo -e "${ANSI_CYAN}Skipping package '$File'${ANSI_RESET}"
+ else
+ echo -e "${ANSI_CYAN}Analyzing package '$File'${ANSI_RESET}"
+ ghdl -a ${GHDL_PARAMS[@]} --work=vunit_lib "$File" 2>&1 | $GRC_COMMAND
+ if [ $? -ne 0 ]; then
+ let ERRORCOUNT++
+ if [ "$HALT_ON_ERROR" == "TRUE" ]; then
break
fi
fi
- done
-fi
+ fi
+done
echo "--------------------------------------------------------------------------------"
echo -n "Compiling VUnit library "
-if [ "$STOPCOMPILING" == "TRUE" ]; then
+if [ $ERRORCOUNT -gt 0 ]; then
echo -e $COLORED_FAILED
else
echo -e $COLORED_SUCCESSFUL