1 |
#!/bin/bash |
2 |
|
3 |
# $Id: configure,v 1.5 2003/04/12 18:56:47 kripke Exp $ |
4 |
# ./configure /opt/TclTk/8.3.5.t.so |
5 |
# ./configure -mingw /opt/TclTk/8.3.5.w.a |
6 |
|
7 |
mingw=false |
8 |
case "$1" in |
9 |
-mingw) mingw=true; shift;; |
10 |
*) [ -n "$WIN32" ] && mingw=true;; |
11 |
esac |
12 |
|
13 |
cfg=${1:-/usr} |
14 |
dir=$cfg |
15 |
tgt=make.tcltk |
16 |
$mingw && tgt=$tgt.mingw |
17 |
|
18 |
for ext in "" /lib /unix; do |
19 |
dir=$cfg$ext |
20 |
[ -f $dir/tclConfig.sh ] && break |
21 |
done |
22 |
|
23 |
if [ ! -f $dir/tclConfig.sh ]; then |
24 |
echo " |
25 |
no file tclConfig.sh under $cfg |
26 |
usage |
27 |
$0 dir-containing-tclConfig.sh |
28 |
" >&2 |
29 |
exit 1 |
30 |
fi |
31 |
|
32 |
echo using cfg $dir |
33 |
date="`date`" |
34 |
|
35 |
cat <<EOF >$tgt |
36 |
# configured $date by |
37 |
# $0 $cfg |
38 |
# |
39 |
# $dir/tclConfig.sh: |
40 |
EOF |
41 |
|
42 |
. $dir/tclConfig.sh |
43 |
# mingw build leaves many options unset |
44 |
# note it's NOT -ltcl$TCL_VERSION, but libtcl83s.a for mingw :( |
45 |
# specify -L$TCL_PREFIX/lib anyway for other libs ... |
46 |
[ -z "$TCL_LIB_SPEC" ] && TCL_LIB_SPEC="-L$TCL_PREFIX/lib $TCL_PREFIX/lib/$TCL_LIB_FILE" |
47 |
while read line; do |
48 |
case "$line" in |
49 |
TCL*=*) |
50 |
var=${line%%=*} |
51 |
eval echo $var=\$$var |
52 |
eval echo $var=\$$var >&2 |
53 |
esac |
54 |
done <"$dir"/tclConfig.sh >>$tgt |
55 |
# include_spec 8.4 only, it seems |
56 |
[ -z "$TCL_INCLUDE_SPEC" ] && echo TCL_INCLUDE_SPEC=-I$TCL_PREFIX/include >>$tgt |
57 |
|
58 |
|
59 |
if [ -f "$dir"/tclxConfig.sh ]; then |
60 |
cat <<EOF >>$tgt |
61 |
# |
62 |
# $dir/tclxConfig.sh: |
63 |
# |
64 |
EOF |
65 |
|
66 |
. $dir/tclxConfig.sh |
67 |
while read line; do |
68 |
case "$line" in |
69 |
TCLX*=*) |
70 |
var=${line%%=*} |
71 |
eval echo $var=\$$var |
72 |
eval echo $var=\$$var >&2 |
73 |
esac |
74 |
done <"$dir"/tclxConfig.sh >>$tgt |
75 |
fi |
76 |
|
77 |
# tcldom |
78 |
if [ -f "$dir"/TcldomConfig.sh ]; then |
79 |
cat <<EOF >>$tgt |
80 |
# |
81 |
# $dir/TcldomConfig.sh: |
82 |
# |
83 |
EOF |
84 |
|
85 |
. $dir/TcldomConfig.sh |
86 |
while read line; do |
87 |
case "$line" in |
88 |
Tcldom*=*) |
89 |
var=${line%%=*} |
90 |
eval echo $var=\$$var |
91 |
eval echo $var=\$$var >&2 |
92 |
esac |
93 |
done <"$dir"/TcldomConfig.sh >>$tgt |
94 |
fi |
95 |
|
96 |
|
97 |
# tclxml |
98 |
if [ -f "$dir"/TclxmlConfig.sh ]; then |
99 |
cat <<EOF >>$tgt |
100 |
# |
101 |
# $dir/TclxmlConfig.sh: |
102 |
# |
103 |
EOF |
104 |
|
105 |
. $dir/TclxmlConfig.sh |
106 |
while read line; do |
107 |
case "$line" in |
108 |
Tclxml*=*) |
109 |
var=${line%%=*} |
110 |
eval echo $var=\$$var |
111 |
eval echo $var=\$$var >&2 |
112 |
esac |
113 |
done <"$dir"/TclxmlConfig.sh >>$tgt |
114 |
fi |
115 |
|
116 |
|
117 |
|
118 |
### Tk stuff |
119 |
# |
120 |
if [ ! -f "$dir"/tkConfig.sh ]; then |
121 |
echo "no tkConfig.sh in $dir" >&2 |
122 |
echo "# (no $dir/tkConfig.sh)" >>$tgt |
123 |
# skip other Tk extensions |
124 |
exit |
125 |
fi |
126 |
|
127 |
cat <<EOF >>$tgt |
128 |
# |
129 |
# $dir/tkConfig.sh: |
130 |
# |
131 |
EOF |
132 |
|
133 |
. $dir/tkConfig.sh |
134 |
[ -z "$TK_LIB_SPEC" ] && TK_LIB_SPEC="-L$TK_PREFIX/lib $TK_PREFIX/lib/$TK_LIB_FILE" |
135 |
while read line; do |
136 |
case "$line" in |
137 |
TK*=*) |
138 |
var=${line%%=*} |
139 |
eval echo $var=\$$var |
140 |
eval echo $var=\$$var >&2 |
141 |
esac |
142 |
done <"$dir"/tkConfig.sh >>$tgt |
143 |
|
144 |
|
145 |
### tkx |
146 |
if [ -f "$dir"/tkxConfig.sh ]; then |
147 |
cat <<EOF >>$tgt |
148 |
# |
149 |
# $dir/tkxConfig.sh: |
150 |
# |
151 |
EOF |
152 |
|
153 |
. $dir/tkxConfig.sh |
154 |
while read line; do |
155 |
case "$line" in |
156 |
TKX*=*) |
157 |
var=${line%%=*} |
158 |
eval echo $var=\$$var |
159 |
eval echo $var=\$$var >&2 |
160 |
esac |
161 |
done <"$dir"/tkxConfig.sh >>$tgt |
162 |
fi |
163 |
|
164 |
|
165 |
|
166 |
### tix |
167 |
if [ -f "$dir"/tixConfig.sh ]; then |
168 |
cat <<EOF >>$tgt |
169 |
# |
170 |
# $dir/tixConfig.sh: |
171 |
# |
172 |
EOF |
173 |
|
174 |
. $dir/tixConfig.sh |
175 |
while read line; do |
176 |
case "$line" in |
177 |
TIX*=*) |
178 |
var=${line%%=*} |
179 |
eval echo $var=\$$var |
180 |
eval echo $var=\$$var >&2 |
181 |
esac |
182 |
done <"$dir"/tixConfig.sh >>$tgt |
183 |
fi |
184 |
|
185 |
|
186 |
### blt |
187 |
if [ -f "$dir/libBLT24.a" ]; then |
188 |
cat <<EOF >>$tgt |
189 |
# |
190 |
# $dir/libBLT24.a: |
191 |
# |
192 |
BLT_STATIC=$dir/libBLT24.a |
193 |
EOF |
194 |
fi |
195 |
if [ -f "$dir/libBLT24.so" ]; then |
196 |
cat <<EOF >>$tgt |
197 |
# |
198 |
# $dir/libBLT24.so: |
199 |
# |
200 |
BLT_SHARED=-lBLT24 |
201 |
EOF |
202 |
fi |