1 AC_DEFUN([AC_DEFINE_DIR], [
2 test "x$prefix" = xNONE && prefix="$ac_default_prefix"
3 test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
4 last_ac_define_dir=`eval echo [$]$2`
5 ac_define_dir=`eval echo [$]last_ac_define_dir`
6 ac_define_dir_counter=0
7 while test "x[$]last_ac_define_dir" != "x[$]ac_define_dir"; do
8 last_ac_define_dir="[$]ac_define_dir"
9 ac_define_dir=`eval echo [$]last_ac_define_dir`
10 AS_VAR_ARITH([ac_define_dir_counter], [$ac_define_dir_counter + 1])
11 AS_VAR_IF([ac_define_dir_counter], [128],
12 [AC_MSG_ERROR([detected recusive directory expansion when expanding $1=[$]$2: [$]ac_define_dir])
18 AC_DEFINE_UNQUOTED($1, "$ac_define_dir"),
19 AC_DEFINE_UNQUOTED($1, "$ac_define_dir", $3))
22 AC_DEFUN([AC_SUBST_DIR], [
23 ifelse($2,,,$1="[$]$2")
25 test "x$prefix" = xNONE && prefix="$ac_default_prefix"
26 test "x$exec_prefix" = xNONE && exec_prefix="${prefix}"
33 dnl IPv6 support macros..pretty much swiped from wget
37 AC_DEFUN([RB_PROTO_INET6],[
38 AC_CACHE_CHECK([for INET6 protocol support], [rb_cv_proto_inet6],[
41 #include <sys/types.h>
42 #include <sys/socket.h>
49 #error Missing PF_INET6
52 #error Mlssing AF_INET6
61 if test "X$rb_cv_proto_inet6" = "Xyes"; then :
69 AC_DEFUN([RB_TYPE_STRUCT_SOCKADDR_IN6],[
71 AC_CHECK_TYPES([struct sockaddr_in6],[
72 rb_have_sockaddr_in6=yes
74 rb_have_sockaddr_in6=no
77 #include <sys/types.h>
78 #include <sys/socket.h>
79 #include <netinet/in.h>
86 if test "X$rb_have_sockaddr_in6" = "Xyes"; then :
94 AC_DEFUN([RB_CHECK_TIMER_CREATE],
95 [AC_CACHE_CHECK([for a working timer_create(CLOCK_REALTIME)],
96 [rb__cv_timer_create_works],
107 int main(int argc, char *argv[])
109 #if HAVE_TIMER_CREATE
112 ev.sigev_notify = SIGEV_SIGNAL;
113 ev.sigev_signo = SIGVTALRM;
114 if (timer_create(CLOCK_REALTIME, &ev, &timer) != 0) {
123 [rb__cv_timer_create_works=yes],
124 [rb__cv_timer_create_works=no],
125 [rb__cv_timer_create_works=no])
127 case $rb__cv_timer_create_works in
128 yes) AC_DEFINE([USE_TIMER_CREATE], 1,
129 [Define to 1 if we can use timer_create(CLOCK_REALTIME,...)]);;
135 AC_DEFUN([RB_CHECK_TIMERFD_CREATE],
136 [AC_CACHE_CHECK([for a working timerfd_create(CLOCK_REALTIME)],
137 [rb__cv_timerfd_create_works],
148 #ifdef HAVE_SYS_TIMERFD_H
149 #include <sys/timerfd.h>
151 int main(int argc, char *argv[])
153 #if defined(HAVE_TIMERFD_CREATE) && defined(HAVE_SYS_TIMERFD_H)
154 if (timerfd_create(CLOCK_REALTIME, 0) < 0) {
163 [rb__cv_timerfd_create_works=yes],
164 [rb__cv_timerfd_create_works=no],
165 [rb__cv_timerfd_create_works=no])
167 case $rb__cv_timerfd_create_works in
168 yes) AC_DEFINE([USE_TIMERFD_CREATE], 1,
169 [Define to 1 if we can use timerfd_create(CLOCK_REALTIME,...)]);;