1236769Sobriendnl RCSid:
2236769Sobriendnl	$Id: aclocal.m4,v 1.5 2003/03/06 21:21:30 sjg Exp $
3236769Sobriendnl
4236769Sobrien
5236769Sobriendnl 
6236769Sobriendnl AC_CHECK_HEADER_HAS(HEADER, PATTERN, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]))
7236769Sobrien
8236769SobrienAC_DEFUN(AC_CHECK_HEADER_HAS,
9236769Sobrien[dnl first check if header exists and if so, see if it contains PATTERN
10236769Sobrienac_has_hdr=`echo "ac_cv_header_$1" | sed 'y%./+-%__p_%'`
11236769Sobrienac_has_it=`echo "ac_cv_header_$1"_$2 | sed 'y%./+-%__p_%'`
12236769Sobrienif eval "test \"`echo x'$'$ac_has_hdr`\" = x"; then
13236769Sobrien  AC_CHECK_HEADER($1)
14236769Sobrienfi
15236769Sobrienif eval "test \"`echo '$'$ac_has_hdr`\" = yes"; then
16236769Sobrien  ac_x=HAVE_`echo "$1" | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
17236769Sobrien  AC_DEFINE_UNQUOTED($ac_x)
18236769Sobrien  AC_MSG_CHECKING([if $1 has $2])
19236769Sobrien  AC_CACHE_VAL($ac_has_it,
20236769Sobrien               [eval $ac_has_it=no
21236769Sobrien                AC_EGREP_HEADER($2, $1, eval "$ac_has_it=yes")])
22236769Sobrien
23236769Sobrien  if eval "test \"`echo '$'$ac_has_it`\" = yes"; then
24236769Sobrien    AC_MSG_RESULT(yes)
25236769Sobrien    ac_x=HAVE_`echo "$1"_$2 | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
26236769Sobrien    AC_DEFINE_UNQUOTED($ac_x)
27236769Sobrien    ifelse([$3], , :, [$3])
28236769Sobrien  else
29236769Sobrien    AC_MSG_RESULT(no)
30236769Sobrien    ifelse([$4], , , [$4
31236769Sobrien])dnl
32236769Sobrien  fi
33236769Sobrienfi
34236769Sobrien])
35236769Sobrien
36236769Sobriendnl AC_EGREP(PATTERN, FILE, ACTION-IF-FOUND [,
37236769Sobriendnl                 ACTION-IF-NOT-FOUND])
38236769SobrienAC_DEFUN(AC_EGREP,
39236769Sobrien[
40236769Sobriendnl Prevent m4 from eating character classes:
41236769Sobrienchangequote(, )dnl
42236769Sobrienif egrep "$1" $2 >/dev/null 2>&1; then
43236769Sobrienchangequote([, ])dnl
44236769Sobrien  ifelse([$3], , :, [$3])
45236769Sobrienifelse([$4], , , [else
46236769Sobrien  $4
47236769Sobrien])dnl
48236769Sobrienfi
49236769Sobrien])
50236769Sobrien
51236769Sobriendnl
52236769Sobriendnl Test for __attribute__
53236769Sobriendnl
54236769Sobrien
55236769SobrienAC_DEFUN(AC_C___ATTRIBUTE__, [
56236769SobrienAC_MSG_CHECKING(for __attribute__)
57236769SobrienAC_CACHE_VAL(ac_cv___attribute__, [
58236769SobrienAC_TRY_COMPILE([
59236769Sobrien#include <stdlib.h>
60236769Sobrien],
61236769Sobrien[
62236769Sobrienstatic void foo(void) __attribute__ ((noreturn));
63236769Sobrien
64236769Sobrienstatic void
65236769Sobrienfoo(void)
66236769Sobrien{
67236769Sobrien  exit(1);
68236769Sobrien}
69236769Sobrien],
70236769Sobrienac_cv___attribute__=yes,
71236769Sobrienac_cv___attribute__=no)])
72236769Sobrienif test "$ac_cv___attribute__" = "yes"; then
73236769Sobrien  AC_DEFINE(HAVE___ATTRIBUTE__, 1, [define if your compiler has __attribute__])
74236769Sobrienfi
75236769SobrienAC_MSG_RESULT($ac_cv___attribute__)
76236769Sobrien])
77236769Sobrien
78