1 |
dnl Process this file with autoconf to produce a configure script. |
2 |
AC_INIT(eggdrop.conf.dist) |
3 |
ac_default_prefix=\${HOME}/eggdrop |
4 |
AC_CONFIG_HEADER(config.h) |
5 |
|
6 |
AC_MSG_RESULT() |
7 |
AC_MSG_RESULT(This is eggdrop's GNU configure script.) |
8 |
AC_MSG_RESULT(It's going to run a bunch of strange tests to hopefully) |
9 |
AC_MSG_RESULT(make your compile work without much twiddling.) |
10 |
AC_MSG_RESULT() |
11 |
|
12 |
AC_PROG_MAKE_SET |
13 |
AC_PROG_CC |
14 |
|
15 |
dnl no cross-compiling! |
16 |
if test ! "x${cross_compiling}" = "xno" |
17 |
then |
18 |
cat << 'EOF' >&2 |
19 |
configure: error: |
20 |
|
21 |
This system does not appear to have a working C compiler. |
22 |
A working C compiler is required to compile eggdrop. |
23 |
|
24 |
EOF |
25 |
exit 1 |
26 |
fi |
27 |
|
28 |
dnl crazy machines |
29 |
AC_AIX |
30 |
AC_ISC_POSIX |
31 |
AC_MINIX |
32 |
|
33 |
dnl Checks for programs. |
34 |
AC_PROG_RANLIB |
35 |
AC_CHECK_PROG(STRIP,strip,strip) |
36 |
AC_CHECK_PROG(UNAME,uname,uname) |
37 |
|
38 |
AC_PROG_AWK |
39 |
if test "x${AWK}" = "x" |
40 |
then |
41 |
cat << 'EOF' >&2 |
42 |
configure: error: |
43 |
|
44 |
This system seems to lack a working 'awk' command. |
45 |
A working 'awk' command is required to compile eggdrop. |
46 |
|
47 |
EOF |
48 |
exit 1 |
49 |
fi |
50 |
|
51 |
AC_CHECK_PROG(BASENAME,basename,basename) |
52 |
if test "x${BASENAME}" = "x" |
53 |
then |
54 |
cat << 'EOF' >&2 |
55 |
configure: error: |
56 |
|
57 |
This system seems to lack a working 'basename' command. |
58 |
A working 'basename' command is required to compile eggdrop. |
59 |
|
60 |
EOF |
61 |
exit 1 |
62 |
fi |
63 |
|
64 |
AC_CHECK_PROG(DIRNAME,dirname,dirname) |
65 |
if test "x${DIRNAME}" = "x" |
66 |
then |
67 |
cat << 'EOF' >&2 |
68 |
configure: error: |
69 |
|
70 |
This system seems to lack a working 'dirname' command. |
71 |
A working 'dirname' command is required to compile eggdrop. |
72 |
|
73 |
EOF |
74 |
exit 1 |
75 |
fi |
76 |
|
77 |
AC_PROG_LN_S |
78 |
|
79 |
dnl cp -f checks |
80 |
AC_MSG_CHECKING(whether cp -f works) |
81 |
ac_file1=beldin1 |
82 |
ac_file2=beldin2 |
83 |
ac_cp="cp -f $ac_file1 $ac_file2" |
84 |
|
85 |
cat > $ac_file1 << 'EOF' |
86 |
Beldin is a llama. :P |
87 |
EOF |
88 |
if { (eval echo configure: \"$ac_cp\") 1>&5; (eval $ac_cp) 2>&5; } && test -s $ac_file2 |
89 |
then |
90 |
AC_MSG_RESULT(yes) |
91 |
ac_cv_prog_cp_f=yes |
92 |
CP1="cp -f" |
93 |
CP2="cp -rf" |
94 |
CP3="cp -pf" |
95 |
else |
96 |
AC_MSG_RESULT(no) |
97 |
ac_cv_prog_cp_f=no |
98 |
CP1="cp" |
99 |
CP2="cp -r" |
100 |
CP3="cp -p" |
101 |
fi |
102 |
rm -f $ac_file1 $ac_file2 |
103 |
|
104 |
dnl stop putting -g in there! @#$!#$%! |
105 |
if test "x${CFLAGS}" = "x" |
106 |
then |
107 |
if test "x${CC}" = "xgcc" |
108 |
then |
109 |
CFLAGS="-O2" |
110 |
else |
111 |
CFLAGS="-O" |
112 |
fi |
113 |
fi |
114 |
|
115 |
dnl test the os and set the module linking settings |
116 |
if test "x${STRIP}" = "x" |
117 |
then |
118 |
STRIP=touch |
119 |
fi |
120 |
IRIX=no |
121 |
LINUX=no |
122 |
need_dl=1 |
123 |
EGGEXEC=eggdrop |
124 |
DEFAULT_MAKE=eggdrop |
125 |
BEL_MOD_CC="${CC}" |
126 |
BEL_MOD_LD="${CC}" |
127 |
BEL_MOD_STRIP="${STRIP}" |
128 |
SHLIB_CC="${CC}" |
129 |
SHLIB_LD="${CC}" |
130 |
SHLIB_STRIP="${STRIP}" |
131 |
AC_MSG_CHECKING(your OS) |
132 |
system=`${UNAME}` |
133 |
case $system in |
134 |
Linux) |
135 |
CFLAGS="$CFLAGS -Wall" |
136 |
AC_MSG_RESULT(Linux! The choice of the GNU generation) |
137 |
SHLIB_LD="${CC} -shared -nostartfiles" |
138 |
BEL_MOD_LD="${CC}" |
139 |
AC_DEFINE(MODULES_OK) |
140 |
LINUX=yes |
141 |
DEFAULT_MAKE=debugmem |
142 |
;; |
143 |
BSD/OS) |
144 |
if test "x`${UNAME} -r | cut -d . -f 1`" = "x2" |
145 |
then |
146 |
AC_MSG_RESULT(BSD/OS 2! statically linked modules are the only choice) |
147 |
need_dl=0 |
148 |
DEFAULT_MAKE=static |
149 |
else |
150 |
AC_MSG_RESULT(BSD/OS 3+! ok I spose) |
151 |
BEL_MOD_CC=shlicc |
152 |
BEL_MOD_LD=shlicc |
153 |
BEL_MOD_STRIP="${STRIP} -d" |
154 |
SHLIB_LD="shlicc -r" |
155 |
SHLIB_STRIP=touch |
156 |
AC_DEFINE(MODULES_OK) |
157 |
fi |
158 |
AC_CHECK_PROG(GMAKE,gmake,gmake) |
159 |
if test "x${GMAKE}" = "x" |
160 |
then |
161 |
cat << 'EOF' >&2 |
162 |
configure: warning: |
163 |
|
164 |
Yoicks! You have BSD/OS and you dont have 'gmake'. |
165 |
You may not be able to compile the bot successfully :( |
166 |
|
167 |
EOF |
168 |
fi |
169 |
;; |
170 |
*BSD) |
171 |
AC_MSG_RESULT(FreeBSD/NetBSD/OpenBSD - choose your poison) |
172 |
SHLIB_CC="${CC} -fpic" |
173 |
SHLIB_LD="ld -Bshareable -x" |
174 |
AC_DEFINE(MODULES_OK) |
175 |
;; |
176 |
SunOS) |
177 |
if test "x`${UNAME} -r | cut -d . -f 1`" = "x5" |
178 |
then |
179 |
AC_MSG_RESULT(Solaris!) |
180 |
SHLIB_LD="/usr/ccs/bin/ld -G -z text" |
181 |
else |
182 |
AC_MSG_RESULT(SunOS 4 :/) |
183 |
SHLIB_LD=ld |
184 |
SHLIB_STRIP=touch |
185 |
fi |
186 |
SHLIB_CC="${CC} -fPIC" |
187 |
BEL_MOD_CC="${CC} -fPIC" |
188 |
AC_DEFINE(MODULES_OK) |
189 |
;; |
190 |
OSF1) |
191 |
AC_MSG_RESULT(OSF...) |
192 |
case `${UNAME} -r | cut -d . -f 1` in |
193 |
V*) |
194 |
AC_MSG_RESULT(Digital OSF) |
195 |
SHLIB_LD="ld -shared -expect_unresolved '*'" |
196 |
SHLIB_STRIP="touch" |
197 |
AC_DEFINE(MODULES_OK) |
198 |
;; |
199 |
1.0|1.1|1.2) |
200 |
AC_MSG_RESULT(pre 1.3) |
201 |
SHLIB_LD="ld -R -export $@:" |
202 |
AC_DEFINE(OSF1_HACKS) |
203 |
AC_DEFINE(MODULES_OK) |
204 |
;; |
205 |
1.*) |
206 |
AC_MSG_RESULT(1.3+) |
207 |
SHLIB_CFL="${CC} -fpic" |
208 |
SHLIB_LD="ld -shared" |
209 |
AC_DEFINE(OSF1_HACKS) |
210 |
AC_DEFINE(MODULES_OK) |
211 |
;; |
212 |
*) |
213 |
AC_MSG_RESULT(Some other weird OSF! No modules for you..) |
214 |
need_dl=0 |
215 |
DEFAULT_MAKE=static |
216 |
;; |
217 |
esac |
218 |
AC_DEFINE(STOP_UAC) |
219 |
;; |
220 |
HP-UX) |
221 |
AC_MSG_RESULT([HP-UX, just shoot yourself now]) |
222 |
AC_CHECK_LIB(dld,shl_load) |
223 |
BEL_MOD_LD="gcc -Wl,-E" |
224 |
SHLIB_CC="gcc -fPIC" |
225 |
SHLIB_LD="ld -b" |
226 |
AC_DEFINE(HPUX_HACKS) |
227 |
if test "x`${UNAME} -r | cut -d . -f 2`" = "x10" |
228 |
then |
229 |
AC_DEFINE(HPUX10_HACKS) |
230 |
fi |
231 |
AC_DEFINE(MODULES_OK) |
232 |
need_dl=0 |
233 |
;; |
234 |
IRIX|IRIX64) |
235 |
AC_MSG_RESULT(you are cursed with IRIX) |
236 |
IRIX=yes |
237 |
SHLIB_STRIP=touch |
238 |
need_dl=0 |
239 |
DEFAULT_MAKE=static |
240 |
;; |
241 |
*) |
242 |
if test -r "/mach" |
243 |
then |
244 |
AC_MSG_RESULT([NeXT...We are borg, you will be assimilated]) |
245 |
AC_MSG_RESULT([break out the static modules, it's all you'll ever get :P]) |
246 |
AC_MSG_RESULT(Hiya DK :P) |
247 |
AC_DEFINE(BORGCUBES) |
248 |
else |
249 |
AC_MSG_RESULT(Something unknown!!) |
250 |
AC_MSG_RESULT([If you get dynamic modules to work, be sure to let the devel team know HOW :)]) |
251 |
fi |
252 |
need_dl=0 |
253 |
DEFAULT_MAKE=static |
254 |
;; |
255 |
esac |
256 |
|
257 |
dnl Check for Sun libraries. |
258 |
if test "$IRIX" = "yes" |
259 |
then |
260 |
AC_MSG_WARN(Skipping library tests because they *confuse* IRIX.) |
261 |
else |
262 |
AC_CHECK_LIB(socket,socket) |
263 |
AC_CHECK_LIB(nsl,connect) |
264 |
AC_CHECK_LIB(dns,gethostbyname) |
265 |
AC_CHECK_LIB(dl,dlopen) |
266 |
if test "x`${UNAME}`" = "xSunOS" |
267 |
then |
268 |
AC_MSG_CHECKING(for SunOS 4) |
269 |
if test "x`${UNAME} -r | cut -d . -f 1`" = "x5" |
270 |
then |
271 |
AC_MSG_RESULT(Solaris -- "*bollocks*" zarni ) |
272 |
else |
273 |
AC_MSG_RESULT(SunOS -- sigh) |
274 |
dnl for suns without yp or something like that: |
275 |
AC_CHECK_LIB(dl,main) |
276 |
fi |
277 |
fi |
278 |
fi |
279 |
|
280 |
AC_CHECK_FUNC(res_init, , |
281 |
AC_CHECK_LIB(bind, res_init, RESLIB="-lbind", |
282 |
AC_CHECK_LIB(resolv, res_init, RESLIB="-lresolv", AC_MSG_ERROR(No resolver library found)))) |
283 |
|
284 |
AC_CHECK_FUNC(res_mkquery, , |
285 |
AC_CHECK_LIB(bind, res_mkquery, RESLIB="-lbind", |
286 |
AC_CHECK_LIB(resolv, res_mkquery, RESLIB="-lresolv", AC_MSG_ERROR(No resolver library found)))) |
287 |
|
288 |
AC_C_BIGENDIAN |
289 |
AC_CHECK_SIZEOF(long,0) |
290 |
AC_CHECK_SIZEOF(int,0) |
291 |
|
292 |
dnl Checks for header files. |
293 |
AC_HEADER_DIRENT |
294 |
AC_HEADER_SYS_WAIT |
295 |
AC_CHECK_HEADERS(sys/time.h sys/select.h sys/rusage.h unistd.h stdarg.h dlfcn.h) |
296 |
|
297 |
dnl Checks for typedefs, structures, and compiler characteristics. |
298 |
AC_TYPE_PID_T |
299 |
AC_HEADER_TIME |
300 |
AC_C_INLINE |
301 |
|
302 |
dnl Checks for library functions. |
303 |
AC_CHECK_FUNCS(rename getrusage getdtablesize srandom random sigaction) |
304 |
AC_CHECK_FUNCS(sigemptyset vsprintf strcasecmp setpgid clock dlopen) |
305 |
AC_CHECK_FUNCS(dprintf bzero uname vsnprintf) |
306 |
|
307 |
if test "x${ac_cv_func_vsprintf}" = "xno" |
308 |
then |
309 |
cat << 'EOF' >&2 |
310 |
configure: error: |
311 |
|
312 |
Your system does not have the sprintf/vsprintf libraries. |
313 |
These are required to compile almost anything. Sorry. |
314 |
|
315 |
EOF |
316 |
exit 1 |
317 |
fi |
318 |
|
319 |
if test "x${ac_cv_header_stdc}" = "xno" |
320 |
then |
321 |
cat << 'EOF' >&2 |
322 |
configure: error: |
323 |
|
324 |
Your system must support ANSI C Header files. |
325 |
These are required for the language support. Sorry. |
326 |
|
327 |
EOF |
328 |
exit 1 |
329 |
fi |
330 |
|
331 |
dnl check how much space is left in filedb (informational purposes) |
332 |
AC_MSG_CHECKING(space left in file database struct) |
333 |
cat > abacab.c << 'EOF' |
334 |
#include <stdio.h> |
335 |
#include <sys/time.h> |
336 |
#include "src/mod/filesys.mod/files.h" |
337 |
main() { |
338 |
fprintf(stdout, "%d/%d", 512-sizeof(struct filler), sizeof(filedb)); |
339 |
} |
340 |
EOF |
341 |
${CC} -o abacab abacab.c |
342 |
FILEDB_SPACE=`./abacab` |
343 |
AC_MSG_RESULT($FILEDB_SPACE bytes) |
344 |
rm -f abacab abacab.o abacab.c |
345 |
AC_MSG_RESULT([ (standard is currently 48/512 bytes)]) |
346 |
|
347 |
dnl where is tcl? is it here? |
348 |
# ---------- begin robey's tcl thingies |
349 |
# (well, what used to be robey's tcl thingies...) |
350 |
|
351 |
tclversions="8.3 8.2 8.1 8.0 7.6 7.5" |
352 |
|
353 |
tcllibnames="tcl tcl8.3 tcl83 tcl8.2 tcl82 tcl8.1 tcl81 \ |
354 |
tcl8.0 tcl80 tcl7.6 tcl76 tcl7.5 tcl75" |
355 |
|
356 |
tcllibextensions=".so .so.1 .so.1.0 .so.1.2 .a" |
357 |
|
358 |
tclheadernames="tcl.h" |
359 |
|
360 |
tcllibpaths="/usr/local/lib /usr/local/pkgs/tcl/lib \ |
361 |
/usr/lib /lib /usr/i486-linuxaout/lib \ |
362 |
$HOME/lib $HOME/tcl/lib $HOME" |
363 |
|
364 |
tclheaderpaths="/usr/local/include /usr/local/pkgs/tcl/include \ |
365 |
/usr/include $HOME/include $HOME/tcl/include $HOME" |
366 |
|
367 |
dnl oohh new configure --variables for those with multiple tcl libs |
368 |
AC_ARG_WITH(tcllib, [ --with-tcllib=PATH full path to tcl library], tcllibname=$withval) |
369 |
AC_ARG_WITH(tclinc, [ --with-tclinc=PATH full path to tcl header], tclincname=$withval) |
370 |
|
371 |
# make sure either both or neither $tcllibname and $tclincname are set |
372 |
if test ! "x${tcllibname}" = "x" |
373 |
then |
374 |
if test "x${tclincname}" = "x" |
375 |
then |
376 |
cat << 'EOF' >&2 |
377 |
configure: warning: |
378 |
|
379 |
You must specify both --with-tcllib and --with-tclinc for them to work. |
380 |
configure will now attempt to autodetect both the Tcl library and header... |
381 |
|
382 |
EOF |
383 |
tcllibname="" |
384 |
TCLLIB="" |
385 |
TCLINC="" |
386 |
fi |
387 |
else |
388 |
if test ! "x${tclincname}" = "x" |
389 |
then |
390 |
cat << 'EOF' >&2 |
391 |
configure: warning: |
392 |
|
393 |
You must specify both --with-tcllib and --with-tclinc for them to work. |
394 |
configure will now attempt to autodetect both the Tcl library and header... |
395 |
|
396 |
EOF |
397 |
tclincname="" |
398 |
TCLLIB="" |
399 |
TCLINC="" |
400 |
fi |
401 |
fi |
402 |
|
403 |
# make sure either both or neither $TCLLIB and $TCLINC are set |
404 |
if test ! "x${TCLLIB}" = "x" |
405 |
then |
406 |
if test "x${TCLINC}" = "x" |
407 |
then |
408 |
cat << 'EOF' >&2 |
409 |
configure: warning: |
410 |
|
411 |
Environment variable TCLLIB was set, but I did not detect TCLINC. |
412 |
Please set both TCLLIB and TCLINC correctly if you wish to use them. |
413 |
configure will now attempt to autodetect both the Tcl library and header... |
414 |
|
415 |
EOF |
416 |
TCLLIB="" |
417 |
fi |
418 |
else |
419 |
if test ! "x${TCLINC}" = "x" |
420 |
then |
421 |
cat << 'EOF' >&2 |
422 |
configure: warning: |
423 |
|
424 |
Environment variable TCLINC was set, but I did not detect TCLLIB. |
425 |
Please set both TCLLIB and TCLINC correctly if you wish to use them. |
426 |
configure will now attempt to autodetect both the Tcl library and header... |
427 |
|
428 |
EOF |
429 |
TCLINC="" |
430 |
fi |
431 |
fi |
432 |
|
433 |
# look for $TCLLIBFN: if $tcllibname is set, check there first |
434 |
if test ! "x${tcllibname}" = "x" |
435 |
then |
436 |
if test -f "$tcllibname" && test -r "$tcllibname" |
437 |
then |
438 |
TCLLIB=`$DIRNAME $tcllibname` |
439 |
TCLLIBEXT=".`echo $tcllibname | $AWK '{j=split($1, i, "."); k=i[[j]]; print k}'`" |
440 |
TCLLIBFN=`$BASENAME $tcllibname $TCLLIBEXT | cut -c4-` |
441 |
else |
442 |
cat << 'EOF' >&2 |
443 |
configure: warning: |
444 |
|
445 |
The filename given to option --with-tcllib is not valid. |
446 |
configure will now attempt to autodetect both the Tcl library and header... |
447 |
|
448 |
EOF |
449 |
tclincname="" |
450 |
fi |
451 |
fi |
452 |
|
453 |
# look for $TCLINCFN: if $tclincname is set, check there first |
454 |
if test ! "x${tclincname}" = "x" |
455 |
then |
456 |
if test -f "$tclincname" && test -r "$tclincname" |
457 |
then |
458 |
TCLINC=`$DIRNAME $tclincname` |
459 |
TCLINCFN=`$BASENAME $tclincname` |
460 |
else |
461 |
cat << 'EOF' >&2 |
462 |
configure: warning: |
463 |
|
464 |
The filename given to option --with-tclinc is not valid. |
465 |
configure will now attempt to autodetect both the Tcl library and header... |
466 |
|
467 |
EOF |
468 |
TCLLIB="" |
469 |
TCLLIBFN="" |
470 |
fi |
471 |
fi |
472 |
|
473 |
# look for $TCLLIBFN: if $TCLLIB is set, check there first |
474 |
if test ! "x${TCLLIB}" = "x" |
475 |
then |
476 |
if test -d "${TCLLIB}" |
477 |
then |
478 |
for tcllibfn in $tcllibnames |
479 |
do |
480 |
for tcllibext in $tcllibextensions |
481 |
do |
482 |
if test -r "$TCLLIB/lib$tcllibfn$tcllibext" |
483 |
then |
484 |
TCLLIBFN=$tcllibfn |
485 |
TCLLIBEXT=$tcllibext |
486 |
break 2 |
487 |
fi |
488 |
done |
489 |
done |
490 |
fi |
491 |
if test "x${TCLLIBFN}" = "x" |
492 |
then |
493 |
cat << 'EOF' >&2 |
494 |
configure: warning: |
495 |
|
496 |
Environment variable TCLLIB was set, but incorrect. |
497 |
Please set both TCLLIB and TCLINC correctly if you wish to use them. |
498 |
configure will now attempt to autodetect both the Tcl library and header... |
499 |
|
500 |
EOF |
501 |
TCLLIB="" |
502 |
TCLLIBFN="" |
503 |
TCLINC="" |
504 |
TCLINCFN="" |
505 |
fi |
506 |
fi |
507 |
|
508 |
# look for $TCLINCFN: if $TCLINC is set, check there first |
509 |
if test ! "x${TCLINC}" = "x" |
510 |
then |
511 |
if test -d "${TCLINC}" |
512 |
then |
513 |
for tclheaderfn in $tclheadernames |
514 |
do |
515 |
if test -r "$TCLINC/$tclheaderfn" |
516 |
then |
517 |
TCLINCFN=$tclheaderfn |
518 |
fi |
519 |
done |
520 |
fi |
521 |
if test "x${TCLINCFN}" = "x" |
522 |
then |
523 |
cat << 'EOF' >&2 |
524 |
configure: warning: |
525 |
|
526 |
Environment variable TCLINC was set, but incorrect. |
527 |
Please set both TCLLIB and TCLINC correctly if you wish to use them. |
528 |
configure will now attempt to autodetect both the Tcl library and header... |
529 |
|
530 |
EOF |
531 |
TCLLIB="" |
532 |
TCLLIBFN="" |
533 |
TCLINC="" |
534 |
TCLINCFN="" |
535 |
fi |
536 |
fi |
537 |
|
538 |
AC_MSG_CHECKING(for Tcl library) |
539 |
|
540 |
# attempt autodetect for $TCLLIBFN if not set |
541 |
if test ! "x${TCLLIBFN}" = "x" |
542 |
then |
543 |
AC_MSG_RESULT(using $TCLLIB/lib$TCLLIBFN$TCLLIBEXT) |
544 |
else |
545 |
for tcllibfn in $tcllibnames |
546 |
do |
547 |
for tcllibext in $tcllibextensions |
548 |
do |
549 |
for tcllibpath in $tcllibpaths |
550 |
do |
551 |
if test -r "$tcllibpath/lib$tcllibfn$tcllibext" |
552 |
then |
553 |
AC_MSG_RESULT(found $tcllibpath/lib$tcllibfn$tcllibext) |
554 |
TCLLIB=$tcllibpath |
555 |
TCLLIBFN=$tcllibfn |
556 |
TCLLIBEXT=$tcllibext |
557 |
break 3 |
558 |
fi |
559 |
done |
560 |
done |
561 |
done |
562 |
fi |
563 |
|
564 |
# show if $TCLLIBFN wasn't found |
565 |
if test "x${TCLLIBFN}" = "x" |
566 |
then |
567 |
AC_MSG_RESULT(not found) |
568 |
fi |
569 |
|
570 |
AC_MSG_CHECKING(for Tcl header) |
571 |
|
572 |
# attempt autodetect for $TCLINCFN if not set |
573 |
if test ! "x${TCLINCFN}" = "x" |
574 |
then |
575 |
AC_MSG_RESULT(using $TCLINC/$TCLINCFN) |
576 |
else |
577 |
for headerpath in $tclheaderpaths |
578 |
do |
579 |
for tclheaderfn in $tclheadernames |
580 |
do |
581 |
if test -r "$headerpath/$tclheaderfn" |
582 |
then |
583 |
AC_MSG_RESULT(found $headerpath/$tclheaderfn) |
584 |
TCLINC=$headerpath |
585 |
TCLINCFN=$tclheaderfn |
586 |
break 2 |
587 |
fi |
588 |
done |
589 |
done |
590 |
# FreeBSD hack ... |
591 |
if test "x${TCLINCFN}" = "x" |
592 |
then |
593 |
for tclversion in $tclversions |
594 |
do |
595 |
for headerpath in $tclheaderpaths |
596 |
do |
597 |
for tclheaderfn in $tclheadernames |
598 |
do |
599 |
if test -r "$headerpath/tcl$tclversion/$tclheaderfn" |
600 |
then |
601 |
AC_MSG_RESULT(found $headerpath/tcl$tclversion/$tclheaderfn) |
602 |
TCLINC=$headerpath/tcl$tclversion |
603 |
TCLINCFN=$tclheaderfn |
604 |
break 3 |
605 |
fi |
606 |
done |
607 |
done |
608 |
done |
609 |
fi |
610 |
fi |
611 |
|
612 |
# show if $TCLINCFN wasn't found |
613 |
if test "x${TCLINCFN}" = "x" |
614 |
then |
615 |
AC_MSG_RESULT(not found) |
616 |
fi |
617 |
|
618 |
# done looking, now either TCLLIBFN & TCLINCFN are both set, or we bail |
619 |
if test "x${TCLLIBFN}" = "x" || test "x${TCLINCFN}" = "x" |
620 |
then |
621 |
cat << 'EOF' >&2 |
622 |
configure: error: |
623 |
|
624 |
I can't find Tcl on this system. |
625 |
|
626 |
Eggdrop now requires Tcl to compile. If you already have Tcl |
627 |
installed on this system, and I just wasn't looking in the right |
628 |
place for it, set the environment variables TCLLIB and TCLINC so |
629 |
I will know where to find 'libtcl.a' (or 'libtcl.so') and 'tcl.h' |
630 |
(respectively). Then run 'configure' again. |
631 |
|
632 |
Read the README file if you don't know what Tcl is or how to get |
633 |
it and install it. |
634 |
|
635 |
EOF |
636 |
exit 1 |
637 |
else |
638 |
|
639 |
AC_MSG_CHECKING(for Tcl version) |
640 |
|
641 |
for ver in $tclversions |
642 |
do |
643 |
TCLFOUND=`grep TCL_VERSION $TCLINC/$TCLINCFN | grep $ver | wc -l` |
644 |
if test ! $TCLFOUND = 0 |
645 |
then |
646 |
TCLVER=$ver |
647 |
break |
648 |
fi |
649 |
done |
650 |
|
651 |
if test ! "x${TCLVER}" = "x" |
652 |
then |
653 |
AC_MSG_RESULT($TCLVER found!) |
654 |
else |
655 |
AC_MSG_RESULT(hmm... unknown version) |
656 |
fi |
657 |
|
658 |
if test $TCLFOUND = 1 |
659 |
then |
660 |
TCL_REQS="$TCLLIB/lib$TCLLIBFN$TCLLIBEXT" |
661 |
TCL_LIBS="-L$TCLLIB -l$TCLLIBFN -lm" |
662 |
else |
663 |
cat << 'EOF' >&2 |
664 |
configure: error: |
665 |
|
666 |
Your Tcl version is much too old for eggdrop to use. |
667 |
I suggest you download and complie a more recent version. |
668 |
The most reliable current version is 8.2.1 |
669 |
|
670 |
EOF |
671 |
exit 1 |
672 |
fi |
673 |
|
674 |
if test "x${TCLLIBEXT}" = "x.a" |
675 |
then |
676 |
cat << 'EOF' >&2 |
677 |
configure: warning: |
678 |
|
679 |
Your libtcl is not a shared library. |
680 |
configure will set default make type to static... |
681 |
|
682 |
EOF |
683 |
DEFAULT_MAKE=static |
684 |
fi |
685 |
|
686 |
fi # test TCLLIB |
687 |
|
688 |
AC_SUBST(TCLINC) |
689 |
AC_SUBST(TCLLIB) |
690 |
AC_SUBST(TCLINCFN) |
691 |
AC_SUBST(TCL_REQS) |
692 |
AC_SUBST(TCL_LIBS) |
693 |
|
694 |
# ---------- end of robey's tcl thingies |
695 |
|
696 |
if test $need_dl = 1 && test "x${ac_cv_func_dlopen}" = "xno" |
697 |
then |
698 |
if test "$LINUX" = "yes" |
699 |
then |
700 |
cat << 'EOF' >&2 |
701 |
configure: warning: |
702 |
|
703 |
Since you are on a Linux system, this has a known problem, |
704 |
I know a kludge for it, |
705 |
EOF |
706 |
|
707 |
if test -r "/lib/libdl.so.1" |
708 |
then |
709 |
cat << 'EOF' >&2 |
710 |
and you seem to have it, so we'll do that... |
711 |
|
712 |
EOF |
713 |
AC_DEFINE(HAVE_DLOPEN) |
714 |
LIBS="/lib/libdl.so.1 $LIBS" |
715 |
else |
716 |
cat << 'EOF' >&2 |
717 |
which you DONT seem to have... doh! |
718 |
perhaps you may still have the stuff lying around somewhere |
719 |
if you work out where it is, add it to your XLIBS= lines |
720 |
and #define HAVE_DLOPEN in config.h |
721 |
|
722 |
we'll proceed on anyway, but you probably won't be able |
723 |
to 'make eggdrop' but you might be able to make the |
724 |
static bot (I'll default your make to this version). |
725 |
|
726 |
EOF |
727 |
DEFAULT_MAKE=static |
728 |
fi |
729 |
else |
730 |
cat << 'EOF' >&2 |
731 |
configure: warning: |
732 |
|
733 |
You don't seem to have libdl anywhere I can find it, this will |
734 |
prevent you from doing dynamic modules, I'll set your default |
735 |
make to static linking. |
736 |
|
737 |
EOF |
738 |
DEFAULT_MAKE=static |
739 |
fi |
740 |
fi |
741 |
|
742 |
if test ! "x${GMAKE}" = "x" |
743 |
then |
744 |
SET_MAKE="MAKE=gmake" |
745 |
fi |
746 |
|
747 |
if test -z "$DEST" |
748 |
then |
749 |
DEST=\${prefix} |
750 |
fi |
751 |
|
752 |
AC_SUBST(DEST) |
753 |
AC_SUBST(CP1) |
754 |
AC_SUBST(CP2) |
755 |
AC_SUBST(CP3) |
756 |
AC_SUBST(EGGEXEC) |
757 |
AC_SUBST(CC) |
758 |
AC_SUBST(SHLIB_LD) |
759 |
AC_SUBST(SHLIB_CC) |
760 |
AC_SUBST(SHLIB_STRIP) |
761 |
AC_SUBST(RESLIB) |
762 |
AC_SUBST(BEL_MOD_LD) |
763 |
AC_SUBST(BEL_MOD_CC) |
764 |
AC_SUBST(BEL_MOD_STRIP) |
765 |
AC_SUBST(DLFLAGS) |
766 |
AC_SUBST(DEFAULT_MAKE) |
767 |
AC_OUTPUT(Makefile lush.h) |
768 |
|
769 |
AC_MSG_RESULT() |
770 |
AC_MSG_RESULT(Configure is done.) |
771 |
AC_MSG_RESULT() |
772 |
if test -f "./eggdrop" |
773 |
then |
774 |
AC_MSG_RESULT(Type 'make clean' and then 'make' to create the bot.) |
775 |
else |
776 |
AC_MSG_RESULT(Type 'make' to create the bot.) |
777 |
fi |
778 |
AC_MSG_RESULT() |