/[cvs]/eggdrop-alpha/aclocal.m4
ViewVC logotype

Annotation of /eggdrop-alpha/aclocal.m4

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.5 - (hide annotations) (download)
Wed Apr 25 09:33:42 2001 UTC (19 years, 1 month ago) by tothwolf
Branch: MAIN
Changes since 1.4: +11 -28 lines
sync with 1.6.5-CVS-987657030

1 tothwolf 1.1 dnl aclocal.m4
2     dnl macros autoconf uses when building configure from configure.in
3     dnl
4 tothwolf 1.5 dnl $Id: aclocal.m4,v 1.4 2001/02/15 22:13:36 tothwolf Exp $
5 tothwolf 1.1 dnl
6    
7    
8     dnl EGG_MSG_CONFIGURE_START()
9     dnl
10     AC_DEFUN(EGG_MSG_CONFIGURE_START, [dnl
11     AC_MSG_RESULT()
12     AC_MSG_RESULT(This is eggdrop's GNU configure script.)
13     AC_MSG_RESULT(It's going to run a bunch of strange tests to hopefully)
14     AC_MSG_RESULT(make your compile work without much twiddling.)
15     AC_MSG_RESULT()
16     ])dnl
17    
18    
19     dnl EGG_MSG_CONFIGURE_END()
20     dnl
21     AC_DEFUN(EGG_MSG_CONFIGURE_END, [dnl
22     AC_MSG_RESULT()
23     AC_MSG_RESULT(Configure is done.)
24     AC_MSG_RESULT()
25 tothwolf 1.4 AC_MSG_RESULT(Type 'make config' to configure modules. Or 'make iconfig' to)
26 tothwolf 1.1 AC_MSG_RESULT(interactively choose which modules to compile.)
27     AC_MSG_RESULT()
28     if test -f "./$EGGEXEC"
29     then
30     AC_MSG_RESULT([After that, type 'make clean' and then 'make' to create the bot.])
31     else
32     AC_MSG_RESULT([After that, type 'make' to create the bot.])
33     fi
34     AC_MSG_RESULT()
35     ])dnl
36    
37    
38     dnl EGG_CHECK_CC()
39     dnl
40     dnl FIXME: make a better test
41     AC_DEFUN(EGG_CHECK_CC, [dnl
42     if test "x${cross_compiling}" = "x"
43     then
44     cat << 'EOF' >&2
45     configure: error:
46    
47     This system does not appear to have a working C compiler.
48     A working C compiler is required to compile eggdrop.
49    
50     EOF
51     exit 1
52     fi
53     ])dnl
54    
55    
56     dnl EGG_CHECK_CCPIPE()
57     dnl
58     dnl Checks whether the compiler supports the `-pipe' flag, which
59     dnl speeds up the compilation.
60     AC_DEFUN(EGG_CHECK_CCPIPE, [dnl
61     if test -z "$no_pipe"
62     then
63     if test -n "$GCC"
64     then
65     AC_CACHE_CHECK(whether the compiler understands -pipe, egg_cv_var_ccpipe,
66     [dnl
67     ac_old_CC="$CC"
68     CC="$CC -pipe"
69     AC_TRY_COMPILE(,, egg_cv_var_ccpipe="yes", egg_cv_var_ccpipe="no")
70     CC="$ac_old_CC"
71     ])
72     if test "x$egg_cv_var_ccpipe" = "xyes"; then
73     CC="$CC -pipe"
74     fi
75     fi
76     fi
77     ])dnl
78    
79    
80     dnl EGG_PROG_STRIP()
81     dnl
82     AC_DEFUN(EGG_PROG_STRIP, [dnl
83     AC_CHECK_PROG(STRIP,strip,strip)
84     if test "x${STRIP}" = "x"
85     then
86     STRIP=touch
87     fi
88     ])dnl
89    
90    
91     dnl EGG_PROG_AWK()
92     dnl
93     AC_DEFUN(EGG_PROG_AWK, [dnl
94     # awk is needed for Tcl library and header checks, and eggdrop version subst
95     AC_PROG_AWK
96     if test "x${AWK}" = "x"
97     then
98     cat << 'EOF' >&2
99     configure: error:
100    
101     This system seems to lack a working 'awk' command.
102     A working 'awk' command is required to compile eggdrop.
103    
104     EOF
105     exit 1
106     fi
107     ])dnl
108    
109    
110     dnl EGG_PROG_BASENAME()
111     dnl
112     AC_DEFUN(EGG_PROG_BASENAME, [dnl
113     # basename is needed for Tcl library and header checks
114     AC_CHECK_PROG(BASENAME, basename, basename)
115     if test "x${BASENAME}" = "x"
116     then
117     cat << 'EOF' >&2
118     configure: error:
119    
120     This system seems to lack a working 'basename' command.
121     A working 'basename' command is required to compile eggdrop.
122    
123     EOF
124     exit 1
125     fi
126     ])dnl
127    
128    
129     dnl EGG_CHECK_OS()
130     dnl
131     AC_DEFUN(EGG_CHECK_OS, [dnl
132     LINUX=no
133     IRIX=no
134     SUNOS=no
135     HPUX=no
136     MOD_CC="${CC}"
137     MOD_LD="${CC}"
138     MOD_STRIP="${STRIP}"
139     SHLIB_CC="${CC}"
140     SHLIB_LD="${CC}"
141     SHLIB_STRIP="${STRIP}"
142     NEED_DL=1
143     DEFAULT_MAKE=debug
144     MOD_EXT=so
145    
146     AC_MSG_CHECKING(your os)
147     AC_CACHE_VAL(egg_cv_var_system, [egg_cv_var_system=`${UNAME}`])
148    
149     case "$egg_cv_var_system" in
150     BSD/OS)
151     bsd_version=`${UNAME} -r | cut -d . -f 1`
152     case "$bsd_version" in
153     2)
154     AC_MSG_RESULT(BSD/OS 2)
155     NEED_DL=0
156     DEFAULT_MAKE=static
157     ;;
158     3)
159     AC_MSG_RESULT(BSD/OS 3)
160     MOD_CC=shlicc
161     MOD_LD=shlicc
162     MOD_STRIP="${STRIP} -d"
163     SHLIB_LD="shlicc -r"
164     SHLIB_STRIP=touch
165     AC_DEFINE(MODULES_OK)dnl
166     ;;
167     *)
168     AC_MSG_RESULT(BSD/OS 4+)
169     CFLAGS="$CFLAGS -Wall"
170     MOD_LD="${CC} "
171     MOD_STRIP="${STRIP} -d"
172 tothwolf 1.2 SHLIB_CC="${CC} -export-dynamic -fPIC"
173 tothwolf 1.1 SHLIB_LD="${CC} -shared -nostartfiles"
174     AC_DEFINE(MODULES_OK)dnl
175     ;;
176     esac
177     ;;
178     CYGWIN*)
179     cygwin_version=`${UNAME} -r | cut -c 1-3`
180     case "$cygwin_version" in
181     1.*)
182     AC_MSG_RESULT(Cygwin 1.x)
183     NEED_DL=0
184     MOD_LD="${CC}"
185     SHLIB_LD="${CC} -shared"
186     MOD_EXT=dll
187     AC_DEFINE(MODULES_OK)dnl
188     ;;
189     *)
190     AC_MSG_RESULT(Cygwin pre 1.0 or unknown)
191     NEED_DL=0
192     DEFAULT_MAKE=static
193     ;;
194     esac
195     ;;
196     HP-UX)
197     AC_MSG_RESULT(HP-UX)
198     HPUX=yes
199     MOD_LD="${CC} -fPIC -shared"
200     SHLIB_CC="${CC} -fPIC"
201     SHLIB_LD="ld -b"
202     NEED_DL=0
203     AC_DEFINE(MODULES_OK)dnl
204     AC_DEFINE(HPUX_HACKS)dnl
205     if test "x`${UNAME} -r | cut -d . -f 2`" = "x10"
206     then
207     AC_DEFINE(HPUX10_HACKS)dnl
208     fi
209     ;;
210     dell)
211     AC_MSG_RESULT(Dell SVR4)
212     SHLIB_STRIP=touch
213     NEED_DL=0
214     MOD_LD="${CC} -lelf -lucb"
215 tothwolf 1.2 ;;
216 tothwolf 1.5 IRIX)
217     echo "$ac_t""IRIX (Have fun with IRIX 4.+!)" 1>&6
218 tothwolf 1.1 SHLIB_LD="ld -n32 -shared -rdata_shared"
219     IRIX=yes
220     SHLIB_STRIP=touch
221     NEED_DL=0
222     DEFAULT_MAKE=static
223     ;;
224     Ultrix)
225     AC_MSG_RESULT(Ultrix)
226     NEED_DL=0
227     SHLIB_STRIP=touch
228     DEFAULT_MAKE=static
229     SHELL=/bin/sh5
230     ;;
231     SINIX*)
232     AC_MSG_RESULT(SINIX)
233     NEED_DL=0
234     SHLIB_STRIP=touch
235     DEFAULT_MAKE=static
236     SHLIB_CC="cc -G"
237     ;;
238     BeOS)
239     AC_MSG_RESULT(BeOS)
240     NEED_DL=0
241     SHLIB_STRIP=strip
242     DEFAULT_MAKE=static
243     ;;
244     Linux)
245     AC_MSG_RESULT(Linux)
246     LINUX=yes
247     CFLAGS="$CFLAGS -Wall"
248     MOD_LD="${CC}"
249     SHLIB_CC="${CC} -fPIC"
250     SHLIB_LD="${CC} -shared -nostartfiles"
251     AC_DEFINE(MODULES_OK)dnl
252     ;;
253     Lynx)
254     AC_MSG_RESULT(Lynx OS)
255 tothwolf 1.2 NEED_DL=0
256 tothwolf 1.1 DEFAULT_MAKE=static
257     SHLIB_STRIP=strip
258     ;;
259     OSF1)
260     AC_MSG_RESULT(OSF)
261     case `${UNAME} -r | cut -d . -f 1` in
262     V*)
263     AC_MSG_RESULT([ Digital OSF])
264     if test "x$AWK" = "xgawk"
265     then
266     AWK=awk
267     fi
268     MOD_CC=cc
269     MOD_LD=cc
270     SHLIB_CC=cc
271     SHLIB_LD="ld -shared -expect_unresolved \"'*'\""
272     SHLIB_STRIP=touch
273     AC_DEFINE(MODULES_OK)dnl
274     ;;
275     1.0|1.1|1.2)
276     AC_MSG_RESULT([ pre 1.3])
277     SHLIB_LD="ld -R -export $@:"
278     AC_DEFINE(MODULES_OK)dnl
279     AC_DEFINE(OSF1_HACKS)dnl
280     ;;
281     1.*)
282     AC_MSG_RESULT([ 1.3+])
283     SHLIB_CC="${CC} -fpic"
284     SHLIB_LD="ld -shared"
285     AC_DEFINE(MODULES_OK)dnl
286     AC_DEFINE(OSF1_HACKS)dnl
287     ;;
288     *)
289     AC_MSG_RESULT([ Some other weird OSF! No modules for you...])
290     NEED_DL=0
291     DEFAULT_MAKE=static
292     ;;
293     esac
294     AC_DEFINE(STOP_UAC)dnl
295     ;;
296     SunOS)
297     if test "x`${UNAME} -r | cut -d . -f 1`" = "x5"
298     then
299     AC_MSG_RESULT(Solaris)
300 tothwolf 1.5 if test -n "$GCC"
301     then
302     SHLIB_CC="${CC} -fPIC"
303     SHLIB_LD="${CC}"
304     else
305     SHLIB_CC="${CC} -KPIC"
306     SHLIB_LD="${CC} -G -z text"
307     fi
308 tothwolf 1.1 else
309     AC_MSG_RESULT(SunOS)
310     SUNOS=yes
311     SHLIB_LD=ld
312     SHLIB_CC="${CC} -PIC"
313     AC_DEFINE(DLOPEN_1)dnl
314     fi
315     AC_DEFINE(MODULES_OK)dnl
316     ;;
317     *BSD)
318     AC_MSG_RESULT(FreeBSD/NetBSD/OpenBSD - choose your poison)
319     SHLIB_CC="${CC} -fPIC"
320     SHLIB_LD="ld -Bshareable -x"
321     AC_DEFINE(MODULES_OK)dnl
322     ;;
323     *)
324     if test -r "/mach"
325     then
326     AC_MSG_RESULT(Something Mach based)
327     NEED_DL=0
328     DEFAULT_MAKE=static
329     AC_DEFINE(BORGCUBES)dnl
330     else
331     if test -r "/cmds"
332     then
333     AC_MSG_RESULT(QNX)
334     SHLIB_STRIP=touch
335     NEED_DL=0
336     DEFAULT_MAKE=static
337     else
338     AC_MSG_RESULT(Something unknown!)
339     AC_MSG_RESULT([If you get dynamic modules to work, be sure to let the devel team know HOW :)])
340     NEED_DL=0
341     DEFAULT_MAKE=static
342     fi
343     fi
344     ;;
345     esac
346     AC_SUBST(MOD_LD)dnl
347     AC_SUBST(MOD_CC)dnl
348     AC_SUBST(MOD_STRIP)dnl
349     AC_SUBST(SHLIB_LD)dnl
350     AC_SUBST(SHLIB_CC)dnl
351     AC_SUBST(SHLIB_STRIP)dnl
352     AC_SUBST(DEFAULT_MAKE)dnl
353     AC_SUBST(MOD_EXT)dnl
354     AC_DEFINE_UNQUOTED(EGG_MOD_EXT, "${MOD_EXT}")dnl
355     ])dnl
356    
357    
358     dnl EGG_CHECK_LIBS()
359     dnl
360     AC_DEFUN(EGG_CHECK_LIBS, [dnl
361     if test "$IRIX" = "yes"
362     then
363     AC_MSG_WARN(Skipping library tests because they CONFUSE Irix.)
364     else
365     AC_CHECK_LIB(socket, socket)
366     AC_CHECK_LIB(nsl, connect)
367     AC_CHECK_LIB(dns, gethostbyname)
368     AC_CHECK_LIB(dl, dlopen)
369     AC_CHECK_LIB(m, tan, EGG_MATH_LIB="-lm")
370     # This is needed for Tcl libraries compiled with thread support
371     AC_CHECK_LIB(pthread, pthread_mutex_init,
372     ac_cv_lib_pthread_pthread_mutex_init=yes,
373     ac_cv_lib_pthread_pthread_mutex_init=no)
374     if test "$SUNOS" = "yes"
375     then
376     # For suns without yp or something like that
377     AC_CHECK_LIB(dl, main)
378     else
379     if test "$HPUX" = "yes"
380     then
381     AC_CHECK_LIB(dld, shl_load)
382     fi
383 tothwolf 1.3 fi
384     fi
385     ])dnl
386    
387    
388     dnl
389     dnl EGG_CHECK_32BIT_TYPE()
390     AC_DEFUN(EGG_CHECK_32BIT_TYPE, [dnl
391     AC_CHECK_SIZEOF(unsigned int, 4)
392     if test "$ac_cv_sizeof_unsigned_int" = 4
393     then
394     AC_DEFINE(UNSIGNED_INT32)
395     else
396     AC_CHECK_SIZEOF(unsigned long, 4)
397     if test "$ac_cv_sizeof_unsigned_long" = 4
398     then
399     AC_DEFINE(UNSIGNED_LONG32)
400 tothwolf 1.1 fi
401     fi
402     ])dnl
403    
404    
405     dnl EGG_CHECK_FUNC_VSPRINTF()
406     dnl
407     AC_DEFUN(EGG_CHECK_FUNC_VSPRINTF, [dnl
408     AC_CHECK_FUNCS(vsprintf)
409     if test "x${ac_cv_func_vsprintf}" = "xno"
410     then
411     cat << 'EOF' >&2
412     configure: error:
413    
414     Your system does not have the sprintf/vsprintf libraries.
415     These are required to compile almost anything. Sorry.
416    
417     EOF
418     exit 1
419     fi
420     ])dnl
421    
422    
423     dnl EGG_HEADER_STDC()
424     dnl
425     AC_DEFUN(EGG_HEADER_STDC, [dnl
426     if test "x${ac_cv_header_stdc}" = "xno"
427     then
428     cat << 'EOF' >&2
429     configure: error:
430    
431     Your system must support ANSI C Header files.
432     These are required for the language support. Sorry.
433    
434     EOF
435     exit 1
436     fi
437     ])dnl
438    
439    
440     dnl EGG_CYGWIN()
441     dnl
442     dnl Check for Cygwin support.
443     AC_DEFUN(EGG_CYGWIN, [dnl
444     AC_CYGWIN
445     if test ! "x${CYGWIN}" = "x"
446     then
447     AC_DEFINE(CYGWIN_HACKS)dnl
448     fi
449     ])dnl
450    
451    
452     dnl EGG_EXEEXT()
453     dnl
454     dnl Test for executable suffix and define eggdrop's executable name
455     dnl accordingly.
456     AC_DEFUN(EGG_EXEEXT, [dnl
457     EGGEXEC=eggdrop
458     AC_EXEEXT
459     if test ! "x${EXEEXT}" = "x"
460     then
461     EGGEXEC=eggdrop${EXEEXT}
462     fi
463     AC_SUBST(EGGEXEC)dnl
464     ])dnl
465    
466    
467     dnl EGG_TCL_ARG_WITH()
468     dnl
469     AC_DEFUN(EGG_TCL_ARG_WITH, [dnl
470     # oohh new configure --variables for those with multiple tcl libs
471     AC_ARG_WITH(tcllib, [ --with-tcllib=PATH full path to tcl library], tcllibname=$withval)
472     AC_ARG_WITH(tclinc, [ --with-tclinc=PATH full path to tcl header], tclincname=$withval)
473    
474     WARN=0
475     # Make sure either both or neither $tcllibname and $tclincname are set
476     if test ! "x${tcllibname}" = "x"
477     then
478     if test "x${tclincname}" = "x"
479     then
480     WARN=1
481     tcllibname=""
482     TCLLIB=""
483     TCLINC=""
484     fi
485     else
486     if test ! "x${tclincname}" = "x"
487     then
488     WARN=1
489     tclincname=""
490     TCLLIB=""
491     TCLINC=""
492     fi
493     fi
494     if test ${WARN} = 1
495     then
496     cat << 'EOF' >&2
497     configure: warning:
498    
499     You must specify both --with-tcllib and --with-tclinc for them to work.
500     configure will now attempt to autodetect both the Tcl library and header...
501    
502     EOF
503     fi
504     ])dnl
505    
506    
507     dnl EGG_TCL_ENV()
508     dnl
509     AC_DEFUN(EGG_TCL_ENV, [dnl
510     WARN=0
511     # Make sure either both or neither $TCLLIB and $TCLINC are set
512     if test ! "x${TCLLIB}" = "x"
513     then
514     if test "x${TCLINC}" = "x"
515     then
516     WARN=1
517     WVAR1=TCLLIB
518     WVAR2=TCLINC
519     TCLLIB=""
520     fi
521     else
522     if test ! "x${TCLINC}" = "x"
523     then
524     WARN=1
525     WVAR1=TCLINC
526     WVAR2=TCLLIB
527     TCLINC=""
528     fi
529     fi
530     if test ${WARN} = 1
531     then
532     cat << EOF >&2
533     configure: warning:
534    
535     Environment variable ${WVAR1} was set, but I did not detect ${WVAR2}.
536     Please set both TCLLIB and TCLINC correctly if you wish to use them.
537     configure will now attempt to autodetect both the Tcl library and header...
538    
539     EOF
540     fi
541     ])dnl
542    
543    
544     dnl EGG_TCL_WITH_TCLLIB()
545     dnl
546     AC_DEFUN(EGG_TCL_WITH_TCLLIB, [dnl
547     # Look for Tcl library: if $tcllibname is set, check there first
548     if test ! "x${tcllibname}" = "x"
549     then
550     if test -f "$tcllibname" && test -r "$tcllibname"
551     then
552     TCLLIB=`echo $tcllibname | sed 's%/[[^/]][[^/]]*$%%'`
553     TCLLIBFN=`$BASENAME $tcllibname | cut -c4-`
554     TCLLIBEXT=".`echo $TCLLIBFN | $AWK '{j=split([$]1, i, "."); print i[[j]]}'`"
555     TCLLIBFNS=`$BASENAME $tcllibname $TCLLIBEXT | cut -c4-`
556     else
557     cat << EOF >&2
558     configure: warning:
559    
560     The file '$tcllibname' given to option --with-tcllib is not valid.
561     configure will now attempt to autodetect both the Tcl library and header...
562    
563     EOF
564     tcllibname=""
565     tclincname=""
566     TCLLIB=""
567     TCLLIBFN=""
568     TCLINC=""
569     TCLINCFN=""
570     fi
571     fi
572     ])dnl
573    
574    
575     dnl EGG_TCL_WITH_TCLINC()
576     dnl
577     AC_DEFUN(EGG_TCL_WITH_TCLINC, [dnl
578     # Look for Tcl header: if $tclincname is set, check there first
579     if test ! "x${tclincname}" = "x"
580     then
581     if test -f "$tclincname" && test -r "$tclincname"
582     then
583     TCLINC=`echo $tclincname | sed 's%/[[^/]][[^/]]*$%%'`
584     TCLINCFN=`$BASENAME $tclincname`
585     else
586     cat << EOF >&2
587     configure: warning:
588    
589     The file '$tclincname' given to option --with-tclinc is not valid.
590     configure will now attempt to autodetect both the Tcl library and header...
591    
592     EOF
593     tcllibname=""
594     tclincname=""
595     TCLLIB=""
596     TCLLIBFN=""
597     TCLINC=""
598     TCLINCFN=""
599     fi
600     fi
601     ])dnl
602    
603    
604     dnl EGG_TCL_FIND_LIBRARY()
605     dnl
606     AC_DEFUN(EGG_TCL_FIND_LIBRARY, [dnl
607     # Look for Tcl library: if $TCLLIB is set, check there first
608     if test "x${TCLLIBFN}" = "x"
609     then
610     if test ! "x${TCLLIB}" = "x"
611     then
612     if test -d "${TCLLIB}"
613     then
614     for tcllibfns in $tcllibnames
615     do
616     for tcllibext in $tcllibextensions
617     do
618     if test -r "$TCLLIB/lib$tcllibfns$tcllibext"
619     then
620     TCLLIBFN=$tcllibfns$tcllibext
621     TCLLIBEXT=$tcllibext
622     TCLLIBFNS=$tcllibfns
623     break 2
624     fi
625     done
626     done
627     fi
628     if test "x${TCLLIBFN}" = "x"
629     then
630     cat << 'EOF' >&2
631     configure: warning:
632    
633     Environment variable TCLLIB was set, but incorrect.
634     Please set both TCLLIB and TCLINC correctly if you wish to use them.
635     configure will now attempt to autodetect both the Tcl library and header...
636    
637     EOF
638     TCLLIB=""
639     TCLLIBFN=""
640     TCLINC=""
641     TCLINCFN=""
642     fi
643     fi
644     fi
645     ])dnl
646    
647    
648     dnl EGG_TCL_FIND_HEADER()
649     dnl
650     AC_DEFUN(EGG_TCL_FIND_HEADER, [dnl
651     # Look for Tcl header: if $TCLINC is set, check there first
652     if test "x${TCLINCFN}" = "x"
653     then
654     if test ! "x${TCLINC}" = "x"
655     then
656     if test -d "${TCLINC}"
657     then
658     for tclheaderfn in $tclheadernames
659     do
660     if test -r "$TCLINC/$tclheaderfn"
661     then
662     TCLINCFN=$tclheaderfn
663     break
664     fi
665     done
666     fi
667     if test "x${TCLINCFN}" = "x"
668     then
669     cat << 'EOF' >&2
670     configure: warning:
671    
672     Environment variable TCLINC was set, but incorrect.
673     Please set both TCLLIB and TCLINC correctly if you wish to use them.
674     configure will now attempt to autodetect both the Tcl library and header...
675    
676     EOF
677     TCLLIB=""
678     TCLLIBFN=""
679     TCLINC=""
680     TCLINCFN=""
681     fi
682     fi
683     fi
684     ])dnl
685    
686    
687     dnl EGG_TCL_CHECK_LIBRARY()
688     dnl
689     AC_DEFUN(EGG_TCL_CHECK_LIBRARY, [dnl
690     AC_MSG_CHECKING(for Tcl library)
691    
692     # Attempt autodetect for $TCLLIBFN if it's not set
693     if test ! "x${TCLLIBFN}" = "x"
694     then
695     AC_MSG_RESULT(using $TCLLIB/lib$TCLLIBFN)
696     else
697     for tcllibfns in $tcllibnames
698     do
699     for tcllibext in $tcllibextensions
700     do
701     for tcllibpath in $tcllibpaths
702     do
703     if test -r "$tcllibpath/lib$tcllibfns$tcllibext"
704     then
705     AC_MSG_RESULT(found $tcllibpath/lib$tcllibfns$tcllibext)
706     TCLLIB=$tcllibpath
707     TCLLIBFN=$tcllibfns$tcllibext
708     TCLLIBEXT=$tcllibext
709     TCLLIBFNS=$tcllibfns
710     break 3
711     fi
712     done
713     done
714     done
715     fi
716    
717     # Show if $TCLLIBFN wasn't found
718     if test "x${TCLLIBFN}" = "x"
719     then
720     AC_MSG_RESULT(not found)
721     fi
722     AC_SUBST(TCLLIB)dnl
723     AC_SUBST(TCLLIBFN)dnl
724     ])dnl
725    
726    
727     dnl EGG_TCL_CHECK_HEADER()
728     dnl
729     AC_DEFUN(EGG_TCL_CHECK_HEADER, [dnl
730     AC_MSG_CHECKING(for Tcl header)
731    
732     # Attempt autodetect for $TCLINCFN if it's not set
733     if test ! "x${TCLINCFN}" = "x"
734     then
735     AC_MSG_RESULT(using $TCLINC/$TCLINCFN)
736     else
737     for tclheaderpath in $tclheaderpaths
738     do
739     for tclheaderfn in $tclheadernames
740     do
741     if test -r "$tclheaderpath/$tclheaderfn"
742     then
743     AC_MSG_RESULT(found $tclheaderpath/$tclheaderfn)
744     TCLINC=$tclheaderpath
745     TCLINCFN=$tclheaderfn
746     break 2
747     fi
748     done
749     done
750     # FreeBSD hack ...
751     if test "x${TCLINCFN}" = "x"
752     then
753     for tcllibfns in $tcllibnames
754     do
755     for tclheaderpath in $tclheaderpaths
756     do
757     for tclheaderfn in $tclheadernames
758     do
759     if test -r "$tclheaderpath/$tcllibfns/$tclheaderfn"
760     then
761     AC_MSG_RESULT(found $tclheaderpath/$tcllibfns/$tclheaderfn)
762     TCLINC=$tclheaderpath/$tcllibfns
763     TCLINCFN=$tclheaderfn
764     break 3
765     fi
766     done
767     done
768     done
769     fi
770     fi
771    
772     # Show if $TCLINCFN wasn't found
773     if test "x${TCLINCFN}" = "x"
774     then
775     AC_MSG_RESULT(not found)
776     fi
777     AC_SUBST(TCLINC)dnl
778     AC_SUBST(TCLINCFN)dnl
779     ])dnl
780    
781    
782     dnl EGG_CACHE_UNSET(CACHE-ID)
783     dnl
784     dnl Unsets a certain cache item. Typically called before using
785     dnl the AC_CACHE_*() macros.
786     AC_DEFUN(EGG_CACHE_UNSET, [dnl
787     unset $1
788     ])
789    
790    
791     dnl EGG_TCL_DETECT_CHANGE()
792     dnl
793     dnl Detect whether the tcl system has changed since our last
794     dnl configure run. Set egg_tcl_changed accordingly.
795     dnl
796     dnl Tcl related feature and version checks should re-run their
797     dnl checks as soon as egg_tcl_changed is set to "yes".
798     AC_DEFUN(EGG_TCL_DETECT_CHANGE, [dnl
799     AC_MSG_CHECKING(whether the tcl system has changed)
800     egg_tcl_changed=yes
801     egg_tcl_id="${TCLLIB}:${TCLLIBFN}:${TCLINC}:${TCLINCFN}"
802     if test "${egg_tcl_id}" != ":::"; then
803     egg_tcl_cached=yes
804     AC_CACHE_VAL(egg_cv_var_tcl_id, [dnl
805     egg_cv_var_tcl_id="$egg_tcl_id"
806     egg_tcl_cached=no
807     ])
808     if test "${egg_tcl_cached}" = "yes"; then
809     if test "x${egg_cv_var_tcl_id}" = "x${egg_tcl_id}"; then
810     egg_tcl_changed=no
811     else
812     egg_cv_var_tcl_id="$egg_tcl_id"
813     fi
814     fi
815     fi
816     if test "$egg_tcl_changed" = "yes"; then
817     AC_MSG_RESULT(yes)
818     else
819     AC_MSG_RESULT(no)
820     fi
821     ])
822    
823    
824     dnl EGG_TCL_CHECK_VERSION()
825     dnl
826     AC_DEFUN(EGG_TCL_CHECK_VERSION, [dnl
827     # Both TCLLIBFN & TCLINCFN must be set, or we bail
828     TCL_FOUND=0
829     if test "x${TCLLIBFN}" != "x" && test "x${TCLINCFN}" != "x"
830     then
831     TCL_FOUND=1
832    
833     # Check Tcl's version
834     if test "$egg_tcl_changed" = "yes"; then
835     EGG_CACHE_UNSET(egg_cv_var_tcl_version)
836     fi
837     AC_MSG_CHECKING(for Tcl version)
838     AC_CACHE_VAL(egg_cv_var_tcl_version, [
839     egg_cv_var_tcl_version=`grep TCL_VERSION $TCLINC/$TCLINCFN | head -1 | $AWK '{gsub(/\"/, "", [$]3); print [$]3}'`
840     ])
841    
842     if test ! "x${egg_cv_var_tcl_version}" = "x"
843     then
844     AC_MSG_RESULT($egg_cv_var_tcl_version)
845     else
846     AC_MSG_RESULT(not found)
847     TCL_FOUND=0
848     fi
849    
850     # Check Tcl's patch level (if avaliable)
851     if test "$egg_tcl_changed" = "yes"; then
852     EGG_CACHE_UNSET(egg_cv_var_tcl_patch_level)
853     fi
854     AC_MSG_CHECKING(for Tcl patch level)
855     AC_CACHE_VAL(egg_cv_var_tcl_patch_level, [
856     eval "egg_cv_var_tcl_patch_level=`grep TCL_PATCH_LEVEL $TCLINC/$TCLINCFN | head -1 | $AWK '{gsub(/\"/, "", [$]3); print [$]3}'`"
857     ])
858    
859     if test ! "x${egg_cv_var_tcl_patch_level}" = "x"
860     then
861     AC_MSG_RESULT($egg_cv_var_tcl_patch_level)
862     else
863     egg_cv_var_tcl_patch_level="unknown"
864     AC_MSG_RESULT(unknown)
865     fi
866     fi
867    
868     # Check if we found Tcl's version
869     if test $TCL_FOUND = 0
870     then
871     cat << 'EOF' >&2
872     configure: error:
873    
874     I can't find Tcl on this system.
875    
876     Eggdrop requires Tcl to compile. If you already have Tcl installed
877     on this system, and I just wasn't looking in the right place for it,
878     set the environment variables TCLLIB and TCLINC so I will know where
879     to find 'libtcl.a' (or 'libtcl.so') and 'tcl.h' (respectively). Then
880     run 'configure' again.
881    
882     Read the README file if you don't know what Tcl is or how to get it
883     and install it.
884    
885     EOF
886     exit 1
887     fi
888     ])dnl
889    
890    
891     dnl EGG_TCL_CHECK_PRE70()
892     dnl
893     AC_DEFUN(EGG_TCL_CHECK_PRE70, [dnl
894     # Is this version of Tcl too old for us to use ?
895     TCL_VER_PRE70=`echo $egg_cv_var_tcl_version | $AWK '{split([$]1, i, "."); if (i[[1]] < 7) print "yes"; else print "no"}'`
896     if test "x$TCL_VER_PRE70" = "xyes"
897     then
898     cat << EOF >&2
899     configure: error:
900    
901     Your Tcl version is much too old for eggdrop to use.
902     I suggest you download and complie a more recent version.
903     The most reliable current version is $tclrecommendver and
904     can be downloaded from $tclrecommendsite
905    
906     EOF
907     exit 1
908     fi
909     ])dnl
910    
911    
912     dnl EGG_TCL_CHECK_PRE75()
913     dnl
914     AC_DEFUN(EGG_TCL_CHECK_PRE75, [dnl
915     # Are we using a pre 7.5 Tcl version ?
916     TCL_VER_PRE75=`echo $egg_cv_var_tcl_version | $AWK '{split([$]1, i, "."); if (((i[[1]] == 7) && (i[[2]] < 5)) || (i[[1]] < 7)) print "yes"; else print "no"}'`
917     if test "x${TCL_VER_PRE75}" = "xyes"
918     then
919     AC_DEFINE(HAVE_PRE7_5_TCL)dnl
920     fi
921     ])dnl
922    
923    
924     dnl EGG_TCL_TESTLIBS()
925     dnl
926     AC_DEFUN(EGG_TCL_TESTLIBS, [dnl
927     # Setup TCL_TESTLIBS for Tcl library tests
928     if test ! "x${TCLLIBEXT}" = "x.a"
929     then
930     TCL_TESTLIBS="-L$TCLLIB -l$TCLLIBFNS $EGG_MATH_LIB $LIBS"
931     else
932     if test ! "x${tcllibname}" = "x"
933     then
934     TCL_TESTLIBS="$TCLLIB/lib$TCLLIBFN $EGG_MATH_LIB $LIBS"
935     else
936     TCL_TESTLIBS="-L$TCLLIB -l$TCLLIBFNS $EGG_MATH_LIB $LIBS"
937     fi
938     fi
939     if test "x${ac_cv_lib_pthread_pthread_mutex_init}" = "xyes"
940     then
941     TCL_TESTLIBS="-lpthread $TCL_TESTLIBS"
942     fi
943     ])dnl
944    
945    
946     dnl EGG_TCL_CHECK_FREE()
947     dnl
948     AC_DEFUN(EGG_TCL_CHECK_FREE, [dnl
949     # Check for Tcl_Free()
950     if test "$egg_tcl_changed" = "yes"; then
951     EGG_CACHE_UNSET(egg_cv_var_tcl_free)
952     fi
953     AC_CACHE_CHECK(if Tcl library has Tcl_Free, [egg_cv_var_tcl_free], [
954     ac_save_LIBS="$LIBS"
955     LIBS="$TCL_TESTLIBS"
956     cat > conftest.$ac_ext << EOF
957     #include "confdefs.h"
958     char Tcl_Free();
959    
960     int main() {
961     Tcl_Free();
962     return 0;
963     }
964     EOF
965     if { (eval echo configure: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}
966     then
967     rm -rf conftest*
968     egg_cv_var_tcl_free=yes
969     else
970     echo "configure: failed program was:" >&5
971     cat conftest.$ac_ext >&5
972     rm -rf conftest*
973     egg_cv_var_tcl_free=no
974     fi
975     rm -f conftest*
976     LIBS="$ac_save_LIBS"
977     ])
978    
979     if test "x${egg_cv_var_tcl_free}" = "xyes"
980     then
981     AC_DEFINE(HAVE_TCL_FREE)dnl
982     fi
983     ])dnl
984    
985    
986     dnl EGG_TCL_ENABLE_THREADS()
987     dnl
988     AC_DEFUN(EGG_TCL_ENABLE_THREADS, [dnl
989     AC_ARG_ENABLE(tcl-threads,
990     [ --disable-tcl-threads Disable threaded tcl support if detected. (Ignore this
991     option unless you know what you are doing)],
992     enable_tcl_threads=$enableval,
993     enable_tcl_threads=yes)
994     ])dnl
995    
996    
997     dnl EGG_TCL_CHECK_THREADS()
998     dnl
999     AC_DEFUN(EGG_TCL_CHECK_THREADS, [dnl
1000     # Check for TclpFinalizeThreadData()
1001     if test "$egg_tcl_changed" = "yes"; then
1002     EGG_CACHE_UNSET(egg_cv_var_tcl_threaded)
1003     fi
1004     AC_CACHE_CHECK(if Tcl library is threaded, egg_cv_var_tcl_threaded, [
1005     ac_save_LIBS="$LIBS"
1006     LIBS="$TCL_TESTLIBS"
1007     cat > conftest.$ac_ext << EOF
1008     #include "confdefs.h"
1009     char TclpFinalizeThreadData();
1010    
1011     int main() {
1012     TclpFinalizeThreadData();
1013     return 0;
1014     }
1015     EOF
1016     if { (eval echo configure: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}
1017     then
1018     rm -rf conftest*
1019     egg_cv_var_tcl_threaded=yes
1020     else
1021     echo "configure: failed program was:" >&5
1022     cat conftest.$ac_ext >&5
1023     rm -rf conftest*
1024     egg_cv_var_tcl_threaded=no
1025     fi
1026     rm -f conftest*
1027     LIBS="$ac_save_LIBS"
1028     ])
1029    
1030     if test "x${egg_cv_var_tcl_threaded}" = "xyes"
1031     then
1032     if test "x$enable_tcl_threads" = "xno"
1033     then
1034    
1035     cat << 'EOF' >&2
1036     configure: warning:
1037    
1038     You have disabled threads support on a system with a threaded Tcl library.
1039     Tcl features that rely on scheduled events may not function properly.
1040    
1041     EOF
1042     else
1043     AC_DEFINE(HAVE_TCL_THREADS)dnl
1044     fi
1045    
1046     # Add -lpthread to $LIBS if we have it
1047     if test "x${ac_cv_lib_pthread_pthread_mutex_init}" = "xyes"
1048     then
1049     LIBS="-lpthread $LIBS"
1050     fi
1051     fi
1052     ])dnl
1053    
1054    
1055     dnl EGG_TCL_LIB_REQS()
1056     dnl
1057     AC_DEFUN(EGG_TCL_LIB_REQS, [dnl
1058     if test ! "x${TCLLIBEXT}" = "x.a"
1059     then
1060     TCL_REQS="$TCLLIB/lib$TCLLIBFN"
1061     TCL_LIBS="-L$TCLLIB -l$TCLLIBFNS $EGG_MATH_LIB"
1062     else
1063    
1064     # Set default make as static for unshared Tcl library
1065     if test ! "$DEFAULT_MAKE" = "static"
1066     then
1067     cat << 'EOF' >&2
1068     configure: warning:
1069    
1070     Your Tcl library is not a shared lib.
1071     configure will now set default make type to static...
1072    
1073     EOF
1074     DEFAULT_MAKE=static
1075     AC_SUBST(DEFAULT_MAKE)dnl
1076     fi
1077    
1078     # Are we using a pre 7.4 Tcl version ?
1079     TCL_VER_PRE74=`echo $egg_cv_var_tcl_version | $AWK '{split([$]1, i, "."); if (((i[[1]] == 7) && (i[[2]] < 4)) || (i[[1]] < 7)) print "yes"; else print "no"}'`
1080     if test "x${TCL_VER_PRE74}" = "xno"
1081     then
1082    
1083     # Was the --with-tcllib option given ?
1084     if test ! "x${tcllibname}" = "x"
1085     then
1086     TCL_REQS="$TCLLIB/lib$TCLLIBFN"
1087     TCL_LIBS="$TCLLIB/lib$TCLLIBFN $EGG_MATH_LIB"
1088     else
1089     TCL_REQS="$TCLLIB/lib$TCLLIBFN"
1090     TCL_LIBS="-L$TCLLIB -l$TCLLIBFNS $EGG_MATH_LIB"
1091     fi
1092     else
1093     cat << EOF >&2
1094     configure: warning:
1095    
1096     Your Tcl version ($egg_cv_var_tcl_version) is older then 7.4.
1097     There are known problems, but we will attempt to work around them.
1098    
1099     EOF
1100     TCL_REQS="libtcle.a"
1101     TCL_LIBS="-L`pwd` -ltcle $EGG_MATH_LIB"
1102     fi
1103     fi
1104     AC_SUBST(TCL_REQS)dnl
1105     AC_SUBST(TCL_LIBS)dnl
1106     ])dnl
1107    
1108    
1109     dnl EGG_FUNC_DLOPEN()
1110     dnl
1111     AC_DEFUN(EGG_FUNC_DLOPEN, [dnl
1112     if test $NEED_DL = 1 && test "x${ac_cv_func_dlopen}" = "xno"
1113     then
1114     if test "$LINUX" = "yes"
1115     then
1116     cat << 'EOF' >&2
1117     configure: warning:
1118    
1119     Since you are on a Linux system, this has a known problem...
1120     I know a kludge for it,
1121     EOF
1122    
1123     if test -r "/lib/libdl.so.1"
1124     then
1125     cat << 'EOF' >&2
1126     and you seem to have it, so we'll do that...
1127    
1128     EOF
1129     AC_DEFINE(HAVE_DLOPEN)dnl
1130     LIBS="/lib/libdl.so.1 $LIBS"
1131     else
1132     cat << 'EOF' >&2
1133     which you DON'T seem to have... doh!
1134     perhaps you may still have the stuff lying around somewhere
1135     if you work out where it is, add it to your XLIBS= lines
1136     and #define HAVE_DLOPEN in config.h
1137    
1138     we'll proceed on anyway, but you probably won't be able
1139     to 'make eggdrop' but you might be able to make the
1140     static bot (I'll default your make to this version).
1141    
1142     EOF
1143     DEFAULT_MAKE=static
1144     fi
1145     else
1146     cat << 'EOF' >&2
1147     configure: warning:
1148    
1149     You don't seem to have libdl anywhere I can find it, this will
1150     prevent you from doing dynamic modules, I'll set your default
1151     make to static linking.
1152    
1153     EOF
1154     DEFAULT_MAKE=static
1155     fi
1156     fi
1157     ])dnl
1158    
1159    
1160     dnl EGG_SUBST_EGGVERSION()
1161     dnl
1162     AC_DEFUN(EGG_SUBST_EGGVERSION, [dnl
1163     EGGVERSION=`grep 'char.egg_version' ${srcdir}/src/main.c | $AWK '{gsub(/(\"|\;)/, "", [$]4); print [$]4}'`
1164     egg_version_num=`echo ${EGGVERSION} | $AWK 'BEGIN { FS = "."; } { printf("%d%02d%02d", [$]1, [$]2, [$]3); }'`
1165     AC_SUBST(EGGVERSION)dnl
1166     AC_DEFINE_UNQUOTED(EGG_VERSION, $egg_version_num)dnl
1167     ])dnl
1168    
1169    
1170     dnl EGG_SUBST_DEST()
1171     dnl
1172     AC_DEFUN(EGG_SUBST_DEST, [dnl
1173     if test "x$DEST" = "x"
1174     then
1175     DEST=\${prefix}
1176     fi
1177     AC_SUBST(DEST)dnl
1178     ])dnl
1179    
1180    
1181     dnl EGG_SUBST_MOD_UPDIR()
1182     dnl
1183     dnl Since module's Makefiles aren't generated by configure, some
1184 tothwolf 1.2 dnl paths in src/mod/Makefile.in take care of them. For correct
1185     dnl path "calculation", we need to keep absolute paths in mind
1186 tothwolf 1.1 dnl (which don't need a "../" pre-pended).
1187     AC_DEFUN(EGG_SUBST_MOD_UPDIR, [dnl
1188     case "$srcdir" in
1189     [[\\/]]* | ?:[[\\/]]* ) MOD_UPDIR="" ;;
1190     * ) MOD_UPDIR="../" ;;
1191     esac
1192     AC_SUBST(MOD_UPDIR)dnl
1193     ])dnl
1194 tothwolf 1.2
1195 tothwolf 1.1
1196     dnl EGG_REPLACE_IF_CHANGED(FILE-NAME, CONTENTS-CMDS, INIT-CMDS)
1197     dnl
1198     dnl Replace FILE-NAME if the newly created contents differs from the existing
1199     dnl file contents. Otherwise leave the file allone. This avoids needless
1200     dnl recompiles.
1201     dnl
1202     define(EGG_REPLACE_IF_CHANGED, [dnl
1203     AC_OUTPUT_COMMANDS([
1204     egg_replace_file=$1
1205     echo "creating $1"
1206     $2
1207     if test -f ${egg_replace_file} && cmp -s conftest.out ${egg_replace_file}
1208     then
1209     echo "$1 is unchanged"
1210     else
1211     mv conftest.out ${egg_replace_file}
1212     fi
1213     rm -f conftest.out], [$3])dnl
1214     ])dnl
1215    
1216    
1217     dnl EGG_TCL_LUSH()
1218     dnl
1219     AC_DEFUN(EGG_TCL_LUSH, [dnl
1220     EGG_REPLACE_IF_CHANGED(lush.h, [
1221     cat > conftest.out <<EGGEOF
1222     /* Ignore me but do not erase me. I am a kludge. */
1223    
1224     #include "${egg_tclinc}/${egg_tclincfn}"
1225     EGGEOF], [egg_tclinc=${TCLINC}; egg_tclincfn=${TCLINCFN}])dnl
1226     ])dnl
1227    
1228    
1229     dnl EGG_CATCH_MAKEFILE_REBUILD()
1230     dnl
1231     AC_DEFUN(EGG_CATCH_MAKEFILE_REBUILD, [dnl
1232     AC_OUTPUT_COMMANDS([
1233     if test -f .modules; then
1234     ${ac_given_srcdir}/misc/modconfig --top_srcdir=${ac_given_srcdir} Makefile
1235     fi])
1236     ])dnl
1237    
1238     dnl EGG_SAVE_PARAMETERS()
1239     dnl
1240     AC_DEFUN(EGG_SAVE_PARAMETERS, [dnl
1241     dnl Normally, we shouldn't use this level as it's not intended for this
1242     dnl type of code, but there's no other way to run it before the main
1243     dnl parameter loop in configure.
1244     AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)dnl
1245     egg_ac_parameters="[$]*"
1246     AC_DIVERT_POP()dnl to NORMAL
1247     AC_SUBST(egg_ac_parameters)dnl
1248     ])dnl

webmaster@eggheads.org
ViewVC Help
Powered by ViewVC 1.1.23