Magellan Linux

Contents of /trunk/distcc/distcc-config.sh

Parent Directory Parent Directory | Revision Log Revision Log


Revision 144 - (show annotations) (download) (as text)
Tue May 8 20:06:05 2007 UTC (17 years ago) by niro
File MIME type: application/x-sh
File size: 2367 byte(s)
-import

1 #!/bin/bash
2 #distcc-config bash
3
4 #needed variables
5 ENVFILE="/etc/env.d/02distcc"
6
7
8 print_usage()
9 {
10 echo
11 echo "Usage: /usr/bin/distcc-config OPTION ARGUMENT"
12 echo
13 echo " -s DISTCC_HOSTS sets distcc hosts"
14 # echo " -l FILENAME sets logfile"
15 # echo " -v [ 0 | 1 ] sets verbose mode on or off"
16 echo " -i installs compiler symlinks"
17 echo " -p prints current config"
18 echo " -h show this help"
19 echo
20 }
21
22 #while getopts "s:l:v:pih-" opt
23 while getopts "s:pih-" opt
24 do
25 case "$opt" in
26
27 #sets hosts
28 s)
29 [ ! -d /etc/distcc ] && install -d /etc/distcc
30 echo "${OPTARG}" > /etc/distcc/hosts
31 exit 0
32 ;;
33
34 # #sets logfile
35 # l)
36 # echo ${OPTARG}
37 # exit 0
38 # ;;
39 #
40 # #set verbose
41 # v)
42 # echo ${OPTARG}
43 # exit 0
44 # ;;
45
46 #print config
47 p)
48 echo "Configured hosts:"
49 declare -i x=0
50 if [ -n "${DISTCC_HOSTS}" ]
51 then
52 echo " Environment:"
53 for i in ${DISTCC_HOSTS}
54 do
55 ((x++))
56 echo " ${x}. ${i}"
57 done
58
59 elif [ -f /etc/distcc/hosts ] &&
60 [ "$(stat -c %s /etc/distcc/hosts)" -ne 0 ]
61 then
62 echo " /etc/distcc/hosts:"
63 for i in $(cat /etc/distcc/hosts)
64 do
65 ((x++))
66 echo " ${x}. ${i}"
67 done
68 else
69 echo " None. Please run distcc-config."
70 echo " e.g. distcc-config -s \"host1 host2\""
71 fi
72 echo
73 exit 0
74 ;;
75
76 #install compiler symlinks
77 i)
78 source /etc/mage.rc
79 for file in gcc cc c++ g++
80 do
81 path="/usr/lib/distcc/bin"
82 if [ -e "/usr/bin/${file}" ]
83 then
84 if [ -n "${CHOST}" ] &&
85 [ "${file}" != "cc" ] &&
86 [ ! -e "${path}/${CHOST}-${file}" ]
87 then
88 echo " Creating ${path}/${CHOST}-${file}"
89 ln -snf /usr/bin/distcc ${path}/${CHOST}-${file}
90 fi
91
92 if [ ! -e "${path}/${file}" ]
93 then
94 echo " Creating ${path}/${file}"
95 ln -snf /usr/bin/distcc ${path}/${file}
96 fi
97 fi
98 done
99 exit 0
100 ;;
101
102 #show help
103 h)
104 print_usage
105 exit 0
106 ;;
107
108 -)
109 break
110 ;;
111
112 *)
113 echo "Run '/usr/bin/distcc-config -h' for help." 1>&2
114 exit 1
115 ;;
116 esac
117 done
118
119 #next getopt option
120 shift $(($OPTIND - 1))
121
122 #echo ${USAGE} 1>&2
123 echo "Run '/usr/bin/distcc-config -h' for help." 1>&2
124 exit 1