source: trunk/environment.sh @ 143

Last change on this file since 143 was 143, checked in by rosiere, 14 years ago

1) change environment.sh
2) add lot of include

  • Property svn:keywords set to Id
File size: 4.7 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" | "nettop")
111                export MORPHEO_PREFIX=${HOME}/tmp/Morpheo;
112                export MORPHEO_TMP=${MORPHEO_PREFIX}/tmp;
113                ;;
114            *)
115                echo "Bad localization : \"${MORPHEO_LOCALIZATION}\"";
116                error=1;
117                ;;
118        esac
119    fi;
120
121    if test ${error} -eq 0; then
122        environment_version;
123       
124        echo ""
125        echo "OS found : ${OS_FOUND}"
126        echo ""
127        echo "Modification of environement's variable :"
128        echo " - MORPHEO_LOCALIZATION is set to ${MORPHEO_LOCALIZATION}"
129        echo " - MORPHEO_TYPE         is set to ${MORPHEO_TYPE}"
130        echo " - MORPHEO_DISTCC       is set to ${MORPHEO_DISTCC}"
131        echo " - MORPHEO_TOPLEVEL     is set to ${MORPHEO_TOPLEVEL}"
132        echo " - MORPHEO_SCRIPT       is set to ${MORPHEO_SCRIPT}"
133        echo " - MORPHEO_HOME         is set to ${MORPHEO_HOME}"
134        echo " - MORPHEO_PREFIX       is set to ${MORPHEO_PREFIX}"
135        echo " - MORPHEO_TMP          is set to ${MORPHEO_TMP}"
136       
137        #----------
138        # Path : add xtty and script directory.
139        #        test if already in path : no multiple addition
140        #----------
141       
142        echo ${PATH} |grep -q ${MORPHEO_SCRIPT};
143        if test $? -eq 1; then
144            export  PATH=${PATH}:${MORPHEO_SCRIPT}
145            echo " - PATH                 add       ${MORPHEO_SCRIPT}"
146        fi;
147       
148        echo ${PATH} |grep -q ${MORPHEO_XTTY};
149       
150        if test $? -eq 1; then
151            export  PATH=${PATH}:${MORPHEO_XTTY}
152            echo " - PATH                 add       ${MORPHEO_XTTY}"
153        fi;
154       
155        echo ""
156    else
157        environment_usage ${*};
158    fi;
159}
160
161#-----[ Corps ]---------------------------------------------
162environment ${*};
163
164unset error;
165unset file_version;
166unset type_list;
167unset distcc;
168unset type;
169unset localization;
Note: See TracBrowser for help on using the repository browser.