X-Git-Url: https://jfr.im/git/irc/rqf/shadowircd.git/blobdiff_plain/b57f37fb6a4d30ac9aaba3bbca06f5a3307c804a..255130dde8eed921fea4b23786a5743fbd50cbda:/libratbox/acinclude.m4 diff --git a/libratbox/acinclude.m4 b/libratbox/acinclude.m4 index 3caeaca..4a0c6e1 100644 --- a/libratbox/acinclude.m4 +++ b/libratbox/acinclude.m4 @@ -22,84 +22,6 @@ AC_DEFUN([AC_SUBST_DIR], [ ]) -# RB_TYPE_INTMAX_T -# ----------------- -AC_DEFUN([RB_TYPE_INTMAX_T], -[ - AC_REQUIRE([AC_TYPE_LONG_LONG_INT]) - AC_CHECK_TYPE([intmax_t], - [AC_DEFINE([HAVE_INTMAX_T], 1, - [Define to 1 if the system has the type `intmax_t'.]) ac_cv_c_intmax_t=yes], - [test $ac_cv_type_long_long_int = yes \ - && ac_type='long long int' \ - || ac_type='long int' - AC_DEFINE_UNQUOTED([intmax_t], [$ac_type], - [Define to the widest signed integer type - if and do not define.]) ac_cv_c_intmax_t="$ac_type"]) -]) - - -# RB_TYPE_UINTMAX_T -# ----------------- -AC_DEFUN([RB_TYPE_UINTMAX_T], -[ - AC_REQUIRE([AC_TYPE_UNSIGNED_LONG_LONG_INT]) - AC_CHECK_TYPE([uintmax_t], - [AC_DEFINE([HAVE_UINTMAX_T], 1, - [Define to 1 if the system has the type `uintmax_t'.]) ac_cv_c_uintmax_t=yes], - [test $ac_cv_type_unsigned_long_long_int = yes \ - && ac_type='unsigned long long int' \ - || ac_type='unsigned long int' - AC_DEFINE_UNQUOTED([uintmax_t], [$ac_type], - [Define to the widest unsigned integer type - if and do not define.]) ac_cv_c_uintmax_t="$ac_type"]) -]) - - -# RB_TYPE_INTPTR_T -# ----------------- -AC_DEFUN([RB_TYPE_INTPTR_T], -[ - AC_CHECK_TYPE([intptr_t], - [AC_DEFINE([HAVE_INTPTR_T], 1, - [Define to 1 if the system has the type `intptr_t'.]) ac_cv_c_intptr_t=yes], - [for ac_type in 'int' 'long int' 'long long int'; do - AC_COMPILE_IFELSE( - [AC_LANG_BOOL_COMPILE_TRY( - [AC_INCLUDES_DEFAULT], - [[sizeof (void *) <= sizeof ($ac_type)]])], - [AC_DEFINE_UNQUOTED([intptr_t], [$ac_type], - [Define to the type of a signed integer type wide enough to - hold a pointer, if such a type exists, and if the system - does not define it.]) ac_cv_c_intptr_t="$ac_type" - ac_type=]) - test -z "$ac_type" && break - done]) -]) - - -# RB_TYPE_UINTPTR_T -# ----------------- -AC_DEFUN([RB_TYPE_UINTPTR_T], -[ - AC_CHECK_TYPE([uintptr_t], - [AC_DEFINE([HAVE_UINTPTR_T], 1, - [Define to 1 if the system has the type `uintptr_t'.]) ac_cv_c_uintptr_t=yes], - [for ac_type in 'unsigned int' 'unsigned long int' \ - 'unsigned long long int'; do - AC_COMPILE_IFELSE( - [AC_LANG_BOOL_COMPILE_TRY( - [AC_INCLUDES_DEFAULT], - [[sizeof (void *) <= sizeof ($ac_type)]])], - [AC_DEFINE_UNQUOTED([uintptr_t], [$ac_type], - [Define to the type of an unsigned integer type wide enough to - hold a pointer, if such a type exists, and if the system - does not define it.]) ac_cv_c_uintptr_t="$ac_type" - ac_type=]) - test -z "$ac_type" && break - done]) -]) - dnl IPv6 support macros..pretty much swiped from wget dnl RB_PROTO_INET6 @@ -189,3 +111,42 @@ case $rb__cv_timer_create_works in esac ]) + + +AC_DEFUN([RB_CHECK_TIMERFD_CREATE], + [AC_CACHE_CHECK([for a working timerfd_create(CLOCK_REALTIME)], + [rb__cv_timerfd_create_works], + [AC_TRY_RUN([ +#ifdef HAVE_TIME_H +#include +#endif +#ifdef HAVE_SIGNAL_H +#include +#endif +#ifdef HAVE_UNISTD_H +#include +#endif +#ifdef HAVE_SYS_TIMERFD_H +#include +#endif +int main(int argc, char *argv[]) +{ +#if defined(HAVE_TIMERFD_CREATE) && defined(HAVE_SYS_TIMERFD_H) + if (timerfd_create(CLOCK_REALTIME, 0) < 0) { + return 1; + } +#else + return 1; +#endif + return 0; +} + ], + [rb__cv_timerfd_create_works=yes], + [rb__cv_timerfd_create_works=no]) + ]) +case $rb__cv_timerfd_create_works in + yes) AC_DEFINE([USE_TIMERFD_CREATE], 1, + [Define to 1 if we can use timerfd_create(CLOCK_REALTIME,...)]);; +esac +]) +