[project @ 2000-05-09 10:43:45 by rrt]
[ghc-hetmet.git] / aclocal.m4
1 dnl $Id: aclocal.m4,v 1.47 2000/05/09 10:43:45 rrt Exp $
2 dnl 
3 dnl Extra autoconf macros for the Glasgow fptools
4 dnl
5 dnl To be a good autoconf citizen, names of local macros have
6 dnl prefixed with FPTOOLS_ to ensure we don't clash
7 dnl with any pre-supplied autoconf ones.
8
9 dnl
10 dnl Is timezone around? (in a header file)
11 dnl 
12 AC_DEFUN(FPTOOLS_HAVE_TIMEZONE,
13 [AC_CACHE_CHECK([timezone], fptools_cv_have_timezone,
14 [AC_TRY_COMPILE([#if TIME_WITH_SYS_TIME
15 # include <sys/time.h>
16 # include <time.h>
17 #else
18 # if HAVE_SYS_TIME_H
19 #  include <sys/time.h>
20 # else
21 #  include <time.h>
22 # endif
23 #endif
24 ], [return timezone;], 
25 fptools_cv_have_timezone=yes, fptools_cv_have_timezone=no)])
26 if test "$fptools_cv_have_timezone" = yes; then
27   AC_DEFINE(HAVE_TIMEZONE)
28 fi
29 ])
30
31 dnl
32 dnl Has timezone the type time_t or long (HP-UX 10.20 apparently
33 dnl has `long'..)
34 dnl 
35 AC_DEFUN(FPTOOLS_TYPE_TIMEZONE,
36 [AC_CACHE_CHECK([type of timezone], fptools_cv_type_timezone,
37 [AC_TRY_COMPILE([#if TIME_WITH_SYS_TIME
38 # include <sys/time.h>
39 # include <time.h>
40 #else
41 # if HAVE_SYS_TIME_H
42 #  include <sys/time.h>
43 # else
44 #  include <time.h>
45 # endif
46 #endif
47
48 extern time_t timezone; 
49 ],
50 [int i;], fptools_cv_type_timezone=time_t, fptools_cv_type_timezone=long)])
51 AC_DEFINE_UNQUOTED(TYPE_TIMEZONE, $fptools_cv_type_timezone)
52 ])
53
54 dnl *** Is altzone available? ***
55 dnl 
56 AC_DEFUN(FPTOOLS_ALTZONE,
57 [AC_CACHE_CHECK([altzone], fptools_cv_altzone,
58 [AC_TRY_LINK([#if TIME_WITH_SYS_TIME
59 # include <sys/time.h>
60 # include <time.h>
61 #else
62 # if HAVE_SYS_TIME_H
63 #  include <sys/time.h>
64 # else
65 #  include <time.h>
66 # endif
67 #endif
68 ], [return altzone;], 
69 fptools_cv_altzone=yes, fptools_cv_altzone=no)])
70 if test "$fptools_cv_altzone" = yes; then
71   AC_DEFINE(HAVE_ALTZONE)
72 fi
73 ])
74
75
76 dnl ** check for leading underscores in symbol names
77 dnl 
78 dnl Test for determining whether symbol names have a leading
79 dnl underscore.
80 dnl 
81 dnl We assume that they _haven't_ if anything goes wrong.
82 dnl
83 dnl Some nlist implementations seem to try to be compatible by ignoring
84 dnl a leading underscore sometimes (eg. FreeBSD).  We therefore have
85 dnl to work around this by checking for *no* leading underscore first.
86 dnl Sigh.  --SDM
87 dnl
88 AC_DEFUN(FPTOOLS_UNDERSCORE,
89 [AC_CHECK_LIB(elf, nlist, LIBS="-lelf $LIBS")dnl
90 AC_CACHE_CHECK([leading underscore in symbol names], fptools_cv_lead_uscore,
91
92 dnl
93 dnl Hack!: nlist() under Digital UNIX insist on there being an _,
94 dnl but symbol table listings shows none. What is going on here?!?
95 dnl
96 dnl Another hack: cygwin doesn't come with nlist.h , so we hardwire
97 dnl the underscoredness of that "platform"
98 changequote(<<, >>)dnl
99 <<
100 case $HostPlatform in
101 alpha-dec-osf*) fptools_cv_lead_uscore='no';;
102 *cygwin32) fptools_cv_lead_uscore='yes';;
103 *mingw32) fptools_cv_lead_uscore='yes';;
104 *) >>
105 changequote([, ])dnl
106 AC_TRY_RUN([#ifdef HAVE_NLIST_H
107 #include <nlist.h>
108 changequote(<<, >>)dnl
109 <<
110 struct nlist xYzzY1[] = {{"xYzzY1", 0},{0}};
111 struct nlist xYzzY2[] = {{"_xYzzY2", 0},{0}};
112 #endif
113
114 main(argc, argv)
115 int argc;
116 char **argv;
117 {
118 #ifdef HAVE_NLIST_H
119     if(nlist(argv[0], xYzzY1) == 0 && xYzzY1[0].n_value != 0)
120         exit(1);
121     if(nlist(argv[0], xYzzY2) == 0 && xYzzY2[0].n_value != 0)
122         exit(0);>>
123 changequote([, ])dnl
124 #endif
125     exit(1);
126 }], fptools_cv_lead_uscore=yes, fptools_cv_lead_uscore=no, fptools_cv_lead_uscore=NO)
127 ;;
128 esac);
129 LeadingUnderscore=`echo $fptools_cv_lead_uscore | sed 'y/yesno/YESNO/'`
130 AC_SUBST(LeadingUnderscore)
131 case $LeadingUnderscore in
132 YES) AC_DEFINE(LEADING_UNDERSCORE);;
133 esac
134 ])
135
136 dnl
137 dnl Check for Happy and version.  If we're building GHC, then we need
138 dnl at least Happy version 1.6.  If there's no installed Happy, we look
139 dnl for a happy source tree and point the build system at that instead.
140 dnl
141 dnl ToDo: when we reset HappyCmd to the source tree, autoconf doesn't
142 dnl seems to insert it in the cache file.  sigh.
143 dnl
144 AC_DEFUN(FPTOOLS_HAPPY,
145 [AC_PATH_PROG(HappyCmd,happy)
146 AC_CACHE_CHECK([for version of happy], fptools_cv_happy_version,
147 [if test x"$HappyCmd" != x; then
148    fptools_cv_happy_version="`$HappyCmd -v |
149 changequote(, )dnl
150                           grep 'Happy Version' | sed -e 's/Happy Version \([^ ]*\).*/\1/g'`" ;
151 elif test -d $srcdir/happy; then
152    HappyCmd=$hardtop/happy/src/happy-inplace;
153    fptools_cv_happy_version=`grep '^ProjectVersion[     ]*=' $srcdir/happy/mk/version.mk | sed 's/.*\([0-9][0-9]*\.[0-9][0-9]*\).*/\1/g'`;
154    echo -n "using happy from the source tree... ";
155 else
156    fptools_cv_happy_version="";
157 fi;
158 changequote([, ])dnl
159 if expr "$fptools_cv_happy_version" "<" 1.6 > /dev/null 2>&1; then
160    if test -d $srcdir/ghc; then
161      echo
162      echo "Happy version 1.6 or later is required to compile GHC."
163      exit 1;
164    fi
165 fi;
166 ])
167 HappyVersion=$fptools_cv_happy_version;
168 AC_SUBST(HappyVersion)
169 ])
170
171 dnl
172 dnl What's the best way of doing context diffs?
173 dnl
174 dnl (NB: NeXTStep thinks diff'ing a file against itself is "trouble")
175 dnl
176 AC_DEFUN(FPTOOLS_PROG_DIFF,
177 [AC_CACHE_CHECK([for ok way to do context diffs], fptools_cv_context_diffs,
178 [echo foo > conftest1
179 echo foo > conftest2
180 if diff -C 1 conftest1 conftest2 > /dev/null 2>&1 ; then
181     fptools_cv_context_diffs='diff -C 1'
182 else
183     if diff -c1 conftest1 conftest2 > /dev/null 2>&1 ; then
184         fptools_cv_context_diffs='diff -c1'
185     else
186         echo "Can't figure out how to do context diffs."
187         echo "Neither \`diff -C 1' nor \`diff -c1' works."
188         exit 1
189     fi
190 fi
191 rm -f conftest1 conftest2
192 ])
193 ContextDiffCmd=$fptools_cv_context_diffs
194 AC_SUBST(ContextDiffCmd)
195 ])
196
197 dnl
198 dnl Finding the Right Yacc
199 dnl
200 AC_DEFUN(FPTOOLS_PROG_YACCY,
201 [AC_PROG_YACC
202 if test "$YACC" = "yacc"; then
203    AC_CACHE_CHECK([if it is an OK yacc], ac_cv_prog_yacc,
204    [AC_CHECK_PROG(WhatCmd, what, what, :)
205     $WhatCmd $YACC > conftest.out
206     if egrep 'y1\.c 1\..*SMI' conftest.out >/dev/null 2>&1; then
207         echo "I don't trust your $YaccCmd; it looks like an old Sun yacc"
208         if test -f /usr/lang/yacc; then
209            echo "I'm going to use /usr/lang/yacc instead"
210            ac_cv_prog_yacc=/usr/lang/yacc
211         else
212            echo "I'm assuming the worst...no parser generator at all"
213            ac_cv_prog_yacc=:
214         fi
215     elif egrep 'y1\.c.*Revision: 4\.2\.6\.3.*DEC' conftest.out >/dev/null 2>&1; then
216         echo "I don't trust your $YaccCmd; it looks like a lame DEC yacc"
217         echo "I'm assuming the worst...no parser generator at all"
218         ac_cv_prog_yacc=:
219     else
220         ac_cv_prog_yacc=$YACC
221     fi
222     rm -fr conftest*
223 ])
224 else
225     ac_cv_prog_yacc=$YACC
226 fi
227 YaccCmd=$ac_cv_prog_yacc
228 AC_SUBST(YaccCmd)
229 ])
230
231 dnl *** Checking for ar and its arguments + whether we need ranlib.
232 dnl
233 dnl ArCmd and RANLIB are AC_SUBST'ed
234 dnl 
235 AC_DEFUN(FPTOOLS_PROG_AR_AND_RANLIB,
236 [AC_PATH_PROG(ArCmd,ar)
237 if test -z "$ArCmd"; then
238     echo "You don't seem to have ar in your PATH...I have no idea how to make a library"
239     exit 1;
240 fi
241 if $ArCmd clqs conftest.a >/dev/null 2>/dev/null; then
242     ArCmd="$ArCmd clqs"
243     NeedRanLib=''
244 elif $ArCmd cqs conftest.a >/dev/null 2>/dev/null; then
245     ArCmd="$ArCmd cqs"
246     NeedRanLib=''
247 elif $ArCmd clq conftest.a >/dev/null 2>/dev/null; then
248     ArCmd="$ArCmd clq"
249     NeedRanLib='YES'
250 elif $ArCmd cq conftest.a >/dev/null 2>/dev/null; then
251     ArCmd="$ArCmd cq"
252     NeedRanLib='YES'
253 elif $ArCmd cq conftest.a 2>&1 | grep 'no archive members specified' >/dev/null 2>/dev/null; then
254     ArCmd="$ArCmd cq"
255     NeedRanLib='YES'
256 else
257     echo "I can't figure out how to use your $ArCmd"
258     exit 1
259 fi
260 rm -rf conftest*
261 test -n "$ArCmd" && test -n "$verbose" && echo "        setting ArCmd to $ArCmd"
262 AC_SUBST(ArCmd)
263 if test -z "$NeedRanLib"; then
264     RANLIB=':'
265     test -n "$verbose" && echo "        setting RANLIB to $RANLIB"
266     AC_SUBST(RANLIB)
267 else
268     AC_PROG_RANLIB
269 fi
270 ])
271
272 dnl
273 dnl AC_SHEBANG_PERL - can we she-bang perl?
274 dnl
275 AC_DEFUN(FPTOOLS_SHEBANG_PERL,
276 [AC_CACHE_CHECK([if your perl works in shell scripts], fptools_cv_shebang_perl,
277 [echo "#!$PerlCmd"'
278 exit $1;
279 ' > conftest
280 chmod u+x conftest
281 (SHELL=/bin/sh; export SHELL; ./conftest 69 > /dev/null)
282 if test $? -ne 69; then
283    fptools_cv_shebang_perl=yes
284 else
285    fptools_cv_shebang_perl=no
286 fi
287 rm -f conftest
288 ])])
289
290 dnl
291 dnl Extra testing of the result AC_PROG_CC, testing the gcc version no.
292 dnl *Must* be called after AC_PROG_CC
293 dnl
294 AC_DEFUN(FPTOOLS_HAVE_GCC,
295 [AC_CACHE_CHECK([whether you have an ok gcc], fptools_cv_have_gcc,
296 [if test -z "$GCC"; then
297     echo ''
298     echo "You would be better off with gcc"
299     echo "Perhaps it is already installed, but not in your PATH?"
300     fptools_cv_have_gcc='no'
301 else
302 changequote(, )dnl
303     cmd_string="`$CC -v 2>&1 | grep 'version ' | sed -e 's/.*version [^0-9]*\([0-9][0-9]*\)\.\([0-9][0-9]*\).*/expr 20 \\\< \1 \\\* 10 + \2/g' `"
304 changequote([, ])dnl
305     if test `eval $cmd_string 2>/dev/null` != "1"; then
306         echo ''
307         echo "I'm not sure if your version of gcc will work,"
308         echo "but it's worth a shot, eh?"
309     fi
310     fptools_cv_have_gcc='yes'
311 fi
312 ])
313 HaveGcc=`echo $fptools_cv_have_gcc | sed 'y/yesno/YESNO/'`
314 AC_SUBST(HaveGcc)
315 ])
316
317 dnl Small feature test for perl version. Assumes PerlCmd
318 dnl contains path to perl binary
319 dnl
320 AC_DEFUN(FPTOOLS_CHECK_PERL_VERSION,
321 [$PerlCmd -v >conftest.out 2>&1
322 if grep "version 5" conftest.out >/dev/null 2>&1; then
323    :
324 else
325    if grep "version 6" conftest.out >/dev/null 2>&1; then
326       :
327    else
328      echo "Your version of perl probably won't work."
329    fi
330 fi
331 rm -fr conftest*
332 ])
333
334 dnl ** figure out the alignment restriction of a type
335 dnl    (required SIZEOF test but AC_CHECK_SIZEOF doesn't call PROVIDE
336 dnl     so we can't call REQUIRE)
337
338 dnl FPTOOLS_CHECK_ALIGNMENT(TYPE)
339 AC_DEFUN(FPTOOLS_CHECK_ALIGNMENT,
340 [changequote(<<, >>)dnl
341 dnl The name to #define.
342 define(<<AC_TYPE_NAME>>, translit(alignment_$1, [a-z *], [A-Z_P]))dnl
343 dnl The cache variable name.
344 define(<<AC_CV_NAME>>, translit(ac_cv_alignment_$1, [ *], [_p]))dnl
345 dnl The name of the corresponding size.
346 define(<<AC_CV_SIZEOF_NAME>>, translit(ac_cv_sizeof_$1, [ *], [_p]))dnl
347 changequote([, ])dnl
348 AC_MSG_CHECKING(alignment of $1)
349 AC_CACHE_VAL(AC_CV_NAME,
350 [AC_TRY_RUN([
351 #include <stdio.h>
352 #if HAVE_STDDEF_H
353 #include <stddef.h>
354 #endif
355 #ifndef offsetof
356 #define offsetof(ty,field) ((size_t)((char *)&((ty *)0)->field - (char *)(ty *)0))
357 #endif
358 int
359 main()
360 {
361   FILE *f=fopen("conftestval", "w");
362   if (!f) exit(1);
363   fprintf(f, "%d\n", offsetof(struct { char c; $1 ty;},ty));
364   exit(0);
365 }],
366 AC_CV_NAME=`cat conftestval`,
367 AC_CV_NAME=$AC_CV_SIZEOF_NAME,
368 AC_CV_NAME=$AC_CV_SIZEOF_NAME)])
369 AC_MSG_RESULT($AC_CV_NAME)
370 AC_DEFINE_UNQUOTED(AC_TYPE_NAME, $AC_CV_NAME)
371 AC_PROVIDE($AC_TYPE_NAME)
372 undefine([AC_TYPE_NAME])dnl
373 undefine([AC_CV_NAME])dnl
374 undefine([AC_CV_SIZEOF_NAME])dnl
375 ])
376
377 dnl ** figure out whether C compiler supports 'long long's
378 dnl    (Closely based on Andreas Zeller's macro for testing
379 dnl     for this under C++)
380 dnl
381 dnl    If the C compiler supports `long long' types,
382 dnl    define `HAVE_LONG_LONG'.
383 dnl
384 AC_DEFUN(FPTOOLS_C_LONG_LONG,
385 [
386 AC_REQUIRE([AC_PROG_CC])
387 AC_MSG_CHECKING(whether ${CC} supports long long types)
388 AC_CACHE_VAL(fptools_cv_have_long_long,
389 [
390 AC_LANG_SAVE
391 AC_LANG_C
392 AC_TRY_COMPILE(,[long long a;],
393 fptools_cv_have_long_long=yes,
394 fptools_cv_have_long_long=no)
395 AC_LANG_RESTORE
396 ])
397 AC_MSG_RESULT($fptools_cv_have_long_long)
398 if test "$fptools_cv_have_long_long" = yes; then
399 AC_DEFINE(HAVE_LONG_LONG)
400 fi
401 ])
402
403 dnl *** Can we open files in binary mode? ***
404 dnl 
405 AC_DEFUN(FPTOOLS_O_BINARY,
406 [
407 AC_REQUIRE([AC_PROG_CC])
408 AC_MSG_CHECKING(whether we can open files in binary mode)
409 AC_CACHE_VAL(fptools_cv_have_o_binary,
410 [
411 AC_LANG_SAVE
412 AC_LANG_C
413 AC_TRY_COMPILE(,
414 [#ifdef HAVE_FCNTL_H
415 #include <fcntl.h>
416 #endif
417 int x = O_BINARY;],
418 fptools_cv_have_o_binary=yes,
419 fptools_cv_have_o_binary=no)
420 AC_LANG_RESTORE
421 ])
422 AC_MSG_RESULT($fptools_cv_have_o_binary)
423 if test "$fptools_cv_have_o_binary" = yes; then
424 AC_DEFINE(HAVE_O_BINARY)
425 fi
426 ])
427
428 dnl *** Which one comes first, .text or .data? ***
429 dnl 
430 AC_DEFUN(FPTOOLS_CODE_BEFORE_DATA,
431 [AC_CACHE_CHECK([if code section appears before data], fptools_cv_code_bef_data,
432 [AC_TRY_RUN([
433 int f() { return 1; }
434 int i;
435 int main() { return ((char*)&f > (char*)&i); }
436
437 ],
438 fptools_cv_code_bef_data=yes, fptools_cv_code_bef_data=no,false)])
439 if test "$fptools_cv_code_bef_data" = yes; then
440   AC_DEFINE(CODE_BEFORE_DATA)
441 fi
442 ])
443
444 dnl *** Helper function **
445 dnl 
446 AC_DEFUN(FPTOOLS_IN_SCOPE,AC_TRY_LINK([extern char* $1;],[return (int)&$2], $3=yes, $3=no))
447
448 dnl *** What's the end-of-text-section marker called? ***
449 dnl
450 AC_DEFUN(FPTOOLS_END_TEXT_SECTION,
451 [AC_MSG_CHECKING([for end of text section marker])
452 not_done=1
453 for i in data_start _data_start etext _etext __etext; do
454   FPTOOLS_IN_SCOPE($i,$i,fptools_end_of_text)
455   if test "$fptools_end_of_text" = yes; then
456    AC_CACHE_VAL([fptools_cv_end_of_text_decl], AC_DEFINE_UNQUOTED(TEXT_SECTION_END_MARKER_DECL, $i))
457    AC_CACHE_VAL([fptools_cv_end_of_text], AC_DEFINE_UNQUOTED(TEXT_SECTION_END_MARKER, $i))
458    not_done=0
459    break
460   fi
461 done
462 if test "$not_done" = 1; then
463 FPTOOLS_IN_SCOPE(etext asm("etext"),etext,fptools_end_of_text);
464 if test "$fptools_end_of_text" = yes; then
465   AC_CACHE_VAL([fptools_cv_end_of_text], AC_DEFINE_UNQUOTED(TEXT_SECTION_END_MARKER, etext))
466   AC_CACHE_VAL([fptools_cv_end_of_text_decl], AC_DEFINE_UNQUOTED(TEXT_SECTION_END_MARKER_DECL, etext asm("etext")))
467 else
468   AC_DEFINE_UNQUOTED(TEXT_SECTION_END_MARKER_DECL, dunno_what_it_is)
469   AC_DEFINE_UNQUOTED(TEXT_SECTION_END_MARKER, dunno_what_it_is)
470 fi
471 fi
472 AC_MSG_RESULT([$]fptools_cv_end_of_text)
473 ])
474
475 dnl *** What's the end-of-data-section marker called? ***
476 dnl
477 AC_DEFUN(FPTOOLS_END_DATA_SECTION,
478 [AC_MSG_CHECKING([for end of data section marker])
479 not_done=1
480 for i in end _end __end; do
481   FPTOOLS_IN_SCOPE($i,$i,fptools_end_of_data)
482   if test "$fptools_end_of_data" = yes; then
483    AC_CACHE_VAL([fptools_cv_end_of_data_decl], [AC_DEFINE_UNQUOTED(DATA_SECTION_END_MARKER_DECL, $i)])
484    AC_CACHE_VAL([fptools_cv_end_of_data], [AC_DEFINE_UNQUOTED(DATA_SECTION_END_MARKER, $i)])
485    not_done=0
486    break
487   fi
488 done
489 if test "$not_done" = 1; then
490 FPTOOLS_IN_SCOPE(end asm("end"),end,fptools_end_of_data);
491 if test "$fptools_end_of_data" = yes; then
492   AC_CACHE_VAL([fptools_cv_end_of_data_decl], [AC_DEFINE_UNQUOTED(DATA_SECTION_END_MARKER_DECL, end asm("end"))])
493   AC_CACHE_VAL([fptools_cv_end_of_data], [AC_DEFINE_UNQUOTED(DATA_SECTION_END_MARKER, end)])
494 else
495   AC_CACHE_VAL([fptools_cv_end_of_data_decl], [AC_DEFINE_UNQUOTED(DATA_SECTION_END_MARKER_DECL, dunno_what_it_is)])
496   AC_CACHE_VAL([fptools_cv_end_of_data], [AC_DEFINE_UNQUOTED(DATA_SECTION_END_MARKER, dunno_what_it_is)])
497 fi
498 fi
499 AC_MSG_RESULT([$]fptools_cv_end_of_data)
500 ])
501
502
503
504 dnl Based on AC_TRY_LINK - run iftrue if links cleanly with no warning
505
506 dnl FPTOOLS_TRY_LINK_NOWARN(flags,main?,iftrue,iffalse)
507
508 AC_DEFUN(FPTOOLS_TRY_LINK_NOWARN,
509 [
510 ac_save_LIBS="$LIBS"
511 LIBS=[$1];
512 cat > conftest.$ac_ext <<EOF
513 dnl This sometimes fails to find confdefs.h, for some reason.
514 dnl [#]line __oline__ "[$]0"
515 [#]line __oline__ "configure"
516 #include "confdefs.h"
517 [$2]
518 int t() { return 0; }
519 EOF
520 if AC_TRY_EVAL(ac_link); then
521   ifelse([$3], , :, [
522     LIBS="$ac_save_LIBS"
523     rm -rf conftest*
524     $3])
525   ifelse([$4], , , [else
526     LIBS="$ac_save_LIBS"
527     rm -rf conftest*
528     $4
529 ])dnl
530 fi
531 rm -f conftest*
532 ]
533 )
534
535 dnl Loosely based on AC_CHECK_LIB in acgeneral.m4 in autoconf distribution
536
537 dnl FPTOOLS_CHECK_FLAG_NOWARN(NAME, FLAG, CODE, iftrue, iffalse)
538
539 AC_DEFUN(FPTOOLS_CHECK_FLAG_NOWARN,
540 [AC_MSG_CHECKING([for $1])
541  AC_CACHE_VAL(ac_cv_flag_$1,
542    [FPTOOLS_TRY_LINK_NOWARN("$2", [main() { $3; exit(0); } ],
543      eval "ac_cv_flag_$1=yes",
544      eval "ac_cv_flag_$1=no"
545    )]
546  )
547 if eval "test \"`echo '$ac_cv_flag_'$1`\" = yes"; then
548   AC_MSG_RESULT(yes)
549   LIBS="$2 $LIBS"
550   $4
551 else
552   AC_MSG_RESULT(no)
553   $5
554 fi
555 ])
556
557 dnl FPTOOLS_CHECK_LIB_NOWARN(LIBRARY, FUNCTION)
558
559 AC_DEFUN(FPTOOLS_CHECK_LIB_NOWARN,
560 [FPTOOLS_CHECK_FLAG_NOWARN([function_$2],[],[extern char $2(); $2();],
561 [changequote(, )dnl
562   ac_tr_lib=HAVE_LIB`echo $1 | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
563  changequote([, ])dnl
564  AC_DEFINE_UNQUOTED($ac_tr_lib)
565 ],
566 [FPTOOLS_CHECK_FLAG_NOWARN([library_$1],[-l$1],[extern char $2(); $2();],
567 [changequote(, )dnl
568   ac_tr_lib=HAVE_LIB`echo $1 | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
569  changequote([, ])dnl
570  AC_DEFINE_UNQUOTED($ac_tr_lib)
571 ],
572 []
573 )])]
574 )
575
576 dnl check for prototypes
577 dnl
578 AC_DEFUN(AC_C_PROTOTYPES,
579 [AC_CACHE_CHECK([prototypes], ac_cv_prototypes,
580 [AC_TRY_COMPILE([
581 void foo(int);
582 void foo(i)
583 int i; { 
584 return;
585 }
586 ],
587 [int i;], 
588 ac_cv_prototypes=yes,
589 ac_cv_prototypes=no)])
590 if test "$ac_cv_prototypes" = yes; then
591 AC_DEFINE(HAVE_PROTOTYPES)
592 fi
593 ])
594
595
596 # LocalWords:  fi