# # $Author: misho $ # $Id: configure.in,v 1.53 2023/08/17 14:14:24 misho Exp $ # AC_INIT(libaitsched, 7.7, misho@elwix.org) AC_CONFIG_SRCDIR([src/aitsched.c]) AC_CONFIG_HEADERS([inc/config.h]) ac_cv_func_malloc_0_nonnull="yes" ac_cv_func_realloc_0_nonnull="yes" # Checks for programs. AC_PROG_CC AC_PROG_INSTALL AC_PROG_RANLIB AC_CANONICAL_HOST AC_CANONICAL_TARGET AC_CHECK_TOOL(MKDEP, mkdep, ../mkdep) AC_SUBST(MKDEP) CFLAGS="-Wall -O2 -fPIC ${CFLAGS}" LDFLAGS="${LDFLAGS}" # Checks for libraries. AC_CHECK_LIB([pthread], [pthread_create]) AC_CHECK_LIB([rt], [aio_read]) AC_CHECK_LIB([bsd], [strlcpy]) # Checks for header files. AC_CHECK_HEADERS([stdint.h stdlib.h string.h sys/time.h unistd.h]) AC_CHECK_HEADERS([bsd/string.h]) # Checks for typedefs, structures, and compiler characteristics. AC_C_INLINE AC_TYPE_SIZE_T # Checks for library functions. AC_FUNC_MALLOC AC_CHECK_FUNCS([clock_gettime memset strerror timer_create timer_settime timer_delete strlcat strlcpy]) DEBUG=no AC_MSG_CHECKING(Debug Build) AC_ARG_ENABLE(debug, [ --enable-debug Build library with debug information and additional messages], [ DEBUG=$enableval case "$enableval" in yes) AC_DEFINE(__DEBUG,, [Build libraries with debug information and additional messages]) CFLAGS="-g ${CFLAGS}" ;; *) AC_DEFINE(NDEBUG,, [Turn off debug asserts]) ;; esac ], AC_DEFINE(NDEBUG,, [Turn off debug asserts])) AC_MSG_RESULT($DEBUG) AIO=no AC_MSG_CHECKING(AIO Builtin support) AC_ARG_ENABLE(aio, [ --enable-aio Build scheduler library with AIO operations ], [ AIO=$enableval case "$enableval" in yes) AC_DEFINE(AIO_SUPPORT,, [Build scheduler library with AIO operations]) ;; *) ;; esac ],) AC_MSG_RESULT($AIO) AC_DEFINE(NO_SUPPORT, 0, [select support]) AC_DEFINE(KQ_SUPPORT, 1, [kqueue support]) AC_DEFINE(EP_SUPPORT, 2, [epoll support]) AC_DEFINE(SUP_ENABLE, KQ_SUPPORT, [support type]) EPSUP=no AC_MSG_CHECKING(epoll support) AC_ARG_ENABLE(epoll, [ --enable-epoll Enable epoll support (only under Linux) ], [ EPSUP=$enableval case "$enableval" in yes) AC_DEFINE(SUP_ENABLE, EP_SUPPORT, [support type]) KQSUP=no ;; *) KQSUP=yes ;; esac ], [ KQSUP=yes ]) AC_MSG_RESULT($EPSUP) AC_MSG_CHECKING(kqueue support) AC_ARG_ENABLE(kqueue, [ --disable-kqueue Disable kqueue support ], [ KQSUP=$enableval case "$enableval" in no) AC_DEFINE(SUP_ENABLE, NO_SUPPORT, [support type]) ;; *) ;; esac ], ) AC_MSG_RESULT($KQSUP) KQ_EVENTS=24 AC_MSG_CHECKING(How many kqueue events can scheduling at one time) AC_ARG_WITH(kq_events, [ --with-kq_events Set how many kqueue events can scheduling at one time ], [ KQ_EVENTS=$withval ], KQ_EVENTS=32) AC_DEFINE_UNQUOTED(KQ_EVENTS, $KQ_EVENTS, [ How many kqueue events can scheduling at one time ]) AC_MSG_RESULT($KQ_EVENTS) ELWIX=no AC_MSG_CHECKING(With libelwix Build) AC_ARG_WITH(elwix, [ --with-elwix Build library with libelwix memory managemant], [ ELWIX=$withval case "$withval" in yes) AC_DEFINE(__ELWIX,, [Build libraries with libelwix memory managemant]) CFLAGS="-g ${CFLAGS}" LIBS="${LIBS} -lelwix" ;; *) ;; esac ],) AC_MSG_RESULT($ELWIX) AC_CONFIG_FILES([Makefile inc/Makefile lib/Makefile src/Makefile]) AC_OUTPUT()