diff options
Diffstat (limited to 'libraries/vendors/compile-vunit.sh')
-rwxr-xr-x | libraries/vendors/compile-vunit.sh | 250 |
1 files changed, 0 insertions, 250 deletions
diff --git a/libraries/vendors/compile-vunit.sh b/libraries/vendors/compile-vunit.sh deleted file mode 100755 index 69b3a5d45..000000000 --- a/libraries/vendors/compile-vunit.sh +++ /dev/null @@ -1,250 +0,0 @@ -#! /usr/bin/env bash -# EMACS settings: -*- tab-width: 2; indent-tabs-mode: t -*- -# vim: tabstop=2:shiftwidth=2:noexpandtab -# kate: tab-width 2; replace-tabs off; indent-width 2; -# -# ============================================================================== -# Authors: Patrick Lehmann -# -# Bash Script: Script to compile the VUnit library for GHDL on Linux -# -# Description: -# ------------------------------------ -# This is a Bash script (executable) which: -# - creates a subdirectory in the current working directory -# - compiles all VUnit packages -# -# ============================================================================== -# Copyright (C) 2015-2016 Patrick Lehmann - Dresden, Germany -# -# GHDL is free software; you can redistribute it and/or modify it under -# the terms of the GNU General Public License as published by the Free -# Software Foundation; either version 2, or (at your option) any later -# version. -# -# GHDL is distributed in the hope that it will be useful, but WITHOUT ANY -# WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# for more details. -# -# You should have received a copy of the GNU General Public License -# along with GHDL; see the file COPYING. If not, write to the Free -# Software Foundation, 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. -# ============================================================================== - -# --------------------------------------------- -# work around for Darwin (Mac OS) -READLINK=readlink; if [[ $(uname) == "Darwin" ]]; then READLINK=greadlink; fi - -# save working directory -WorkingDir=$(pwd) -ScriptDir="$(dirname $0)" -ScriptDir="$($READLINK -f $ScriptDir)" - -# source configuration file from GHDL's 'vendors' library directory -. $ScriptDir/../ansi_color.sh -. $ScriptDir/config.sh -. $ScriptDir/shared.sh - -# command line argument processing -NO_COMMAND=1 -SUPPRESS_WARNINGS=0 -HALT_ON_ERROR=0 -GHDLBinDir="" -DestDir="" -SrcDir="" -while [[ $# > 0 ]]; do - key="$1" - case $key in - -c|--clean) - CLEAN=TRUE - NO_COMMAND=0 - ;; - -a|--all) - COMPILE_ALL=TRUE - NO_COMMAND=0 - ;; - --vunit) - COMPILE_VUNIT=TRUE - NO_COMMAND=0 - ;; - -h|--help) - HELP=TRUE - NO_COMMAND=0 - ;; - -n|--no-warnings) - SUPPRESS_WARNINGS=1 - ;; - -H|--halt-on-error) - HALT_ON_ERROR=1 - ;; - --ghdl) - GHDLBinDir="$2" - shift # skip argument - ;; - --src) - SrcDir="$2" - shift # skip argument - ;; - --out) - DestDir="$2" - shift # skip argument - ;; - *) # unknown option - echo 1>&2 -e "${COLORED_ERROR} Unknown command line option '$key'.${ANSI_NOCOLOR}" - exit -1 - ;; - esac - shift # past argument or value -done - -# makes no sense to enable it for VUnit -SKIP_EXISTING_FILES=0 - -if [ $NO_COMMAND -eq 1 ]; then - HELP=TRUE -fi - -if [ "$HELP" == "TRUE" ]; then - test $NO_COMMAND -eq 1 && echo 1>&2 -e "\n${COLORED_ERROR} No command selected." - echo "" - echo "Synopsis:" - echo " A script to compile the simulation library 'vunit_lib' for GHDL on Linux." - echo " A library folder 'vunit_lib/v08' will be created relative to the current" - echo " working directory." - echo "" - echo " Use the adv. options or edit 'config.sh' to supply paths and default params." - echo "" - echo "Usage:" - echo " compile-vunit.sh <common command>|<library> [<options>] [<adv. options>]" - echo "" - echo "Common commands:" - echo " -h --help Print this help page" - echo " -c --clean Remove all generated files" - echo "" - echo "Libraries:" - echo " -a --all Compile all libraries." - echo " --vunit Compile library vunit_lib." - echo "" - echo "Library compile options:" - echo " -H --halt-on-error Halt on error(s)." - echo "" - echo "Advanced options:" - echo " --ghdl <GHDL bin dir> Path to GHDL's binary directory, e.g. /usr/local/bin" - echo " --out <dir name> Name of the output directory, e.g. vunit_lib" - echo " --src <Path to VUnit> Path to the sources." - echo "" - echo "Verbosity:" - echo " -n --no-warnings Suppress all warnings. Show only error messages." - echo "" - exit 0 -fi - -if [ "$COMPILE_ALL" == "TRUE" ]; then - COMPILE_VUNIT=TRUE -fi - -# -> $SourceDirectories -# -> $DestinationDirectories -# -> $SrcDir -# -> $DestDir -# -> $GHDLBinDir -# <= $SourceDirectory -# <= $DestinationDirectory -# <= $GHDLBinary -SetupDirectories VUnit "VUnit" - -# create "vunit_lib" directory and change to it -# => $DestinationDirectory -CreateDestinationDirectory -cd $DestinationDirectory - - -# => $SUPPRESS_WARNINGS -# <= $GRC_COMMAND -SetupGRCat - - -# define global GHDL Options -GHDL_OPTIONS=(-fexplicit -frelaxed-rules --no-vital-checks --warn-binding --mb-comments) - - -# Cleanup directory -# ============================================================================== -if [ "$CLEAN" == "TRUE" ]; then - echo -e "${ANSI_YELLOW}Cleaning up vendor directory ...${ANSI_NOCOLOR}" - rm *.o 2> /dev/null - rm *.cf 2> /dev/null -fi - -# Library vunit_lib -# ============================================================================== -# compile vunit packages -ERRORCOUNT=0 -if [ "$COMPILE_VUNIT" == "TRUE" ]; then - Library="vunit_lib" - VHDLVersion="v08" - Files=( - core/src/stop_api.vhd - vhdl/src/lang/lang.vhd - com/src/com_types.vhd - core/src/stop_body_2008.vhd - core/src/core_pkg.vhd - com/src/com_api.vhd - string_ops/src/string_ops.vhd - path/src/path.vhd - logging/src/log_types.vhd - logging/src/log_formatting.vhd - logging/src/log_special_types200x.vhd - array/src/integer_vector_ptr_pkg.vhd - array/src/integer_array_pkg.vhd - array/src/array_pkg.vhd - logging/src/log_base_api.vhd - logging/src/log_base.vhd - logging/src/log_api.vhd - logging/src/log.vhd - check/src/check_types.vhd - check/src/check_special_types200x.vhd - check/src/check_base_api.vhd - check/src/check_base.vhd - check/src/check_api.vhd - check/src/check.vhd - dictionary/src/dictionary.vhd - run/src/run_types.vhd - run/src/run_special_types200x.vhd - run/src/run_base_api.vhd - run/src/run_base.vhd - run/src/run_api.vhd - run/src/run.vhd - vunit_run_context.vhd - vunit_context.vhd - com/src/com_std_codec_builder.vhd - com/src/com_debug_codec_builder.vhd - com/src/com_string.vhd - com/src/com_codec_api.vhd - com/src/com_codec.vhd - com/src/com.vhd - com/src/com_context.vhd - ) - - # append absolute source path - SourceFiles=() - for File in ${Files[@]}; do - SourceFiles+=("$SourceDirectory/$File") - done - - # create local set of GHDL parameters - GHDL_PARAMS=(${GHDL_OPTIONS[@]}) - GHDL_PARAMS+=(--std=08) - - GHDLCompilePackages -fi - -echo "--------------------------------------------------------------------------------" -echo -n "Compiling VUnit packages " -if [ $ERRORCOUNT -gt 0 ]; then - echo -e $COLORED_FAILED -else - echo -e $COLORED_SUCCESSFUL -fi |