diff options
Diffstat (limited to 'libraries/vendors/compile-vunit.sh')
-rwxr-xr-x | libraries/vendors/compile-vunit.sh | 124 |
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 |