1 | #!/bin/bash |
---|
2 | |
---|
3 | declare localization="labs"; |
---|
4 | declare type="cosim"; |
---|
5 | declare type_list=("systemc" "vhdl" "cosim" "debug" "debug_systemc"); |
---|
6 | declare distcc=0; |
---|
7 | declare file_version="Version"; |
---|
8 | declare error=0; |
---|
9 | |
---|
10 | #-----[ environment_usage ]-------------------------------- |
---|
11 | function environment_usage () |
---|
12 | { |
---|
13 | echo "Usage : ${0} [-l localization] [-t type] [-d]"; |
---|
14 | # exit; |
---|
15 | } |
---|
16 | |
---|
17 | #-----[ environment_test_usage ]---------------------------- |
---|
18 | function environment_test_usage () |
---|
19 | { |
---|
20 | # if test ${#} -gt 1 -a ${#} -lt 0; then |
---|
21 | # environment_usage ${*}; |
---|
22 | # fi; |
---|
23 | |
---|
24 | TEMP=`getopt -o l:t:hd -- "$@"` |
---|
25 | |
---|
26 | if test $? != 0; then |
---|
27 | echo "Error in argument parsing"; |
---|
28 | error=1; |
---|
29 | fi; |
---|
30 | |
---|
31 | if test ${error} -eq 0; then |
---|
32 | |
---|
33 | eval set -- "$TEMP" |
---|
34 | |
---|
35 | while true ; do |
---|
36 | case "$1" in |
---|
37 | -t) type=${2}; shift 2;; |
---|
38 | -l) localization=${2}; shift 2;; |
---|
39 | -h) environment_usage ${*}; shift;; |
---|
40 | -d) distcc=1; shift;; |
---|
41 | --) shift ; break ;; |
---|
42 | *) echo "Internal error"; error=1;; |
---|
43 | esac |
---|
44 | done |
---|
45 | fi; |
---|
46 | } |
---|
47 | |
---|
48 | #-----[ environment_version ]------------------------------ |
---|
49 | function environment_version () |
---|
50 | { |
---|
51 | local version=$(cat ${MORPHEO_TOPLEVEL}/${file_version}); |
---|
52 | |
---|
53 | export MORPHEO_MAJOR_VERSION=$(echo ${version} | cut -d ' ' -f 1); |
---|
54 | export MORPHEO_MINOR_VERSION=$(echo ${version} | cut -d ' ' -f 2); |
---|
55 | export MORPHEO_REVISION=$( echo ${version} | cut -d ' ' -f 3); |
---|
56 | export MORPHEO_CODENAME=$( echo ${version} | cut -d ' ' -f 4); |
---|
57 | |
---|
58 | export MORPHEO_DATE_DAY=$( echo ${version} | cut -d ' ' -f 5); |
---|
59 | export MORPHEO_DATE_MONTH=$( echo ${version} | cut -d ' ' -f 6); |
---|
60 | export MORPHEO_DATE_YEAR=$( echo ${version} | cut -d ' ' -f 7); |
---|
61 | |
---|
62 | echo "Morpheo ${MORPHEO_MAJOR_VERSION}.${MORPHEO_MINOR_VERSION}.${MORPHEO_REVISION} \"${MORPHEO_CODENAME}\" (${MORPHEO_DATE_DAY}/${MORPHEO_DATE_MONTH}/${MORPHEO_DATE_YEAR})"; |
---|
63 | } |
---|
64 | |
---|
65 | #-----[ environment ]--------------------------------------- |
---|
66 | function environment () |
---|
67 | { |
---|
68 | environment_test_usage ${*}; |
---|
69 | |
---|
70 | if test ${error} -eq 0; then |
---|
71 | local OS_FOUND=`uname -s`-`uname -m | sed -e 's/i[0-9]/iX/' -e 's/sun4./sun4X/'` |
---|
72 | |
---|
73 | case ${OS_FOUND} in |
---|
74 | "Linux-iX86") |
---|
75 | export TARGET_ARCH=linux; |
---|
76 | export EXE_SUFFIX=; |
---|
77 | ;; |
---|
78 | *) |
---|
79 | echo "Unknown OS found" |
---|
80 | esac |
---|
81 | |
---|
82 | cd $(dirname ${BASH_SOURCE[0]}); |
---|
83 | export MORPHEO_TOPLEVEL=${PWD}; |
---|
84 | cd - &> /dev/null; |
---|
85 | |
---|
86 | # Export environment |
---|
87 | export MORPHEO_LOCALIZATION=${localization}; |
---|
88 | export MORPHEO_TYPE=${type}; |
---|
89 | export MORPHEO_DISTCC=${distcc}; |
---|
90 | export MORPHEO_SCRIPT=${MORPHEO_TOPLEVEL}/IPs/systemC/processor/Morpheo/Script; |
---|
91 | export MORPHEO_HOME=${HOME}/.Morpheo; |
---|
92 | local MORPHEO_XTTY=${MORPHEO_TOPLEVEL}/IPs/systemC/Environment/TTY/xtty; |
---|
93 | |
---|
94 | for i in ${type_list[*]}; do |
---|
95 | if test "${i}" = "${MORPHEO_TYPE}"; then |
---|
96 | error=0; |
---|
97 | break; |
---|
98 | fi; |
---|
99 | done; |
---|
100 | |
---|
101 | if test ${error} -ne 0; then |
---|
102 | echo "Bad type : \"${MORPHEO_TYPE}\""; |
---|
103 | fi; |
---|
104 | |
---|
105 | case ${MORPHEO_LOCALIZATION} in |
---|
106 | "labs") |
---|
107 | export MORPHEO_PREFIX=/users/chaos/kane/Morpheo; |
---|
108 | export MORPHEO_TMP=${MORPHEO_PREFIX}/tmp; |
---|
109 | ;; |
---|
110 | "home") |
---|
111 | export MORPHEO_PREFIX=${HOME}/tmp/Morpheo; |
---|
112 | export MORPHEO_TMP=${MORPHEO_PREFIX}/tmp; |
---|
113 | ;; |
---|
114 | "nettop") |
---|
115 | export MORPHEO_PREFIX=${HOME}/Work/Morpheo; |
---|
116 | export MORPHEO_TMP=/media/disk/tmp/Morpheo; |
---|
117 | ;; |
---|
118 | *) |
---|
119 | echo "Bad localization : \"${MORPHEO_LOCALIZATION}\""; |
---|
120 | error=1; |
---|
121 | ;; |
---|
122 | esac |
---|
123 | fi; |
---|
124 | |
---|
125 | if test ${error} -eq 0; then |
---|
126 | environment_version; |
---|
127 | |
---|
128 | echo "" |
---|
129 | echo "OS found : ${OS_FOUND}" |
---|
130 | echo "" |
---|
131 | echo "Modification of environement's variable :" |
---|
132 | echo " - MORPHEO_LOCALIZATION is set to ${MORPHEO_LOCALIZATION}" |
---|
133 | echo " - MORPHEO_TYPE is set to ${MORPHEO_TYPE}" |
---|
134 | echo " - MORPHEO_DISTCC is set to ${MORPHEO_DISTCC}" |
---|
135 | echo " - MORPHEO_TOPLEVEL is set to ${MORPHEO_TOPLEVEL}" |
---|
136 | echo " - MORPHEO_SCRIPT is set to ${MORPHEO_SCRIPT}" |
---|
137 | echo " - MORPHEO_HOME is set to ${MORPHEO_HOME}" |
---|
138 | echo " - MORPHEO_PREFIX is set to ${MORPHEO_PREFIX}" |
---|
139 | echo " - MORPHEO_TMP is set to ${MORPHEO_TMP}" |
---|
140 | |
---|
141 | #---------- |
---|
142 | # Path : add xtty and script directory. |
---|
143 | # test if already in path : no multiple addition |
---|
144 | #---------- |
---|
145 | |
---|
146 | echo ${PATH} |grep -q ${MORPHEO_SCRIPT}; |
---|
147 | if test $? -eq 1; then |
---|
148 | export PATH=${PATH}:${MORPHEO_SCRIPT} |
---|
149 | echo " - PATH add ${MORPHEO_SCRIPT}" |
---|
150 | fi; |
---|
151 | |
---|
152 | echo ${PATH} |grep -q ${MORPHEO_XTTY}; |
---|
153 | |
---|
154 | if test $? -eq 1; then |
---|
155 | export PATH=${PATH}:${MORPHEO_XTTY} |
---|
156 | echo " - PATH add ${MORPHEO_XTTY}" |
---|
157 | fi; |
---|
158 | |
---|
159 | echo "" |
---|
160 | else |
---|
161 | environment_usage ${*}; |
---|
162 | fi; |
---|
163 | } |
---|
164 | |
---|
165 | #-----[ Corps ]--------------------------------------------- |
---|
166 | environment ${*}; |
---|
167 | |
---|
168 | unset error; |
---|
169 | unset file_version; |
---|
170 | unset type_list; |
---|
171 | unset distcc; |
---|
172 | unset type; |
---|
173 | unset localization; |
---|