Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
#!/bin/bash
########################################################################
# systemc-env.sh: Set up the environment for SystemC
########################################################################
# Author: Torsten MAEHNE <Torsten.Maehne@lip6.fr>
# Created: 2014-01-30
########################################################################
#
# This shell script prepares the shell environment for building or
# using the SystemC libraries. You can either source it from the command
# line or in your .bashrc:
#
# . ./systemc-env.sh [--build-version=2.2|2.3.0|2.3.1]
# [--build-type=Debug|Release] \
# [-h|--help] \
# [-v|--version] \
#
########################################################################
########################################################################
# Print help message
########################################################################
function systemc_environment_help_message() {
cat <<EOF
This script should be sourced to prepare your environment for SystemC:
. $0 [--build-version=2.2|2.3.0|2.3.1] [--build-type=Debug|Release]
EOF
}
########################################################################
# Print version message
########################################################################
function systemc_environment_version_message() {
cat <<EOF
systemc-env.sh: Set up the environment for SystemC
Author: Torsten MAEHNE <Torsten.Maehne@lip6.fr>
Version: unreleased
EOF
}
########################################################################
# Function to manipulate the path variable
########################################################################
path_append () { path_remove $1; export PATH="$PATH:$1"; }
path_prepend () { path_remove $1; export PATH="$1:$PATH"; }
path_remove () { export PATH=`echo -n $PATH | awk -v RS=: -v ORS=: '$0 != "'$1'"' | sed 's/:$//'`; }
# Default SystemC version (either 2.2, 2.3.0, or 2.3.1)
SYSTEMC_VERSION=2.3.1
# Default SystemC build type (either Release or Debug)
SYSTEMC_BUILD_TYPE=Release
# Process the command line arguments
for i in $*
do
case $i in
--build-version=*)
SYSTEMC_VERSION=${i#*=}
;;
--build-type=*)
SYSTEMC_BUILD_TYPE=${i#*=}
;;
-h | --help)
systemc_environment_help_message
exit 0
;;
-v | --version)
systemc_environment_version_message
exit 0
;;
*)
# unknown option
echo "Error: Unknown option \"$i\"" 1>&2
exit 1
;;
esac
done
case $SYSTEMC_BUILD_TYPE in
Debug)
SYSTEMC_BUILD_SUFFIX=dbg
;;
Release)
SYSTEMC_BUILD_SUFFIX=rel
;;
*)
echo "Error: Unknown build type \"$BUILD_TYPE\". Use either \"Debug\” or \"Release\"." 1>&2
esac
case $SYSTEMC_VERSION in
# 2.2)
# export BOOST_ROOT=/opt/systemc-2.2-$SYSTEMC_BUILD_SUFFIX
# export SYSTEMC_ARCH=linux
# export SYSTEMC_ROOT=/opt/systemc-2.2-$SYSTEMC_BUILD_SUFFIX
# export SYSTEMC_HOME=$SYSTEMC_ROOT
# export SYSTEMC_AMS_HOME=$SYSTEMC_ROOT
# export SYSTEMC_INCLUDE_DIRS=-I$SYSTEMC_ROOT/include
# export SCV_HOME=$SYSTEMC_ROOT
# export TLM_HOME=$SYSTEMC_ROOT
# export SYSTEMC_LIBRARY_DIRS="-Wl,-rpath=$SYSTEMC_ROOT/lib -L$SYSTEMC_ROOT/lib"
# export SYSTEMC_ARCH=linux
# export PATH=$PATH:/opt/soclib/utils/bin:/opt/cxtools/install/bin
# #export LD_LIBRARY_PATH=$SYSTEMC_ROOT
# ;;
# 2.3.0)
# export BOOST_ROOT=/usr
# export SYSTEMC_ARCH=linux
# export SYSTEMC_ROOT=/opt/systemc-2.3.0-$SYSTEMC_BUILD_SUFFIX
# export SYSTEMC_HOME=$SYSTEMC_ROOT
# export SYSTEMC_AMS_HOME=/opt/systemc-ams-2.0alpha1-$SYSTEMC_BUILD_SUFFIX
# export SYSTEMC_INCLUDE_DIRS="-I$SYSTEMC_ROOT/include -I$SYSTEMC_AMS_HOME/include"
# #export SCV_HOME=$SYSTEMC_ROOT
# export TLM_HOME=$SYSTEMC_ROOT
# export SYSTEMC_LIBRARY_DIRS="-Wl,-rpath=$SYSTEMC_HOME/lib-$SYSTEMC_ARCH -L$SYSTEMC_HOME/lib-$SYSTEMC_ARCH -Wl,-rpath=$SYSTEMC_AMS_HOME/lib-$SYSTEMC_ARCH -L$SYSTEMC_AMS_HOME/lib-$SYSTEMC_ARCH"
# export PATH=$PATH:/opt/soclib/utils/bin:/opt/cxtools/install/bin
# #export LD_LIBRARY_PATH=$SYSTEMC_HOME/lib-$SYSTEMC_ARCH:$SYSTEMC_AMS_HOME/lib-$SYSTEMC_ARCH
# ;;
2.3.1)
export BOOST_ROOT=/usr
export SYSTEMC_ARCH=linux64
export TARGET_ARCH=
export SYSTEMC_ROOT=/users/outil/systemcams/systemc-2.3.1
export SYSTEMC_HOME=$SYSTEMC_ROOT
export SYSTEMC_AMS_HOME=/users/outil/systemcams/systemc-ams-2.1
export SYSTEMC_INCLUDE_DIRS="-I$SYSTEMC_ROOT/include -I$SYSTEMC_AMS_HOME/include"
export SCV_HOME=$SYSTEMC_ROOT
export TLM_HOME=$SYSTEMC_ROOT
export SYSTEMC_LIBRARY_DIRS="-Wl,-rpath=$SYSTEMC_HOME/lib-$SYSTEMC_ARCH -L$SYSTEMC_HOME/lib-$SYSTEMC_ARCH -Wl,-rpath=$SYSTEMC_AMS_HOME/lib-$SYSTEMC_ARCH -L$SYSTEMC_AMS_HOME/lib-$SYSTEMC_ARCH"
export PATH=$PATH:/opt/soclib/utils/bin:/opt/mipsel-unknown-elf/bin
;;
*)
echo "Error: Unknown SystemC version \"$SYSTEMC_VERSION\". Use either \"2.2\”, \"2.3.0\", or \"2.3.1\"." 1>&2
;;
esac
export SYSTEMC=$SYSTEMC_HOME
export TLM2=$TLM_HOME
export SYSTEMC_AMS=$SYSTEMC_AMS_HOME
# export SYSTEMC_AMS_PATH=$SYSTEMC_AMS_HOME
# export SYSTEMCAMS=$SYSTEMC_AMS_HOME
# export SYSTEMCAMS_HOME=$SYSTEMC_AMS_HOME
# export SYSTEMCAMS_PATH=$SYSTEMC_AMS_HOME
#export TARGET_ARCH=$SYSTEMC_ARCH