Skip to content
Snippets Groups Projects
init_hdl.sh 2.84 KiB
Newer Older
Pieter Donker's avatar
Pieter Donker committed
#!/usr/bin/env bash -e
###############################################################################
#
# Copyright (C) 2018 
# ASTRON (Netherlands Institute for Radio Astronomy) <http://www.astron.nl/>
# P.O.Box 2, 7990 AA Dwingeloo, The Netherlands
#
# This program 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 3 of the License, or
# (at your option) any later version.
#
# This program 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 this program.  If not, see <http://www.gnu.org/licenses/>.
#
# $Id$
#
###############################################################################

#
# Initialisation script to setup the environment variables for this branch
#

# 
# Make sure it is sourced and no one accidentally gave the script execution rights and just executes it.
if [[ "$_" == "${0}" ]]; then
Pieter Donker's avatar
Pieter Donker committed
    echo "ERROR: Use this command with '. ' or 'source '"
    sleep 1
Pieter Donker's avatar
Pieter Donker committed
fi

Pieter Donker's avatar
Pieter Donker committed
# 
if [ -z "${ALTERA_DIR}" ]; then
    echo "== environ variable 'ALTERA_DIR' not set. =="
    echo "should be in your .bashrc file."
    echo "if it is your .bashrc file but not active run bash in your terminal"
Pieter Donker's avatar
Pieter Donker committed
fi

# Figure out where this script is located and set environment variables accordingly
export RADIOHDL_WORK="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
Pieter Donker's avatar
Pieter Donker committed
echo "HDL environment will be setup for" $RADIOHDL_WORK

# setup paths to build and config dir if not already defined by the user.
export ARGS_WORK=${RADIOHDL_WORK}
export RADIOHDL_BUILD_DIR=${RADIOHDL_WORK}/build
if [[ ! -d "${RADIOHDL_BUILD_DIR}" ]]; then
    echo "make buil dir"
    echo "${RADIOHDL_BUILD_DIR}"
    mkdir "${RADIOHDL_BUILD_DIR}"
fi
Pieter Donker's avatar
Pieter Donker committed
# modelsim uses this sim dir for testing
export HDL_IOFILE_SIM_DIR=${RADIOHDL_BUILD_DIR}/sim
Pieter Donker's avatar
Pieter Donker committed
if [[ ! -d "${HDL_IOFILE_SIM_DIR}" ]]; then
Pieter Donker's avatar
Pieter Donker committed
    echo "make sim dir"
    echo "${HDL_IOFILE_SIM_DIR}"
Pieter Donker's avatar
Pieter Donker committed
    mkdir "${HDL_IOFILE_SIM_DIR}"
fi
# if sim dir not empty, remove all files and dirs
if [ ! -z "$(ls -A ${HDL_IOFILE_SIM_DIR})" ]; then
    echo "clear sim dir"
    rm -r ${HDL_IOFILE_SIM_DIR}/*
Pieter Donker's avatar
Pieter Donker committed
fi
# copy git user_componets.ipx into Altera dir's
for altera_dir in ${ALTERA_DIR}/*; do
Pieter Donker's avatar
Pieter Donker committed
    if [[ -d "${altera_dir}" ]] &&  [[ ! -h "${altera_dir}" ]]; then
        echo "copy git hdl_user_components.ipx to ${altera_dir}/ip/altera/user_components.ipx"
        cp ${RADIOHDL_WORK}/hdl_user_components.ipx $altera_dir/ip/altera/user_components.ipx
    fi
done
Pieter Donker's avatar
Pieter Donker committed
# source also radiohdl and args tools
. ../radiohdl/init_radiohdl.sh
if [[ -d "${RADIOHDL_WORK}/../args" ]]; then
    . ../args/init_args.sh
fi