#
# $Author: misho $
# $Id: configure.in,v 1.71 2024/08/14 16:07:14 misho Exp $
#
AC_INIT(libelwix, 6.0, misho@elwix.org)
AC_CONFIG_SRCDIR([src/elwix.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}"
AC_CHECK_LIB([pthread], [pthread_mutex_init])
# Checks for header files.
AC_CHECK_HEADERS([stdlib.h string.h sys/ioctl.h termios.h unistd.h])
# Checks for typedefs, structures, and compiler characteristics.
AC_C_INLINE
# Checks for library functions.
AC_FUNC_MALLOC
AC_FUNC_REALLOC
AC_CHECK_FUNCS([memset regcomp strchr strerror link_addr strlcpy strlcat])
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)
CFLAGS="-g ${CFLAGS}"
;;
*)
AC_DEFINE(NDEBUG,, [Build w/o assert() support])
;;
esac ],)
AC_MSG_RESULT($DEBUG)
MEMMGR="elwix"
AC_MSG_CHECKING(Memory management)
AC_ARG_WITH(memmgr,
[ --with-memmgr=<mm> Memory manager for ELWIX (elwix|system)],
[ case "$withval" in
sys|system)
MEMMGR="system"
AC_DEFINE(MEMMGR, ELWIX_SYSM, [ELWIX memory manager])
;;
*)
MEMMGR="elwix"
AC_DEFINE(MEMMGR, ELWIX_MPOOL, [ELWIX memory manager])
;;
esac ], AC_DEFINE(MEMMGR, ELWIX_MPOOL, [ELWIX memory manager]))
AC_MSG_RESULT($MEMMGR)
MPOOL_MEM_ZERO=no
AC_MSG_CHECKING(MPoll zeroing allocated memory)
AC_ARG_ENABLE(mpool-mem-zero,
[ --enable-mpool-mem-zero MPool zeroing allocated memory],
[ case "$enableval" in
yes)
AC_DEFINE(MPOOL_MEM_ZERO,, [MPool zeroing memory])
MPOOL_MEM_ZERO=yes
;;
*)
MPOOL_MEM_ZERO=no
;;
esac ],)
AC_MSG_RESULT($MPOOL_MEM_ZERO)
PATRICIA=no
AC_MSG_CHECKING(Patricia support)
AC_ARG_ENABLE(patricia,
[ --enable-patricia Patricia support for ELWIX],
[ case "$enableval" in
yes)
AC_DEFINE(PATRICIA_SUPPORT,, [Patricia support])
PATRICIA=yes
;;
*)
;;
esac ],)
AC_MSG_RESULT($PATRICIA)
PELCO=no
AC_MSG_CHECKING(Pelco support)
AC_ARG_ENABLE(pelco,
[ --enable-pelco Pelco support for ELWIX],
[ case "$enableval" in
yes)
AC_DEFINE(PELCO_SUPPORT,, [Pelco support])
PELCO=yes
;;
*)
;;
esac ],)
AC_MSG_RESULT($PELCO)
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>