[project @ 1999-11-04 15:09:09 by sewardj]
[ghc-hetmet.git] / aclocal.m4
1 dnl $Id: aclocal.m4,v 1.45 1999/11/04 15:09:09 sewardj 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.
138 dnl
139 AC_DEFUN(FPTOOLS_HAPPY,
140 [AC_PATH_PROG(HappyCmd,happy,,$PATH:${hardtop}/happy/src)
141 AC_CACHE_CHECK([for version of happy], fptools_cv_happy_version,
142 [if test x"$HappyCmd" != x; then
143    fptools_cv_happy_version="`$HappyCmd -v |
144 changequote(, )dnl
145                           grep 'Happy Version' | sed -e 's/Happy Version \([^ ]*\).*/\1/g'`" ;
146 changequote([, ])dnl
147 else
148    fptools_cv_happy_version="";
149 fi;
150 if expr "$fptools_cv_happy_version" "<" 1.6 > /dev/null 2>&1; then
151    if test -d ghc; then
152      echo
153      echo "Happy version 1.6 or later is required to compile GHC."
154      exit 1;
155    fi
156 fi;
157 ])
158 HappyVersion=$ac_cv_happy_version;
159 AC_SUBST(HappyVersion)
160 ])
161
162 dnl
163 dnl What's the best way of doing context diffs?
164 dnl
165 dnl (NB: NeXTStep thinks diff'ing a file against itself is "trouble")
166 dnl
167 AC_DEFUN(FPTOOLS_PROG_DIFF,
168 [AC_CACHE_CHECK([for ok way to do context diffs], fptools_cv_context_diffs,
169 [echo foo > conftest1
170 echo foo > conftest2
171 if diff -C 1 conftest1 conftest2 > /dev/null 2>&1 ; then
172     fptools_cv_context_diffs='diff -C 1'
173 else
174     if diff -c1 conftest1 conftest2 > /dev/null 2>&1 ; then
175         fptools_cv_context_diffs='diff -c1'
176     else
177         echo "Can't figure out how to do context diffs."
178         echo "Neither \`diff -C 1' nor \`diff -c1' works."
179         exit 1
180     fi
181 fi
182 rm -f conftest1 conftest2
183 ])
184 ContextDiffCmd=$fptools_cv_context_diffs
185 AC_SUBST(ContextDiffCmd)
186 ])
187
188 dnl
189 dnl Finding the Right Yacc
190 dnl
191 AC_DEFUN(FPTOOLS_PROG_YACCY,
192 [AC_PROG_YACC
193 if test "$YACC" = "yacc"; then
194    AC_CACHE_CHECK([if it is an OK yacc], ac_cv_prog_yacc,
195    [AC_CHECK_PROG(WhatCmd, what, what, :)
196     $WhatCmd $YACC > conftest.out
197     if egrep 'y1\.c 1\..*SMI' conftest.out >/dev/null 2>&1; then
198         echo "I don't trust your $YaccCmd; it looks like an old Sun yacc"
199         if test -f /usr/lang/yacc; then
200            echo "I'm going to use /usr/lang/yacc instead"
201            ac_cv_prog_yacc=/usr/lang/yacc
202         else
203            echo "I'm assuming the worst...no parser generator at all"
204            ac_cv_prog_yacc=:
205         fi
206     elif egrep 'y1\.c.*Revision: 4\.2\.6\.3.*DEC' conftest.out >/dev/null 2>&1; then
207         echo "I don't trust your $YaccCmd; it looks like a lame DEC yacc"
208         echo "I'm assuming the worst...no parser generator at all"
209         ac_cv_prog_yacc=:
210     else
211         ac_cv_prog_yacc=$YACC
212     fi
213     rm -fr conftest*
214 ])
215 else
216     ac_cv_prog_yacc=$YACC
217 fi
218 YaccCmd=$ac_cv_prog_yacc
219 AC_SUBST(YaccCmd)
220 ])
221
222 dnl *** Checking for ar and its arguments + whether we need ranlib.
223 dnl
224 dnl ArCmd and RANLIB are AC_SUBST'ed
225 dnl 
226 AC_DEFUN(FPTOOLS_PROG_AR_AND_RANLIB,
227 [AC_PATH_PROG(ArCmd,ar)
228 if test -z "$ArCmd"; then
229     echo "You don't seem to have ar in your PATH...I have no idea how to make a library"
230     exit 1;
231 fi
232 if $ArCmd clqs conftest.a >/dev/null 2>/dev/null; then
233     ArCmd="$ArCmd clqs"
234     NeedRanLib=''
235 elif $ArCmd cqs conftest.a >/dev/null 2>/dev/null; then
236     ArCmd="$ArCmd cqs"
237     NeedRanLib=''
238 elif $ArCmd clq conftest.a >/dev/null 2>/dev/null; then
239     ArCmd="$ArCmd clq"
240     NeedRanLib='YES'
241 elif $ArCmd cq conftest.a >/dev/null 2>/dev/null; then
242     ArCmd="$ArCmd cq"
243     NeedRanLib='YES'
244 elif $ArCmd cq conftest.a 2>&1 | grep 'no archive members specified' >/dev/null 2>/dev/null; then
245     ArCmd="$ArCmd cq"
246     NeedRanLib='YES'
247 else
248     echo "I can't figure out how to use your $ArCmd"
249     exit 1
250 fi
251 rm -rf conftest*
252 test -n "$ArCmd" && test -n "$verbose" && echo "        setting ArCmd to $ArCmd"
253 AC_SUBST(ArCmd)
254 if test -z "$NeedRanLib"; then
255     RANLIB=':'
256     test -n "$verbose" && echo "        setting RANLIB to $RANLIB"
257     AC_SUBST(RANLIB)
258 else
259     AC_PROG_RANLIB
260 fi
261 ])
262
263 dnl
264 dnl AC_SHEBANG_PERL - can we she-bang perl?
265 dnl
266 AC_DEFUN(FPTOOLS_SHEBANG_PERL,
267 [AC_CACHE_CHECK([if your perl works in shell scripts], fptools_cv_shebang_perl,
268 [echo "#!$PerlCmd"'
269 exit $1;
270 ' > conftest
271 chmod u+x conftest
272 (SHELL=/bin/sh; export SHELL; ./conftest 69 > /dev/null)
273 if test $? -ne 69; then
274    fptools_cv_shebang_perl=yes
275 else
276    fptools_cv_shebang_perl=no
277 fi
278 rm -f conftest
279 ])])
280
281 dnl
282 dnl Extra testing of the result AC_PROG_CC, testing the gcc version no.
283 dnl *Must* be called after AC_PROG_CC
284 dnl
285 AC_DEFUN(FPTOOLS_HAVE_GCC,
286 [AC_CACHE_CHECK([whether you have an ok gcc], fptools_cv_have_gcc,
287 [if test -z "$GCC"; then
288     echo ''
289     echo "You would be better off with gcc"
290     echo "Perhaps it is already installed, but not in your PATH?"
291     fptools_cv_have_gcc='no'
292 else
293 changequote(, )dnl
294     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' `"
295 changequote([, ])dnl
296     if test `eval $cmd_string 2>/dev/null` != "1"; then
297         echo ''
298         echo "I'm not sure if your version of gcc will work,"
299         echo "but it's worth a shot, eh?"
300     fi
301     fptools_cv_have_gcc='yes'
302 fi
303 ])
304 HaveGcc=`echo $fptools_cv_have_gcc | sed 'y/yesno/YESNO/'`
305 AC_SUBST(HaveGcc)
306 ])
307
308 dnl Small feature test for perl version. Assumes PerlCmd
309 dnl contains path to perl binary
310 dnl
311 AC_DEFUN(FPTOOLS_CHECK_PERL_VERSION,
312 [$PerlCmd -v >conftest.out 2>&1
313 if grep "version 4" conftest.out >/dev/null 2>&1; then
314    if grep "Patch level: 35" conftest.out >/dev/null 2>&1; then
315       echo "
316 ************************************************************************
317 Uh-oh...looks like you have Perl 4.035.
318
319 Perl version 4.035 has a bug to do with recursion that will bite if
320 you run the lit2texi script, when making Info files from
321 literate files of various sorts.  Either use perl5, the last version of perl4 
322 (4.036), or an older version (e.g., perl 4.019). Failing that, don't create
323 any Info files :-)
324 ************************************************************************
325 "
326    fi
327 else
328    if grep "version 5" conftest.out >/dev/null 2>&1; then
329       :
330    else
331      echo "I'm not sure if your version of perl will work,"
332      echo "but it's worth a shot, eh?"
333    fi
334 fi
335 rm -fr conftest*
336 ])
337
338 dnl ** figure out the alignment restriction of a type
339 dnl    (required SIZEOF test but AC_CHECK_SIZEOF doesn't call PROVIDE
340 dnl     so we can't call REQUIRE)
341
342 dnl FPTOOLS_CHECK_ALIGNMENT(TYPE)
343 AC_DEFUN(FPTOOLS_CHECK_ALIGNMENT,
344 [changequote(<<, >>)dnl
345 dnl The name to #define.
346 define(<<AC_TYPE_NAME>>, translit(alignment_$1, [a-z *], [A-Z_P]))dnl
347 dnl The cache variable name.
348 define(<<AC_CV_NAME>>, translit(ac_cv_alignment_$1, [ *], [_p]))dnl
349 dnl The name of the corresponding size.
350 define(<<AC_CV_SIZEOF_NAME>>, translit(ac_cv_sizeof_$1, [ *], [_p]))dnl
351 changequote([, ])dnl
352 AC_MSG_CHECKING(alignment of $1)
353 AC_CACHE_VAL(AC_CV_NAME,
354 [AC_TRY_RUN([
355 #include <stdio.h>
356 #if HAVE_STDDEF_H
357 #include <stddef.h>
358 #endif
359 #ifndef offsetof
360 #define offsetof(ty,field) ((size_t)((char *)&((ty *)0)->field - (char *)(ty *)0))
361 #endif
362 int
363 main()
364 {
365   FILE *f=fopen("conftestval", "w");
366   if (!f) exit(1);
367   fprintf(f, "%d\n", offsetof(struct { char c; $1 ty;},ty));
368   exit(0);
369 }],
370 AC_CV_NAME=`cat conftestval`,
371 AC_CV_NAME=$AC_CV_SIZEOF_NAME,
372 AC_CV_NAME=$AC_CV_SIZEOF_NAME)])
373 AC_MSG_RESULT($AC_CV_NAME)
374 AC_DEFINE_UNQUOTED(AC_TYPE_NAME, $AC_CV_NAME)
375 AC_PROVIDE($AC_TYPE_NAME)
376 undefine([AC_TYPE_NAME])dnl
377 undefine([AC_CV_NAME])dnl
378 undefine([AC_CV_SIZEOF_NAME])dnl
379 ])
380
381 dnl ** figure out whether C compiler supports 'long long's
382 dnl    (Closely based on Andreas Zeller's macro for testing
383 dnl     for this under C++)
384 dnl
385 dnl    If the C compiler supports `long long' types,
386 dnl    define `HAVE_LONG_LONG'.
387 dnl
388 AC_DEFUN(FPTOOLS_C_LONG_LONG,
389 [
390 AC_REQUIRE([AC_PROG_CC])
391 AC_MSG_CHECKING(whether ${CC} supports long long types)
392 AC_CACHE_VAL(fptools_cv_have_long_long,
393 [
394 AC_LANG_SAVE
395 AC_LANG_C
396 AC_TRY_COMPILE(,[long long a;],
397 fptools_cv_have_long_long=yes,
398 fptools_cv_have_long_long=no)
399 AC_LANG_RESTORE
400 ])
401 AC_MSG_RESULT($fptools_cv_have_long_long)
402 if test "$fptools_cv_have_long_long" = yes; then
403 AC_DEFINE(HAVE_LONG_LONG)
404 fi
405 ])
406
407 dnl *** Can we open files in binary mode? ***
408 dnl 
409 AC_DEFUN(FPTOOLS_O_BINARY,
410 [
411 AC_REQUIRE([AC_PROG_CC])
412 AC_MSG_CHECKING(whether we can open files in binary mode)
413 AC_CACHE_VAL(fptools_cv_have_o_binary,
414 [
415 AC_LANG_SAVE
416 AC_LANG_C
417 AC_TRY_COMPILE(,
418 [#ifdef HAVE_FCNTL_H
419 #include <fcntl.h>
420 #endif
421 int x = O_BINARY;],
422 fptools_cv_have_o_binary=yes,
423 fptools_cv_have_o_binary=no)
424 AC_LANG_RESTORE
425 ])
426 AC_MSG_RESULT($fptools_cv_have_o_binary)
427 if test "$fptools_cv_have_o_binary" = yes; then
428 AC_DEFINE(HAVE_O_BINARY)
429 fi
430 ])
431
432 dnl *** Which one comes first, .text or .data? ***
433 dnl 
434 AC_DEFUN(FPTOOLS_CODE_BEFORE_DATA,
435 [AC_CACHE_CHECK([if code section appears before data], fptools_cv_code_bef_data,
436 [AC_TRY_RUN([
437 int f() { return 1; }
438 int i;
439 int main() { return ((char*)&f > (char*)&i); }
440
441 ],
442 fptools_cv_code_bef_data=yes, fptools_cv_code_bef_data=no,false)])
443 if test "$fptools_cv_code_bef_data" = yes; then
444   AC_DEFINE(CODE_BEFORE_DATA)
445 fi
446 ])
447
448 dnl *** Helper function **
449 dnl 
450 AC_DEFUN(FPTOOLS_IN_SCOPE,AC_TRY_LINK([extern char* $1;],[return (int)&$2], $3=yes, $3=no))
451
452 dnl *** What's the end-of-text-section marker called? ***
453 dnl
454 AC_DEFUN(FPTOOLS_END_TEXT_SECTION,
455 [AC_MSG_CHECKING([for end of text section marker])
456 not_done=1
457 for i in data_start _data_start etext _etext __etext; do
458   FPTOOLS_IN_SCOPE($i,$i,fptools_end_of_text)
459   if test "$fptools_end_of_text" = yes; then
460    AC_CACHE_VAL([fptools_cv_end_of_text_decl], AC_DEFINE_UNQUOTED(TEXT_SECTION_END_MARKER_DECL, $i))
461    AC_CACHE_VAL([fptools_cv_end_of_text], AC_DEFINE_UNQUOTED(TEXT_SECTION_END_MARKER, $i))
462    not_done=0
463    break
464   fi
465 done
466 if test "$not_done" = 1; then
467 FPTOOLS_IN_SCOPE(etext asm("etext"),etext,fptools_end_of_text);
468 if test "$fptools_end_of_text" = yes; then
469   AC_CACHE_VAL([fptools_cv_end_of_text], AC_DEFINE_UNQUOTED(TEXT_SECTION_END_MARKER, etext))
470   AC_CACHE_VAL([fptools_cv_end_of_text_decl], AC_DEFINE_UNQUOTED(TEXT_SECTION_END_MARKER_DECL, etext asm("etext")))
471 else
472   AC_DEFINE_UNQUOTED(TEXT_SECTION_END_MARKER_DECL, dunno_what_it_is)
473   AC_DEFINE_UNQUOTED(TEXT_SECTION_END_MARKER, dunno_what_it_is)
474 fi
475 fi
476 AC_MSG_RESULT([$]fptools_cv_end_of_text)
477 ])
478
479 dnl *** What's the end-of-data-section marker called? ***
480 dnl
481 AC_DEFUN(FPTOOLS_END_DATA_SECTION,
482 [AC_MSG_CHECKING([for end of data section marker])
483 not_done=1
484 for i in end _end __end; do
485   FPTOOLS_IN_SCOPE($i,$i,fptools_end_of_data)
486   if test "$fptools_end_of_data" = yes; then
487    AC_CACHE_VAL([fptools_cv_end_of_data_decl], [AC_DEFINE_UNQUOTED(DATA_SECTION_END_MARKER_DECL, $i)])
488    AC_CACHE_VAL([fptools_cv_end_of_data], [AC_DEFINE_UNQUOTED(DATA_SECTION_END_MARKER, $i)])
489    not_done=0
490    break
491   fi
492 done
493 if test "$not_done" = 1; then
494 FPTOOLS_IN_SCOPE(end asm("end"),end,fptools_end_of_data);
495 if test "$fptools_end_of_data" = yes; then
496   AC_CACHE_VAL([fptools_cv_end_of_data_decl], [AC_DEFINE_UNQUOTED(DATA_SECTION_END_MARKER_DECL, end asm("end"))])
497   AC_CACHE_VAL([fptools_cv_end_of_data], [AC_DEFINE_UNQUOTED(DATA_SECTION_END_MARKER, end)])
498 else
499   AC_CACHE_VAL([fptools_cv_end_of_data_decl], [AC_DEFINE_UNQUOTED(DATA_SECTION_END_MARKER_DECL, dunno_what_it_is)])
500   AC_CACHE_VAL([fptools_cv_end_of_data], [AC_DEFINE_UNQUOTED(DATA_SECTION_END_MARKER, dunno_what_it_is)])
501 fi
502 fi
503 AC_MSG_RESULT([$]fptools_cv_end_of_data)
504 ])
505
506
507
508 dnl Based on AC_TRY_LINK - run iftrue if links cleanly with no warning
509
510 dnl FPTOOLS_TRY_LINK_NOWARN(flags,main?,iftrue,iffalse)
511
512 AC_DEFUN(FPTOOLS_TRY_LINK_NOWARN,
513 [
514 ac_save_LIBS="$LIBS"
515 LIBS=[$1];
516 cat > conftest.$ac_ext <<EOF
517 dnl This sometimes fails to find confdefs.h, for some reason.
518 dnl [#]line __oline__ "[$]0"
519 [#]line __oline__ "configure"
520 #include "confdefs.h"
521 [$2]
522 int t() { return 0; }
523 EOF
524 if AC_TRY_EVAL(ac_link); then
525   ifelse([$3], , :, [
526     LIBS="$ac_save_LIBS"
527     rm -rf conftest*
528     $3])
529   ifelse([$4], , , [else
530     LIBS="$ac_save_LIBS"
531     rm -rf conftest*
532     $4
533 ])dnl
534 fi
535 rm -f conftest*
536 ]
537 )
538
539 dnl Loosely based on AC_CHECK_LIB in acgeneral.m4 in autoconf distribution
540
541 dnl FPTOOLS_CHECK_FLAG_NOWARN(NAME, FLAG, CODE, iftrue, iffalse)
542
543 AC_DEFUN(FPTOOLS_CHECK_FLAG_NOWARN,
544 [AC_MSG_CHECKING([for $1])
545  AC_CACHE_VAL(ac_cv_flag_$1,
546    [FPTOOLS_TRY_LINK_NOWARN("$2", [main() { $3; exit(0); } ],
547      eval "ac_cv_flag_$1=yes",
548      eval "ac_cv_flag_$1=no"
549    )]
550  )
551 if eval "test \"`echo '$ac_cv_flag_'$1`\" = yes"; then
552   AC_MSG_RESULT(yes)
553   LIBS="$2 $LIBS"
554   $4
555 else
556   AC_MSG_RESULT(no)
557   $5
558 fi
559 ])
560
561 dnl FPTOOLS_CHECK_LIB_NOWARN(LIBRARY, FUNCTION)
562
563 AC_DEFUN(FPTOOLS_CHECK_LIB_NOWARN,
564 [FPTOOLS_CHECK_FLAG_NOWARN([function_$2],[],[extern char $2(); $2();],
565 [changequote(, )dnl
566   ac_tr_lib=HAVE_LIB`echo $1 | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
567  changequote([, ])dnl
568  AC_DEFINE_UNQUOTED($ac_tr_lib)
569 ],
570 [FPTOOLS_CHECK_FLAG_NOWARN([library_$1],[-l$1],[extern char $2(); $2();],
571 [changequote(, )dnl
572   ac_tr_lib=HAVE_LIB`echo $1 | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
573  changequote([, ])dnl
574  AC_DEFINE_UNQUOTED($ac_tr_lib)
575 ],
576 []
577 )])]
578 )
579
580 dnl check for prototypes
581 dnl
582 AC_DEFUN(AC_C_PROTOTYPES,
583 [AC_CACHE_CHECK([prototypes], ac_cv_prototypes,
584 [AC_TRY_COMPILE([
585 void foo(int);
586 void foo(i)
587 int i; { 
588 return;
589 }
590 ],
591 [int i;], 
592 ac_cv_prototypes=yes,
593 ac_cv_prototypes=no)])
594 if test "$ac_cv_prototypes" = yes; then
595 AC_DEFINE(HAVE_PROTOTYPES)
596 fi
597 ])
598
599
600 # LocalWords:  fi