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