#
# $Author: misho $
# $Id: configure.in,v 1.59.2.2 2024/08/19 15:43:52 misho Exp $
#
AC_INIT(libaitsched, 8.4, 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)
if test "${ac_cv_env_CFLAGS_set}" != "set"; then
CFLAGS="-Wall -O2"
else
CFLAGS="${ac_cv_env_CFLAGS_value}"
fi
if test "${ac_cv_env_LDFLAGS_set}" = "set"; then
LDFLAGS="${ac_cv_env_LDFLAGS_value}"
fi
# 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])
LIBS="${LIBS} -lelwix"
;;
*)
;;
esac ],)
AC_MSG_RESULT($ELWIX)
DEBIAN_ARCH=$target_cpu
AS_IF([ test "x$target_cpu" = "xarm6l" -o "x$target_cpu" = "xarm7l" ], DEBIAN_ARCH="armhf")
AS_IF([ test "x$target_cpu" = "xaarch64" ], DEBIAN_ARCH="arm64")
AS_IF([ test "x$target_cpu" = "xi686" ], DEBIAN_ARCH="i386")
AS_IF([ test "x$target_cpu" = "xx86_64" ], DEBIAN_ARCH="amd64")
AC_SUBST(DEBIAN_ARCH)
AC_CONFIG_FILES([Makefile
inc/Makefile
lib/Makefile
debian/Makefile
debian/control
src/Makefile])
AC_OUTPUT()
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>