[138] | 1 | #!/bin/bash |
---|
[2] | 2 | |
---|
[143] | 3 | declare localization="labs"; |
---|
| 4 | declare type="cosim"; |
---|
| 5 | declare type_list=("systemc" "vhdl" "cosim" "debug" "debug_systemc"); |
---|
| 6 | declare distcc=0; |
---|
[138] | 7 | declare file_version="Version"; |
---|
[143] | 8 | declare error=0; |
---|
[15] | 9 | |
---|
[137] | 10 | #-----[ environment_usage ]-------------------------------- |
---|
| 11 | function environment_usage () |
---|
| 12 | { |
---|
[143] | 13 | echo "Usage : ${0} [-l localization] [-t type] [-d]"; |
---|
[138] | 14 | # exit; |
---|
[137] | 15 | } |
---|
[2] | 16 | |
---|
[137] | 17 | #-----[ environment_test_usage ]---------------------------- |
---|
| 18 | function environment_test_usage () |
---|
| 19 | { |
---|
[143] | 20 | # if test ${#} -gt 1 -a ${#} -lt 0; then |
---|
| 21 | # environment_usage ${*}; |
---|
| 22 | # fi; |
---|
[2] | 23 | |
---|
[143] | 24 | TEMP=`getopt -o l:t:hd -- "$@"` |
---|
[132] | 25 | |
---|
[143] | 26 | if test $? != 0; then |
---|
| 27 | echo "Error in argument parsing"; |
---|
| 28 | error=1; |
---|
[137] | 29 | fi; |
---|
[143] | 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; |
---|
[137] | 46 | } |
---|
[15] | 47 | |
---|
[137] | 48 | #-----[ environment_version ]------------------------------ |
---|
| 49 | function environment_version () |
---|
| 50 | { |
---|
[138] | 51 | local version=$(cat ${MORPHEO_TOPLEVEL}/${file_version}); |
---|
[81] | 52 | |
---|
[137] | 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); |
---|
[15] | 61 | |
---|
[137] | 62 | echo "Morpheo ${MORPHEO_MAJOR_VERSION}.${MORPHEO_MINOR_VERSION}.${MORPHEO_REVISION} \"${MORPHEO_CODENAME}\" (${MORPHEO_DATE_DAY}/${MORPHEO_DATE_MONTH}/${MORPHEO_DATE_YEAR})"; |
---|
| 63 | } |
---|
[81] | 64 | |
---|
[137] | 65 | #-----[ environment ]--------------------------------------- |
---|
| 66 | function environment () |
---|
| 67 | { |
---|
| 68 | environment_test_usage ${*}; |
---|
| 69 | |
---|
[143] | 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/'` |
---|
[137] | 72 | |
---|
[143] | 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; |
---|
[138] | 104 | |
---|
[143] | 105 | case ${MORPHEO_LOCALIZATION} in |
---|
| 106 | "labs") |
---|
| 107 | export MORPHEO_PREFIX=/users/chaos/kane/Morpheo; |
---|
| 108 | export MORPHEO_TMP=${MORPHEO_PREFIX}/tmp; |
---|
| 109 | ;; |
---|
[144] | 110 | "home") |
---|
[143] | 111 | export MORPHEO_PREFIX=${HOME}/tmp/Morpheo; |
---|
| 112 | export MORPHEO_TMP=${MORPHEO_PREFIX}/tmp; |
---|
| 113 | ;; |
---|
[144] | 114 | "nettop") |
---|
[146] | 115 | export MORPHEO_PREFIX=${HOME}/Work/Morpheo; |
---|
| 116 | export MORPHEO_TMP=/media/disk/tmp/Morpheo; |
---|
[144] | 117 | ;; |
---|
[143] | 118 | *) |
---|
| 119 | echo "Bad localization : \"${MORPHEO_LOCALIZATION}\""; |
---|
| 120 | error=1; |
---|
| 121 | ;; |
---|
| 122 | esac |
---|
| 123 | fi; |
---|
[137] | 124 | |
---|
[138] | 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}" |
---|
[143] | 133 | echo " - MORPHEO_TYPE is set to ${MORPHEO_TYPE}" |
---|
| 134 | echo " - MORPHEO_DISTCC is set to ${MORPHEO_DISTCC}" |
---|
[138] | 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 |
---|
[143] | 148 | export PATH=${PATH}:${MORPHEO_SCRIPT} |
---|
| 149 | echo " - PATH add ${MORPHEO_SCRIPT}" |
---|
[138] | 150 | fi; |
---|
| 151 | |
---|
| 152 | echo ${PATH} |grep -q ${MORPHEO_XTTY}; |
---|
| 153 | |
---|
| 154 | if test $? -eq 1; then |
---|
[143] | 155 | export PATH=${PATH}:${MORPHEO_XTTY} |
---|
| 156 | echo " - PATH add ${MORPHEO_XTTY}" |
---|
[138] | 157 | fi; |
---|
| 158 | |
---|
| 159 | echo "" |
---|
[143] | 160 | else |
---|
| 161 | environment_usage ${*}; |
---|
[137] | 162 | fi; |
---|
| 163 | } |
---|
| 164 | |
---|
| 165 | #-----[ Corps ]--------------------------------------------- |
---|
| 166 | environment ${*}; |
---|
[138] | 167 | |
---|
[143] | 168 | unset error; |
---|
[138] | 169 | unset file_version; |
---|
[143] | 170 | unset type_list; |
---|
| 171 | unset distcc; |
---|
| 172 | unset type; |
---|
[138] | 173 | unset localization; |
---|