source: trunk/IPs/systemC/processor/Morpheo/Script/distcc_env.sh @ 138

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

1) add counters_t type for interface
2) fix in check load in load_store_unit
3) add parameters (but not yet implemented)
4) change environment and add script (distcc_env.sh ...)
5) add warning if an unser change rename flag with l.mtspr instruction
6) ...

  • Property svn:executable set to *
  • Property svn:keywords set to Id
File size: 5.7 KB
Line 
1#!/bin/bash
2
3declare distcc_env_is_subshell;
4declare distcc_env_file="${HOME}/.distcc_env";
5
6#-----[ distcc_env_usage ]---------------------------------
7function distcc_env_usage()
8{
9    echo "${0} option";
10    echo "  -h : print this message";
11    echo "  -d : load default DISTCC_HOSTS";
12    echo "  -t : from DISTCC_HOSTS, test hosts";
13    echo "  -s : save DISTCC_HOSTS in file ${distcc_env_file} (if -t, save after test host)";
14    echo "  -l : load file ${distcc_env_file} and set DISTCC_HOSTS";
15    echo "";
16    echo " 2 methode to set DISTCC_HOSTS : ";
17    echo "   * 1) \". $0\"";
18    echo "   * 2) DISTCC_HOSTS=\$($0);";
19
20#    exit 1;
21}
22
23#-----[ distcc_env_default ]-------------------------------
24function distcc_env_default ()
25{
26    export DISTCC_HOSTS="";
27    export DISTCC_HOSTS="${DISTCC_HOSTS} houla/16,lzo"    ; # serveur recherche
28    export DISTCC_HOSTS="${DISTCC_HOSTS} hop/16,lzo"      ; # serveur recherche
29    export DISTCC_HOSTS="${DISTCC_HOSTS} fox/8,lzo"      ; # serveur recherche
30    export DISTCC_HOSTS="${DISTCC_HOSTS} trot/8,lzo"     ; # serveur recherche
31    export DISTCC_HOSTS="${DISTCC_HOSTS} bip/8,lzo"      ; # serveur recherche
32    export DISTCC_HOSTS="${DISTCC_HOSTS} bop/8,lzo"      ; # serveur recherche
33   #export DISTCC_HOSTS="${DISTCC_HOSTS} polka/8,lzo"    ; # serveur recherche    - réservé 
34   #export DISTCC_HOSTS="${DISTCC_HOSTS} debussy/8,lzo"  ; # serveur enseignement           
35    export DISTCC_HOSTS="${DISTCC_HOSTS} do/8,lzo"       ; # serveur recherche               
36    export DISTCC_HOSTS="${DISTCC_HOSTS} re/8,lzo"       ; # serveur recherche               
37    export DISTCC_HOSTS="${DISTCC_HOSTS} mi/8,lzo"       ; # serveur recherche               
38    export DISTCC_HOSTS="${DISTCC_HOSTS} fa/8,lzo"       ; # serveur recherche               
39   #export DISTCC_HOSTS="${DISTCC_HOSTS} berlioz/4,lzo"  ; # serveur enseignement - g++ 3.4.6
40    export DISTCC_HOSTS="${DISTCC_HOSTS} roll/4,lzo"     ; # serveur recherche               
41   #export DISTCC_HOSTS="${DISTCC_HOSTS} rock/2,lzo"     ; # serveur recherche    - g++ 3.4.6
42    export DISTCC_HOSTS="${DISTCC_HOSTS} lin/2,lzo"      ; # desktop
43    export DISTCC_HOSTS="${DISTCC_HOSTS} eric/2,lzo"     ; # desktop
44    export DISTCC_HOSTS="${DISTCC_HOSTS} amouri/2,lzo"   ; # desktop
45   #export DISTCC_HOSTS="${DISTCC_HOSTS} cherry/2,lzo"   ; # desktop
46    export DISTCC_HOSTS="${DISTCC_HOSTS} gamoudi/2,lzo"  ; # desktop
47   #export DISTCC_HOSTS="${DISTCC_HOSTS} grunge/2,lzo"   ; # desktop
48    export DISTCC_HOSTS="${DISTCC_HOSTS} mitra/2,lzo"    ; # desktop
49   #export DISTCC_HOSTS="${DISTCC_HOSTS} pronky/2,lzo"   ; # desktop
50   #export DISTCC_HOSTS="${DISTCC_HOSTS} babylone/2,lzo" ; # desktop 
51
52    if test ${1} -eq 1; then
53        echo "${DISTCC_HOSTS}";
54    fi;
55}
56
57#-----[ distcc_env_load ]----------------------------------
58function distcc_env_load ()
59{
60    if test -f ${distcc_env_file}; then
61        DISTCC_HOSTS=$(cat ${distcc_env_file});
62    fi;
63}
64
65#-----[ distcc_env_save ]----------------------------------
66function distcc_env_save ()
67{
68    echo ${DISTCC_HOSTS} > ${distcc_env_file};
69}
70
71#-----[ distcc_env_test ]----------------------------------
72function distcc_env_test ()
73{
74    local hosts="${DISTCC_HOSTS}";
75
76    # re init DISTCC_HOSTS
77
78    export DISTCC_HOSTS="";
79    for line in ${hosts}; do
80        host=$(echo ${line} | cut -d/ -f1);
81
82        if test ${1} -eq 0; then
83            echo -n " * station : ${host} ... ";
84        fi;
85       
86        # ping host ...
87        ping -w 1 ${host} &> /dev/null;
88
89        if test "$?" -eq "0"; then
90            # ... if ok, reinsert
91            if test ${1} -eq 0; then
92                echo "online";
93            fi;
94            export DISTCC_HOSTS="${DISTCC_HOSTS} ${line}";
95        else
96            if test ${1} -eq 0; then
97                echo "offline";
98            fi;
99        fi;
100    done;
101
102    if test ${1} -eq 1; then
103        echo "${DISTCC_HOSTS}";
104    fi;
105}
106
107#-----[ distcc_env ]---------------------------------------
108function distcc_env ()
109{
110    if test "${0}" = "$(basename ${SHELL})"; then
111        distcc_env_is_subshell=0;
112    else
113        distcc_env_is_subshell=1;
114    fi;
115   
116    local exec_distcc_env_default=0;
117    local exec_distcc_env_test=0;
118    local exec_distcc_env_save=0;
119    local exec_distcc_env_load=0;
120    local exec_distcc_env_usage=0;
121    local no_option=1;
122   
123    set -- $(getopt :sldth "$@")
124    for arg
125    do  case "$arg" in
126            -d) exec_distcc_env_default=1; no_option=0; ;;
127            -t) exec_distcc_env_test=1;    no_option=0; ;;
128            -s) exec_distcc_env_save=1;    no_option=0; ;;
129            -l) exec_distcc_env_load=1;    no_option=0; ;;
130            -h) exec_distcc_env_usage=1;   break; ;;
131            --) if test $no_option -eq 1; then
132                    exec_distcc_env_usage=1;
133                fi;
134                break;;
135        esac
136    done
137
138
139    if test $exec_distcc_env_usage -eq 1; then
140        distcc_env_usage ${*};
141       
142        if test ${distcc_env_is_subshell} -eq 1; then
143            exit 1;
144        fi;
145    else
146        if test $exec_distcc_env_default -eq 1; then
147            if test $exec_distcc_env_test    -eq 1; then
148                distcc_env_default 0;
149            else
150                distcc_env_default ${distcc_env_is_subshell};
151            fi;
152        fi;
153        if test $exec_distcc_env_load    -eq 1; then
154            distcc_env_load;
155        fi;
156        if test $exec_distcc_env_test    -eq 1; then
157            distcc_env_test ${distcc_env_is_subshell};
158        fi;
159        if test $exec_distcc_env_save   -eq 1; then
160            distcc_env_save;
161        fi;
162    fi;
163   
164    unset distcc_env_file;
165    unset distcc_env_is_subshell;
166}
167
168#-----[ Corps ]---------------------------------------------
169distcc_env ${*};
Note: See TracBrowser for help on using the repository browser.