source: trunk/environment.sh @ 146

Last change on this file since 146 was 146, checked in by rosiere, 13 years ago

1) Integration of RegisterFile_Internal_Banked in RegisterFile?
2) Erase "read_write" interface in RegisterFile_Monolithic component
3) Add smith predictor parameters in Load_store_pointer_unit.
4) Fix not statistics flags

  • Property svn:keywords set to Id
File size: 4.9 KB
Line 
1#!/bin/bash
2
3declare localization="labs";
4declare type="cosim";
5declare type_list=("systemc" "vhdl" "cosim" "debug" "debug_systemc");
6declare distcc=0;
7declare file_version="Version";
8declare error=0;
9
10#-----[ environment_usage ]--------------------------------
11function environment_usage ()
12{
13    echo "Usage     : ${0} [-l localization] [-t type] [-d]";
14#    exit;
15}
16
17#-----[ environment_test_usage ]----------------------------
18function 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 ]------------------------------
49function 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 ]---------------------------------------
66function 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 ]---------------------------------------------
166environment ${*};
167
168unset error;
169unset file_version;
170unset type_list;
171unset distcc;
172unset type;
173unset localization;
Note: See TracBrowser for help on using the repository browser.