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