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